From ec0684bb9fb3135a0e3c79a7067d834f5898d800 Mon Sep 17 00:00:00 2001 From: liuxianghui <519646741@qq.com> Date: Wed, 27 Oct 2021 11:20:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E6=9F=A5=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../institution/facility/all-facility-data.ts | 5 +- .../babylon/model/data/mark/all-mark-data.ts | 3 +- src/app/babylon/model/data/mark/mark-data.ts | 3 +- .../babylon/model/data/mark/mark-plan-data.ts | 3 +- .../data/model-data/model-data-facility.ts | 3 +- .../model/data/model-data/model-edit-data.ts | 3 +- .../building/building-info-environment.ts | 9 +- .../model/info/building/building-info.ts | 10 +- .../babylon/model/info/mark/mark-plan-info.ts | 2 +- .../model/info/mark/model-info-mark.ts | 19 +- .../info/mark/other/mark-plan-area-info.ts | 7 +- .../info/mark/other/mark-plan-line-info.ts | 7 +- .../info/mark/other/mark-plan-multi-arrow.ts | 7 +- .../mark/other/mark-plan-multi-line-info.ts | 7 +- .../mark/other/mark-plan-particle-info.ts | 5 +- .../model/facilityinfo-tool/facility-area.ts | 13 +- .../model/facilityinfo-tool/facility-gd.ts | 11 +- .../model/info/model/model-info-building.ts | 23 +- .../model/info/model/model-info-facility.ts | 12 +- .../babylon/model/info/model/model-info.ts | 7 +- src/app/babylon/tool/load-tool.ts | 5 +- src/assets/js/babylon.ktx2Decoder.js | 1 + .../js/basisTranscoder/basis_transcoder.js | 1 + .../js/basisTranscoder/basis_transcoder.wasm | Bin 0 -> 217809 bytes src/assets/js/draco_decoder_gltf.js | 48 + src/assets/js/draco_decoder_gltf.wasm | Bin 0 -> 194983 bytes src/assets/js/draco_wasm_wrapper_gltf.js | 104 + src/assets/js/gltf_validator.js | 9801 +++++++++++++++++ .../ktx2Transcoders/msc_basis_transcoder.js | 21 + .../ktx2Transcoders/msc_basis_transcoder.wasm | Bin 0 -> 455582 bytes src/assets/js/ktx2Transcoders/uastc_astc.wasm | Bin 0 -> 13147 bytes src/assets/js/ktx2Transcoders/uastc_bc7.wasm | Bin 0 -> 15109 bytes .../js/ktx2Transcoders/uastc_rgba32_srgb.wasm | Bin 0 -> 24551 bytes .../ktx2Transcoders/uastc_rgba32_unorm.wasm | Bin 0 -> 30389 bytes .../materialsLibrary/babylonjs.materials.js | 7574 +++++++++++++ .../serializers/babylonjs.serializers.min.js | 1 + src/assets/js/zstddec.wasm | Bin 0 -> 29232 bytes 37 files changed, 17641 insertions(+), 74 deletions(-) create mode 100644 src/assets/js/babylon.ktx2Decoder.js create mode 100644 src/assets/js/basisTranscoder/basis_transcoder.js create mode 100644 src/assets/js/basisTranscoder/basis_transcoder.wasm create mode 100644 src/assets/js/draco_decoder_gltf.js create mode 100644 src/assets/js/draco_decoder_gltf.wasm create mode 100644 src/assets/js/draco_wasm_wrapper_gltf.js create mode 100644 src/assets/js/gltf_validator.js create mode 100644 src/assets/js/ktx2Transcoders/msc_basis_transcoder.js create mode 100644 src/assets/js/ktx2Transcoders/msc_basis_transcoder.wasm create mode 100644 src/assets/js/ktx2Transcoders/uastc_astc.wasm create mode 100644 src/assets/js/ktx2Transcoders/uastc_bc7.wasm create mode 100644 src/assets/js/ktx2Transcoders/uastc_rgba32_srgb.wasm create mode 100644 src/assets/js/ktx2Transcoders/uastc_rgba32_unorm.wasm create mode 100644 src/assets/js/materialsLibrary/babylonjs.materials.js create mode 100644 src/assets/js/serializers/babylonjs.serializers.min.js create mode 100644 src/assets/js/zstddec.wasm diff --git a/src/app/babylon/model/data/institution/facility/all-facility-data.ts b/src/app/babylon/model/data/institution/facility/all-facility-data.ts index b36aa0a..b6decfa 100644 --- a/src/app/babylon/model/data/institution/facility/all-facility-data.ts +++ b/src/app/babylon/model/data/institution/facility/all-facility-data.ts @@ -1,6 +1,7 @@ import { Type } from 'class-transformer'; -import { ConfigManager } from 'src/assets/babylon/controller/config-manager'; -import { DataManager } from 'src/assets/babylon/controller/data-manager'; +import { ConfigManager } from 'src/app/babylon/controller/config-manager'; +import { DataManager } from 'src/app/babylon/controller/data-manager'; + import { FacilityPosType, FacilityType, ModelData_facility } from '../../model-data/model-data-facility'; import { TransformData } from '../../transform-data'; diff --git a/src/app/babylon/model/data/mark/all-mark-data.ts b/src/app/babylon/model/data/mark/all-mark-data.ts index 05e8c37..e567b20 100644 --- a/src/app/babylon/model/data/mark/all-mark-data.ts +++ b/src/app/babylon/model/data/mark/all-mark-data.ts @@ -5,7 +5,8 @@ import { MarkData, MarkType, MarkKindType, MarkTagPos, MarkTask } from "./mark-d import { MarkData_Line } from "./other/mark-data-line"; import { MarkData_multiLine } from "./other/mark-data-multi-line"; import { MarkData_multiArrow_CT, MarkData_multiArrow_JG } from "./other/mark-data-multi-arrow"; -import { ConfigManager } from "src/assets/babylon/controller/config-manager"; +import { ConfigManager } from "src/app/babylon/controller/config-manager"; + export class AllMarkData { /** diff --git a/src/app/babylon/model/data/mark/mark-data.ts b/src/app/babylon/model/data/mark/mark-data.ts index c2c4363..2d59abd 100644 --- a/src/app/babylon/model/data/mark/mark-data.ts +++ b/src/app/babylon/model/data/mark/mark-data.ts @@ -1,5 +1,6 @@ import { Type } from "class-transformer"; -import { ConfigManager } from "src/assets/babylon/controller/config-manager"; +import { ConfigManager } from "src/app/babylon/controller/config-manager"; + import { ModelData } from "../model-data/model-data"; import { TransformData } from "../transform-data"; diff --git a/src/app/babylon/model/data/mark/mark-plan-data.ts b/src/app/babylon/model/data/mark/mark-plan-data.ts index c24adde..68fb3f9 100644 --- a/src/app/babylon/model/data/mark/mark-plan-data.ts +++ b/src/app/babylon/model/data/mark/mark-plan-data.ts @@ -1,5 +1,6 @@ import { Type } from "class-transformer"; -import { TsTool } from "src/assets/babylon/tool/ts-tool"; +import { TsTool } from "src/app/babylon/tool/ts-tool"; + import { ArcRotateCameraData } from "../camera-data"; import { MarkData } from "./mark-data"; diff --git a/src/app/babylon/model/data/model-data/model-data-facility.ts b/src/app/babylon/model/data/model-data/model-data-facility.ts index 393f3ac..9291fbb 100644 --- a/src/app/babylon/model/data/model-data/model-data-facility.ts +++ b/src/app/babylon/model/data/model-data/model-data-facility.ts @@ -4,7 +4,8 @@ import { PropertyData_Base } from "../institution/facility/property-data/propert import { classToClass, Type } from "class-transformer"; import { Vector3 } from "@babylonjs/core"; -import { DataManager } from "src/assets/babylon/controller/data-manager"; +import { DataManager } from "src/app/babylon/controller/data-manager"; + //设备数据 export class ModelData_facility extends ModelData { diff --git a/src/app/babylon/model/data/model-data/model-edit-data.ts b/src/app/babylon/model/data/model-data/model-edit-data.ts index 526f999..c851a8a 100644 --- a/src/app/babylon/model/data/model-data/model-edit-data.ts +++ b/src/app/babylon/model/data/model-data/model-edit-data.ts @@ -1,5 +1,6 @@ import { Type } from "class-transformer"; -import { TsTool } from "src/assets/babylon/tool/ts-tool"; +import { TsTool } from "src/app/babylon/tool/ts-tool"; + import { ModelData } from "./model-data"; import { FacilityType, ModelData_facility } from "./model-data-facility"; diff --git a/src/app/babylon/model/info/building/building-info-environment.ts b/src/app/babylon/model/info/building/building-info-environment.ts index b62002c..1c4fc67 100644 --- a/src/app/babylon/model/info/building/building-info-environment.ts +++ b/src/app/babylon/model/info/building/building-info-environment.ts @@ -1,8 +1,9 @@ import { TransformNode } from '@babylonjs/core'; -import { BuildingStatus } from 'src/assets/babylon/controller/status/building-status'; -import { IndoorStatus } from 'src/assets/babylon/controller/status/indoor-status'; -import { StatusManager } from 'src/assets/babylon/controller/status/status-manager'; -import { TsTool } from 'src/assets/babylon/tool/ts-tool'; +import { BuildingStatus } from 'src/app/babylon/controller/status/building-status'; +import { IndoorStatus } from 'src/app/babylon/controller/status/indoor-status'; +import { StatusManager } from 'src/app/babylon/controller/status/status-manager'; +import { TsTool } from 'src/app/babylon/tool/ts-tool'; + import { BuildingInfo } from './building-info'; diff --git a/src/app/babylon/model/info/building/building-info.ts b/src/app/babylon/model/info/building/building-info.ts index 2e07bfe..ba9e858 100644 --- a/src/app/babylon/model/info/building/building-info.ts +++ b/src/app/babylon/model/info/building/building-info.ts @@ -1,9 +1,9 @@ import { Vector3 } from "@babylonjs/core"; -import { InfoManager } from "src/assets/babylon/controller/info-manager"; -import { SceneManager } from "src/assets/babylon/controller/scene-manager"; -import { BuildingStatus } from "src/assets/babylon/controller/status/building-status"; -import { StatusManager } from "src/assets/babylon/controller/status/status-manager"; -import { GizmoTool } from "src/assets/babylon/tool/gizmo-tool"; +import { InfoManager } from "src/app/babylon/controller/info-manager"; +import { SceneManager } from "src/app/babylon/controller/scene-manager"; +import { BuildingStatus } from "src/app/babylon/controller/status/building-status"; +import { StatusManager } from "src/app/babylon/controller/status/status-manager"; +import { GizmoTool } from "src/app/babylon/tool/gizmo-tool"; import { BuildingData } from "../../data/institution/building/building-data"; import { TransformData } from "../../data/transform-data"; diff --git a/src/app/babylon/model/info/mark/mark-plan-info.ts b/src/app/babylon/model/info/mark/mark-plan-info.ts index efad785..7ef67bf 100644 --- a/src/app/babylon/model/info/mark/mark-plan-info.ts +++ b/src/app/babylon/model/info/mark/mark-plan-info.ts @@ -1,5 +1,5 @@ -import { TsTool } from "src/assets/babylon/tool/ts-tool"; +import { TsTool } from "src/app/babylon/tool/ts-tool"; import { MarkTagPos, MarkType } from "../../data/mark/mark-data"; import { MarkNodeData, MarkPlanData } from "../../data/mark/mark-plan-data"; import { ModelInfo_mark } from "./model-info-mark"; diff --git a/src/app/babylon/model/info/mark/model-info-mark.ts b/src/app/babylon/model/info/mark/model-info-mark.ts index 9792ce2..7cf1488 100644 --- a/src/app/babylon/model/info/mark/model-info-mark.ts +++ b/src/app/babylon/model/info/mark/model-info-mark.ts @@ -6,15 +6,16 @@ import { Rectangle } from "@babylonjs/gui/2D/controls/rectangle"; import { TextBlock, TextWrapping } from "@babylonjs/gui/2D/controls/textBlock"; import { Vector2WithInfo } from "@babylonjs/gui/2D/math2D"; import { classToClass } from "class-transformer"; -import { ConfigManager } from "src/assets/babylon/controller/config-manager"; -import { MarkInfoChangeType, Event_MarkInfoChange } from "src/assets/babylon/controller/event-manager/events/event-mark-info-change"; -import { SceneManager } from "src/assets/babylon/controller/scene-manager"; -import { UIManager } from "src/assets/babylon/controller/ui-manager"; -import { BabylonTool } from "src/assets/babylon/tool/babylon-tool"; -import { BabylonUIStyleTool } from "src/assets/babylon/tool/babylon-ui-style-tool"; -import { ParticleSystemTool } from "src/assets/babylon/tool/particle-system-tool"; -import { TsTool } from "src/assets/babylon/tool/ts-tool"; -import { MarkWindow } from "src/assets/babylon/view/mark-window/mark-window"; +import { ConfigManager } from "src/app/babylon/controller/config-manager"; +import { MarkInfoChangeType, Event_MarkInfoChange } from "src/app/babylon/controller/event-manager/events/event-mark-info-change"; +import { SceneManager } from "src/app/babylon/controller/scene-manager"; +import { UIManager } from "src/app/babylon/controller/ui-manager"; +import { BabylonTool } from "src/app/babylon/tool/babylon-tool"; +import { BabylonUIStyleTool } from "src/app/babylon/tool/babylon-ui-style-tool"; +import { ParticleSystemTool } from "src/app/babylon/tool/particle-system-tool"; +import { TsTool } from "src/app/babylon/tool/ts-tool"; +import { MarkWindow } from "src/app/babylon/view/mark-window/mark-window"; + import { ChildNodeData, MarkData, MarkTask, MarkType } from "../../data/mark/mark-data"; import { BuildingInfo } from "../building/building-info"; import { ModelInfo } from "../model/model-info"; diff --git a/src/app/babylon/model/info/mark/other/mark-plan-area-info.ts b/src/app/babylon/model/info/mark/other/mark-plan-area-info.ts index 6923823..af38dfa 100644 --- a/src/app/babylon/model/info/mark/other/mark-plan-area-info.ts +++ b/src/app/babylon/model/info/mark/other/mark-plan-area-info.ts @@ -1,9 +1,10 @@ import { AbstractMesh, Color3, Material, Mesh, MeshBuilder, PointerDragBehavior, PolygonMeshBuilder, Vector2, Vector3 } from "@babylonjs/core"; import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial"; import { classToClass, plainToClass } from "class-transformer"; -import { SceneManager } from "src/assets/babylon/controller/scene-manager"; -import { BabylonTool } from "src/assets/babylon/tool/babylon-tool"; -import { MarkWindow } from "src/assets/babylon/view/mark-window/mark-window"; +import { SceneManager } from "src/app/babylon/controller/scene-manager"; +import { BabylonTool } from "src/app/babylon/tool/babylon-tool"; +import { MarkWindow } from "src/app/babylon/view/mark-window/mark-window"; + import { MarkData, MarkType } from "../../../data/mark/mark-data"; import { MarkData_Area } from "../../../data/mark/other/mark-data-area"; diff --git a/src/app/babylon/model/info/mark/other/mark-plan-line-info.ts b/src/app/babylon/model/info/mark/other/mark-plan-line-info.ts index 7ecd405..ccff6c3 100644 --- a/src/app/babylon/model/info/mark/other/mark-plan-line-info.ts +++ b/src/app/babylon/model/info/mark/other/mark-plan-line-info.ts @@ -1,9 +1,10 @@ import { Color3, EventState, Mesh, MeshBuilder, Observer, PointerEventTypes, PointerInfo, Scene, StandardMaterial, Vector3 } from "@babylonjs/core"; import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh"; import { classToClass, plainToClass } from "class-transformer"; -import { SceneManager } from "src/assets/babylon/controller/scene-manager"; -import { BabylonTool } from "src/assets/babylon/tool/babylon-tool"; -import { MarkWindow } from "src/assets/babylon/view/mark-window/mark-window"; +import { SceneManager } from "src/app/babylon/controller/scene-manager"; +import { BabylonTool } from "src/app/babylon/tool/babylon-tool"; +import { MarkWindow } from "src/app/babylon/view/mark-window/mark-window"; + import { MarkData } from "../../../data/mark/mark-data"; import { MarkData_Line } from "../../../data/mark/other/mark-data-line"; diff --git a/src/app/babylon/model/info/mark/other/mark-plan-multi-arrow.ts b/src/app/babylon/model/info/mark/other/mark-plan-multi-arrow.ts index 80b2a9e..493e566 100644 --- a/src/app/babylon/model/info/mark/other/mark-plan-multi-arrow.ts +++ b/src/app/babylon/model/info/mark/other/mark-plan-multi-arrow.ts @@ -5,9 +5,10 @@ import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh"; import { Mesh } from "@babylonjs/core/Meshes/mesh"; import { EventState, Observer } from "@babylonjs/core/Misc/observable"; import { classToClass, plainToClass } from "class-transformer"; -import { SceneManager } from "src/assets/babylon/controller/scene-manager"; -import { BabylonTool } from "src/assets/babylon/tool/babylon-tool"; -import { MarkWindow } from "src/assets/babylon/view/mark-window/mark-window"; +import { SceneManager } from "src/app/babylon/controller/scene-manager"; +import { BabylonTool } from "src/app/babylon/tool/babylon-tool"; +import { MarkWindow } from "src/app/babylon/view/mark-window/mark-window"; + import { MarkData, MarkType } from "../../../data/mark/mark-data"; import { MarkData_multiArrow } from "../../../data/mark/other/mark-data-multi-arrow"; diff --git a/src/app/babylon/model/info/mark/other/mark-plan-multi-line-info.ts b/src/app/babylon/model/info/mark/other/mark-plan-multi-line-info.ts index 398c118..bd7c152 100644 --- a/src/app/babylon/model/info/mark/other/mark-plan-multi-line-info.ts +++ b/src/app/babylon/model/info/mark/other/mark-plan-multi-line-info.ts @@ -5,9 +5,10 @@ import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh"; import { Mesh } from "@babylonjs/core/Meshes/mesh"; import { EventState, Observer } from "@babylonjs/core/Misc/observable"; import { classToClass, plainToClass } from "class-transformer"; -import { SceneManager } from "src/assets/babylon/controller/scene-manager"; -import { BabylonTool } from "src/assets/babylon/tool/babylon-tool"; -import { MarkWindow } from "src/assets/babylon/view/mark-window/mark-window"; +import { SceneManager } from "src/app/babylon/controller/scene-manager"; +import { BabylonTool } from "src/app/babylon/tool/babylon-tool"; +import { MarkWindow } from "src/app/babylon/view/mark-window/mark-window"; + import { MarkData } from "../../../data/mark/mark-data"; import { MarkData_multiLine } from "../../../data/mark/other/mark-data-multi-line"; diff --git a/src/app/babylon/model/info/mark/other/mark-plan-particle-info.ts b/src/app/babylon/model/info/mark/other/mark-plan-particle-info.ts index 1844c97..0a1a9ce 100644 --- a/src/app/babylon/model/info/mark/other/mark-plan-particle-info.ts +++ b/src/app/babylon/model/info/mark/other/mark-plan-particle-info.ts @@ -1,8 +1,9 @@ import { Mesh, ParticleSystem, ParticleSystemSet, Vector3 } from "@babylonjs/core"; import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh"; import { classToClass } from "class-transformer"; -import { BabylonTool } from "src/assets/babylon/tool/babylon-tool"; -import { ParticleSystemTool } from "src/assets/babylon/tool/particle-system-tool"; +import { BabylonTool } from "src/app/babylon/tool/babylon-tool"; +import { ParticleSystemTool } from "src/app/babylon/tool/particle-system-tool"; + import { MarkType, MarkData } from "../../../data/mark/mark-data"; import { ModelInfo_mark } from "../model-info-mark"; diff --git a/src/app/babylon/model/info/model/facilityinfo-tool/facility-area.ts b/src/app/babylon/model/info/model/facilityinfo-tool/facility-area.ts index 990070f..6d1184a 100644 --- a/src/app/babylon/model/info/model/facilityinfo-tool/facility-area.ts +++ b/src/app/babylon/model/info/model/facilityinfo-tool/facility-area.ts @@ -5,13 +5,14 @@ import { Button, Vector2WithInfo } from "@babylonjs/gui"; import { ModelInfo_facility } from "../model-info-facility"; import * as earcut from "earcut"; -import { ModeManager, ModeType } from "src/assets/babylon/controller/mode-manager"; -import { SceneManager } from "src/assets/babylon/controller/scene-manager"; -import { UIManager } from "src/assets/babylon/controller/ui-manager"; -import { BabylonUIStyleTool } from "src/assets/babylon/tool/babylon-ui-style-tool"; -import { GizmoTool } from "src/assets/babylon/tool/gizmo-tool"; -import { PosPointTool } from "src/assets/babylon/tool/pos-point-tool"; + import { FacilityType, ModelData_facility } from "../../../data/model-data/model-data-facility"; +import { ModeManager, ModeType } from "src/app/babylon/controller/mode-manager"; +import { SceneManager } from "src/app/babylon/controller/scene-manager"; +import { UIManager } from "src/app/babylon/controller/ui-manager"; +import { BabylonUIStyleTool } from "src/app/babylon/tool/babylon-ui-style-tool"; +import { GizmoTool } from "src/app/babylon/tool/gizmo-tool"; +import { PosPointTool } from "src/app/babylon/tool/pos-point-tool"; (window as any).earcut = earcut; diff --git a/src/app/babylon/model/info/model/facilityinfo-tool/facility-gd.ts b/src/app/babylon/model/info/model/facilityinfo-tool/facility-gd.ts index a8e6bae..9037f0a 100644 --- a/src/app/babylon/model/info/model/facilityinfo-tool/facility-gd.ts +++ b/src/app/babylon/model/info/model/facilityinfo-tool/facility-gd.ts @@ -3,11 +3,12 @@ import { AbstractMesh, MeshBuilder, Color3, Vector3, Mesh, Observer, Scene, Vector2 } from "@babylonjs/core"; import { Control, Button } from "@babylonjs/gui"; import { GridMaterial } from "@babylonjs/materials"; -import { ModeManager, ModeType } from "src/assets/babylon/controller/mode-manager"; -import { SceneManager } from "src/assets/babylon/controller/scene-manager"; -import { UIManager } from "src/assets/babylon/controller/ui-manager"; -import { BabylonUIStyleTool, UI_LineInfo } from "src/assets/babylon/tool/babylon-ui-style-tool"; -import { GizmoTool, TransformUIType } from "src/assets/babylon/tool/gizmo-tool"; +import { ModeManager, ModeType } from "src/app/babylon/controller/mode-manager"; +import { SceneManager } from "src/app/babylon/controller/scene-manager"; +import { UIManager } from "src/app/babylon/controller/ui-manager"; +import { BabylonUIStyleTool, UI_LineInfo } from "src/app/babylon/tool/babylon-ui-style-tool"; +import { GizmoTool, TransformUIType } from "src/app/babylon/tool/gizmo-tool"; + import { PropertyData_GD } from "../../../data/institution/facility/property-data/outdoor/property-data-gd"; import { ModelData_facility } from "../../../data/model-data/model-data-facility"; diff --git a/src/app/babylon/model/info/model/model-info-building.ts b/src/app/babylon/model/info/model/model-info-building.ts index 01ea2fb..5ca3014 100644 --- a/src/app/babylon/model/info/model/model-info-building.ts +++ b/src/app/babylon/model/info/model/model-info-building.ts @@ -1,16 +1,17 @@ import { Observer, Scene, TransformNode } from "@babylonjs/core"; import { Button, Rectangle } from "@babylonjs/gui"; -import { ModelChangeType } from "src/assets/babylon/controller/data-manager"; -import { Event_ModelInfoChange } from "src/assets/babylon/controller/event-manager/events/event-modelinfo-change"; -import { InfoManager } from "src/assets/babylon/controller/info-manager"; -import { ModeManager, ModeType } from "src/assets/babylon/controller/mode-manager"; -import { SceneManager } from "src/assets/babylon/controller/scene-manager"; -import { BuildingStatus } from "src/assets/babylon/controller/status/building-status"; -import { IndoorStatus } from "src/assets/babylon/controller/status/indoor-status"; -import { StatusManager } from "src/assets/babylon/controller/status/status-manager"; -import { BabylonUIStyleTool } from "src/assets/babylon/tool/babylon-ui-style-tool"; -import { GizmoTool } from "src/assets/babylon/tool/gizmo-tool"; -import { TsTool } from "src/assets/babylon/tool/ts-tool"; +import { ModelChangeType } from "src/app/babylon/controller/data-manager"; +import { Event_ModelInfoChange } from "src/app/babylon/controller/event-manager/events/event-modelinfo-change"; +import { InfoManager } from "src/app/babylon/controller/info-manager"; +import { ModeManager, ModeType } from "src/app/babylon/controller/mode-manager"; +import { SceneManager } from "src/app/babylon/controller/scene-manager"; +import { BuildingStatus } from "src/app/babylon/controller/status/building-status"; +import { IndoorStatus } from "src/app/babylon/controller/status/indoor-status"; +import { StatusManager } from "src/app/babylon/controller/status/status-manager"; +import { BabylonUIStyleTool } from "src/app/babylon/tool/babylon-ui-style-tool"; +import { GizmoTool } from "src/app/babylon/tool/gizmo-tool"; +import { TsTool } from "src/app/babylon/tool/ts-tool"; + import { BuildingType } from "../../data/institution/building/building-data"; import { ModelInfo_mark } from "../mark/model-info-mark"; diff --git a/src/app/babylon/model/info/model/model-info-facility.ts b/src/app/babylon/model/info/model/model-info-facility.ts index c62ca80..7da26c3 100644 --- a/src/app/babylon/model/info/model/model-info-facility.ts +++ b/src/app/babylon/model/info/model/model-info-facility.ts @@ -1,11 +1,11 @@ import { AbstractMesh, EventState } from "@babylonjs/core"; import { Button, Control, Ellipse, Rectangle, Vector2WithInfo } from "@babylonjs/gui"; -import { ConfigManager } from "src/assets/babylon/controller/config-manager"; -import { SceneManager } from "src/assets/babylon/controller/scene-manager"; -import { BabylonUIStyleTool } from "src/assets/babylon/tool/babylon-ui-style-tool"; -import { FacilityWindow } from "src/assets/babylon/view/facility-window/facility-window"; -import { FacilityInfoInSceneWindow } from "src/assets/babylon/view/facilityinfoinscene-window/facilityinfoinscene-window"; -import { PropertyBaseWindow } from "src/assets/babylon/view/property-window/property-base-window"; +import { ConfigManager } from "src/app/babylon/controller/config-manager"; +import { SceneManager } from "src/app/babylon/controller/scene-manager"; +import { BabylonUIStyleTool } from "src/app/babylon/tool/babylon-ui-style-tool"; +import { FacilityWindow } from "src/app/babylon/view/facility-window/facility-window"; +import { FacilityInfoInSceneWindow } from "src/app/babylon/view/facilityinfoinscene-window/facilityinfoinscene-window"; +import { PropertyBaseWindow } from "src/app/babylon/view/property-window/property-base-window"; import { ModelData } from "../../data/model-data/model-data"; import { FacilityShowType, FacilityType, ModelData_facility } from "../../data/model-data/model-data-facility"; import { BuildingInfo } from "../building/building-info"; diff --git a/src/app/babylon/model/info/model/model-info.ts b/src/app/babylon/model/info/model/model-info.ts index 9421c39..5f3ee40 100644 --- a/src/app/babylon/model/info/model/model-info.ts +++ b/src/app/babylon/model/info/model/model-info.ts @@ -11,9 +11,10 @@ import { } from '@babylonjs/core'; import { Button, Rectangle, Vector2WithInfo } from '@babylonjs/gui'; import { classToClass } from 'class-transformer'; -import { UIManager } from 'src/assets/babylon/controller/ui-manager'; -import { BabylonTool } from 'src/assets/babylon/tool/babylon-tool'; -import { GizmoTool } from 'src/assets/babylon/tool/gizmo-tool'; +import { UIManager } from 'src/app/babylon/controller/ui-manager'; +import { BabylonTool } from 'src/app/babylon/tool/babylon-tool'; +import { GizmoTool } from 'src/app/babylon/tool/gizmo-tool'; + import { ModelData } from '../../data/model-data/model-data'; diff --git a/src/app/babylon/tool/load-tool.ts b/src/app/babylon/tool/load-tool.ts index e73417b..d135607 100644 --- a/src/app/babylon/tool/load-tool.ts +++ b/src/app/babylon/tool/load-tool.ts @@ -1,4 +1,3 @@ -import { ThreeDimensionalHomeComponent } from "src/app/gis/three-dimensional-home/three-dimensional-home.component"; /** * 加载管理器 @@ -51,7 +50,7 @@ export class LoadTool { */ static onStart() { console.log("开始加载"); - ThreeDimensionalHomeComponent.instance.maskLayerService.sendMessage(true) + //ThreeDimensionalHomeComponent.instance.maskLayerService.sendMessage(true) } /** @@ -59,7 +58,7 @@ export class LoadTool { */ static onEnd() { console.log("结束加载"); - ThreeDimensionalHomeComponent.instance.maskLayerService.sendMessage(false) + //ThreeDimensionalHomeComponent.instance.maskLayerService.sendMessage(false) } } \ No newline at end of file diff --git a/src/assets/js/babylon.ktx2Decoder.js b/src/assets/js/babylon.ktx2Decoder.js new file mode 100644 index 0000000..7e58c3b --- /dev/null +++ b/src/assets/js/babylon.ktx2Decoder.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.KTX2DECODER=t():e.KTX2DECODER=t()}("undefined"!=typeof self?self:"undefined"!=typeof global?global:this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/dist/",r(r.s=1)}([function(e,t,r){"use strict";r.d(t,"b",(function(){return C})),r.d(t,"j",(function(){return i})),r.d(t,"c",(function(){return u})),r.d(t,"o",(function(){return n})),r.d(t,"p",(function(){return a})),r.d(t,"k",(function(){return s})),r.d(t,"l",(function(){return c})),r.d(t,"m",(function(){return d})),r.d(t,"n",(function(){return U})),r.d(t,"a",(function(){return o})),r.d(t,"d",(function(){return m})),r.d(t,"e",(function(){return _})),r.d(t,"f",(function(){return g})),r.d(t,"h",(function(){return b})),r.d(t,"g",(function(){return B})),r.d(t,"i",(function(){return T}));var n,a,o=function(){function e(e,t,r){e.buffer?this._dataView=new DataView(e.buffer,e.byteOffset+(null!=t?t:0),null!=r?r:e.byteLength):this._dataView=new DataView(e,null!=t?t:0,null!=r?r:e.byteLength),this._dataByteOffset=0}return Object.defineProperty(e.prototype,"byteOffset",{get:function(){return this._dataByteOffset},enumerable:!1,configurable:!0}),e.prototype.readUint8=function(){var e=this._dataView.getUint8(this._dataByteOffset);return this._dataByteOffset+=1,e},e.prototype.readInt8=function(){var e=this._dataView.getInt8(this._dataByteOffset);return this._dataByteOffset+=1,e},e.prototype.readUint16=function(){var e=this._dataView.getUint16(this._dataByteOffset,!0);return this._dataByteOffset+=2,e},e.prototype.readInt16=function(){var e=this._dataView.getInt16(this._dataByteOffset,!0);return this._dataByteOffset+=2,e},e.prototype.readUint32=function(){var e=this._dataView.getUint32(this._dataByteOffset,!0);return this._dataByteOffset+=4,e},e.prototype.readInt32=function(){var e=this._dataView.getInt32(this._dataByteOffset,!0);return this._dataByteOffset+=4,e},e.prototype.readUint64=function(){var e=this._dataView.getUint32(this._dataByteOffset,!0),t=this._dataView.getUint32(this._dataByteOffset+4,!0),r=e+Math.pow(2,32)*t;return this._dataByteOffset+=8,r},e.prototype.readUint8Array=function(e){var t=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._dataByteOffset,e);return this._dataByteOffset+=e,t},e.prototype.skipBytes=function(e){return this._dataByteOffset+=e,this},e}();!function(e){e[e.ETC1S=0]="ETC1S",e[e.UASTC4x4=1]="UASTC4x4"}(n||(n={})),function(e){e[e.ASTC_4x4_RGBA=0]="ASTC_4x4_RGBA",e[e.BC7_RGBA=1]="BC7_RGBA",e[e.BC3_RGBA=2]="BC3_RGBA",e[e.BC1_RGB=3]="BC1_RGB",e[e.PVRTC1_4_RGBA=4]="PVRTC1_4_RGBA",e[e.PVRTC1_4_RGB=5]="PVRTC1_4_RGB",e[e.ETC2_RGBA=6]="ETC2_RGBA",e[e.ETC1_RGB=7]="ETC1_RGB",e[e.RGBA32=8]="RGBA32"}(a||(a={}));var i,s=function(){function e(){}return e.CanTranscode=function(e,t,r){return!1},e.prototype.getName=function(){return e.Name},e.prototype.initialize=function(){},e.prototype.needMemoryManager=function(){return!1},e.prototype.setMemoryManager=function(e){},e.prototype.transcode=function(e,t,r,n,a,o,i,s,u){return Promise.resolve(null)},e.Name="Transcoder",e}();!function(e){e[e.None=0]="None",e[e.BasisLZ=1]="BasisLZ",e[e.ZStandard=2]="ZStandard",e[e.ZLib=3]="ZLib"}(i||(i={}));var u=function(){function e(e){this._data=e}return Object.defineProperty(e.prototype,"data",{get:function(){return this._data},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"header",{get:function(){return this._header},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"levels",{get:function(){return this._levels},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dfdBlock",{get:function(){return this._dfdBlock},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"supercompressionGlobalData",{get:function(){return this._supercompressionGlobalData},enumerable:!1,configurable:!0}),e.prototype.isValid=function(){return e.IsValid(this._data)},e.prototype.parse=function(){var e=12,t=new o(this._data,e,68),r=this._header={vkFormat:t.readUint32(),typeSize:t.readUint32(),pixelWidth:t.readUint32(),pixelHeight:t.readUint32(),pixelDepth:t.readUint32(),layerCount:t.readUint32(),faceCount:t.readUint32(),levelCount:t.readUint32(),supercompressionScheme:t.readUint32(),dfdByteOffset:t.readUint32(),dfdByteLength:t.readUint32(),kvdByteOffset:t.readUint32(),kvdByteLength:t.readUint32(),sgdByteOffset:t.readUint64(),sgdByteLength:t.readUint64()};if(r.pixelDepth>0)throw new Error("Failed to parse KTX2 file - Only 2D textures are currently supported.");if(r.layerCount>1)throw new Error("Failed to parse KTX2 file - Array textures are not currently supported.");if(r.faceCount>1)throw new Error("Failed to parse KTX2 file - Cube textures are not currently supported.");e+=t.byteOffset;for(var n=Math.max(1,r.levelCount),a=new o(this._data,e,3*n*8),i=this._levels=[];n--;)i.push({byteOffset:a.readUint64(),byteLength:a.readUint64(),uncompressedByteLength:a.readUint64()});e+=a.byteOffset;var s=new o(this._data,r.dfdByteOffset,r.dfdByteLength),u=this._dfdBlock={vendorId:s.skipBytes(4).readUint16(),descriptorType:s.readUint16(),versionNumber:s.readUint16(),descriptorBlockSize:s.readUint16(),colorModel:s.readUint8(),colorPrimaries:s.readUint8(),transferFunction:s.readUint8(),flags:s.readUint8(),texelBlockDimension:{x:s.readUint8()+1,y:s.readUint8()+1,z:s.readUint8()+1,w:s.readUint8()+1},bytesPlane:[s.readUint8(),s.readUint8(),s.readUint8(),s.readUint8(),s.readUint8(),s.readUint8(),s.readUint8(),s.readUint8()],numSamples:0,samples:new Array};u.numSamples=(u.descriptorBlockSize-24)/16;for(var d=0;d>4,c.channelType=15&c.channelType,u.samples.push(c)}var f=this._supercompressionGlobalData={};if(r.sgdByteLength>0){var l=new o(this._data,r.sgdByteOffset,r.sgdByteLength);f.endpointCount=l.readUint16(),f.selectorCount=l.readUint16(),f.endpointsByteLength=l.readUint32(),f.selectorsByteLength=l.readUint32(),f.tablesByteLength=l.readUint32(),f.extendedByteLength=l.readUint32(),f.imageDescs=[];var h=this._getImageCount();for(d=0;d>t,1);return Math.max(this._header.layerCount,1)*this._header.faceCount*e},Object.defineProperty(e.prototype,"textureFormat",{get:function(){return 166===this._dfdBlock.colorModel?n.UASTC4x4:n.ETC1S},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasAlpha",{get:function(){switch(this.textureFormat){case n.ETC1S:return 2===this._dfdBlock.numSamples&&(15===this._dfdBlock.samples[0].channelType||15===this._dfdBlock.samples[1].channelType);case n.UASTC4x4:return 3===this._dfdBlock.samples[0].channelType}return!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"needZSTDDecoder",{get:function(){return this._header.supercompressionScheme===i.ZStandard},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isInGammaSpace",{get:function(){return 2===this._dfdBlock.transferFunction},enumerable:!1,configurable:!0}),e.IsValid=function(e){if(e.byteLength>=12){var t=new Uint8Array(e.buffer,e.byteOffset,12);if(171===t[0]&&75===t[1]&&84===t[2]&&88===t[3]&&32===t[4]&&50===t[5]&&48===t[6]&&187===t[7]&&13===t[8]&&10===t[9]&&26===t[10]&&10===t[11])return!0}return!1},e}(),d=function(){function e(t){void 0===t&&(t=e.InitialMemoryPages),this._numPages=t,this._memory=new WebAssembly.Memory({initial:this._numPages}),this._memoryViewByteLength=this._numPages<<16,this._memoryViewOffset=0,this._memoryView=new Uint8Array(this._memory.buffer,this._memoryViewOffset,this._memoryViewByteLength)}return e.LoadWASM=function(e){if(this.LoadBinariesFromCurrentThread)return new Promise((function(t,r){fetch(e).then((function(t){if(t.ok)return t.arrayBuffer();throw new Error('Could not fetch the wasm component from "'+e+'": '+t.status+" - "+t.statusText)})).then((function(e){return t(e)})).catch((function(e){r(e)}))}));var t=this._RequestId++;return new Promise((function(r){var n=function(e){"wasmLoaded"===e.data.action&&e.data.id===t&&(self.removeEventListener("message",n),r(e.data.wasmBinary))};self.addEventListener("message",n),postMessage({action:"loadWASM",path:e,id:t})}))},Object.defineProperty(e.prototype,"wasmMemory",{get:function(){return this._memory},enumerable:!1,configurable:!0}),e.prototype.getMemoryView=function(e,t,r){return void 0===t&&(t=0),r=null!=r?r:e<<16,this._numPages>2)*(t+3>>2);a&&(r=e*(t+3>>2)*4*4);var i=1+(16*o+65535+(this._transcodeInPlace?0:r)>>16),s=this.memoryManager.getMemoryView(i,65536,16*o),u=this._transcodeInPlace?null:new Uint8Array(this._memoryManager.wasmMemory.buffer,65536+16*o,a?e*t*4:r);return s.set(n),[s,u,o]},t}(s),_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.CanTranscode=function(e,t,r){return e===n.UASTC4x4&&t===a.ASTC_4x4_RGBA},t.prototype.getName=function(){return t.Name},t.prototype.initialize=function(){e.prototype.initialize.call(this),this.setModulePath(t.WasmModuleURL)},t.WasmModuleURL="https://preview.babylonjs.com/ktx2Transcoders/uastc_astc.wasm",t.Name="UniversalTranscoder_UASTC_ASTC",t}(m),g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.CanTranscode=function(e,t,r){return e===n.UASTC4x4&&t===a.BC7_RGBA},t.prototype.getName=function(){return t.Name},t.prototype.initialize=function(){e.prototype.initialize.call(this),this.setModulePath(t.WasmModuleURL)},t.WasmModuleURL="https://preview.babylonjs.com/ktx2Transcoders/uastc_bc7.wasm",t.Name="UniversalTranscoder_UASTC_BC7",t}(m),b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.CanTranscode=function(e,t,r){return e===n.UASTC4x4&&t===a.RGBA32&&!r},t.prototype.getName=function(){return t.Name},t.prototype.initialize=function(){e.prototype.initialize.call(this),this._transcodeInPlace=!1,this.setModulePath(t.WasmModuleURL)},t.prototype.transcode=function(e,t,r,n,a,o,i,s,u){var d=this;return this._loadModule().then((function(e){var t=e.module,r=d._prepareTranscoding(n,a,o,u,!0)[1];return 0===t.decodeRGBA32(n,a)?r.slice():null}))},t.WasmModuleURL="https://preview.babylonjs.com/ktx2Transcoders/uastc_rgba32_unorm.wasm",t.Name="UniversalTranscoder_UASTC_RGBA_UNORM",t}(m),B=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.CanTranscode=function(e,t,r){return e===n.UASTC4x4&&t===a.RGBA32&&r},t.prototype.getName=function(){return t.Name},t.prototype.initialize=function(){e.prototype.initialize.call(this),this._transcodeInPlace=!1,this.setModulePath(t.WasmModuleURL)},t.prototype.transcode=function(e,t,r,n,a,o,i,s,u){var d=this;return this._loadModule().then((function(e){var t=e.module,r=d._prepareTranscoding(n,a,o,u,!0)[1];return 0===t.decodeRGBA32(n,a)?r.slice():null}))},t.WasmModuleURL="https://preview.babylonjs.com/ktx2Transcoders/uastc_rgba32_srgb.wasm",t.Name="UniversalTranscoder_UASTC_RGBA_SRGB",t}(m),T=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.prototype.getName=function(){return t.Name},t.prototype._getMSCBasisTranscoder=function(){var e=this;return this._mscBasisTranscoderPromise||(this._mscBasisTranscoderPromise=d.LoadWASM(t.WasmModuleURL).then((function(r){return t.UseFromWorkerThread&&importScripts(t.JSModuleURL),new Promise((function(t){MSC_TRANSCODER({wasmBinary:r}).then((function(r){r.initTranscoders(),e._mscBasisModule=r,t()}))}))}))),this._mscBasisTranscoderPromise},t.CanTranscode=function(e,t,r){return!0},t.prototype.transcode=function(e,t,r,o,i,s,u,d,c){var f=this;return this._getMSCBasisTranscoder().then((function(){var l,h=f._mscBasisModule,p=e===n.UASTC4x4?new h.UastcImageTranscoder:new h.BasisLzEtc1sImageTranscoder,y=e===n.UASTC4x4?h.TextureFormat.UASTC4x4:h.TextureFormat.ETC1S,m=new h.ImageInfo(y,o,i,r),_=h.TranscodeTarget[a[t]];if(!h.isFormatSupported(_,y))throw new Error('MSCTranscoder: Transcoding from "'+n[e]+'" to "'+a[t]+'" not supported by current transcoder build.');if(e===n.ETC1S){var g=u.supercompressionGlobalData;p.decodePalettes(g.endpointCount,g.endpointsData,g.selectorCount,g.selectorsData),p.decodeTables(g.tablesData),m.flags=d.imageFlags,m.rgbByteOffset=0,m.rgbByteLength=d.rgbSliceByteLength,m.alphaByteOffset=d.alphaSliceByteOffset>0?d.rgbSliceByteLength:0,m.alphaByteLength=d.alphaSliceByteLength,l=p.transcodeImage(_,c,m,0,!1)}else m.flags=0,m.rgbByteOffset=0,m.rgbByteLength=s,m.alphaByteOffset=0,m.alphaByteLength=0,l=p.transcodeImage(_,c,m,0,u.hasAlpha,!1);if(l&&void 0!==l.transcodedImage){var b=l.transcodedImage.get_typed_memory_view().slice();return l.transcodedImage.delete(),b}return null}))},t.JSModuleURL="https://preview.babylonjs.com/ktx2Transcoders/msc_basis_transcoder.js",t.WasmModuleURL="https://preview.babylonjs.com/ktx2Transcoders/msc_basis_transcoder.wasm",t.UseFromWorkerThread=!0,t.Name="MSCTranscoder",t}(s),w={env:{emscripten_notify_memory_growth:function(e){y=new Uint8Array(p.exports.memory.buffer)}}},U=function(){function e(){}return e.prototype.init=function(){return h||(h="undefined"!=typeof fetch?fetch(e.WasmModuleURL).then((function(e){if(e.ok)return e.arrayBuffer();throw new Error("Could not fetch the wasm component for the Zstandard decompression lib: "+e.status+" - "+e.statusText)})).then((function(e){return WebAssembly.instantiate(e,w)})).then(this._init):WebAssembly.instantiateStreaming(fetch(e.WasmModuleURL),w).then(this._init))},e.prototype._init=function(e){p=e.instance,w.env.emscripten_notify_memory_growth(0)},e.prototype.decode=function(e,t){if(void 0===t&&(t=0),!p)throw new Error("ZSTDDecoder: Await .init() before decoding.");var r=e.byteLength,n=p.exports.malloc(r);y.set(e,n),t=t||Number(p.exports.ZSTD_findDecompressedSize(n,r));var a=p.exports.malloc(t),o=p.exports.ZSTD_decompress(a,t,n,r),i=y.slice(a,a+o);return p.exports.free(n),p.exports.free(a),i},e.WasmModuleURL="https://preview.babylonjs.com/zstddec.wasm",e}(),v=function(e){return 0==(e&e-1)&&0!==e},C=function(){function e(){this._transcoderMgr=new c}return e.prototype.decode=function(e,t,r){var n=this;return Promise.resolve().then((function(){var a=new u(e);if(!a.isValid())throw new Error("Invalid KT2 file: wrong signature");return a.parse(),a.needZSTDDecoder?(n._zstdDecoder||(n._zstdDecoder=new U),n._zstdDecoder.init().then((function(){return n._decodeData(a,t,r)}))):n._decodeData(a,t,r)}))},e.prototype._decodeData=function(e,t,r){var o=e.header.pixelWidth,s=e.header.pixelHeight,u=e.textureFormat,d=v(o)&&v(s),c=-1,f=-1,l=!0;(null==r?void 0:r.forceRGBA)?(c=a.RGBA32,f=32856,l=!1):t.astc?(c=a.ASTC_4x4_RGBA,f=37808):t.bptc?(c=a.BC7_RGBA,f=36492):(null==r?void 0:r.useRGBAIfASTCBC7NotAvailableWhenUASTC)&&u===n.UASTC4x4?(c=a.RGBA32,f=32856,l=!1):t.s3tc?(c=e.hasAlpha?a.BC3_RGBA:a.BC1_RGB,f=e.hasAlpha?33779:33777):t.pvrtc&&d?(c=e.hasAlpha?a.PVRTC1_4_RGBA:a.PVRTC1_4_RGB,f=e.hasAlpha?35842:35840):t.etc2?(c=e.hasAlpha?a.ETC2_RGBA:a.ETC1_RGB,f=e.hasAlpha?37496:37492):t.etc1?(c=a.ETC1_RGB,f=36196):(c=a.RGBA32,f=32856,l=!1);var h=this._transcoderMgr.findTranscoder(u,c,e.isInGammaSpace,null==r?void 0:r.bypassTranscoders);if(null===h)throw new Error('no transcoder found to transcode source texture format "'+n[u]+'" to format "'+a[c]+'"');for(var p=[],y=[],m={width:0,height:0,transcodedFormat:f,mipmaps:p,isInGammaSpace:e.isInGammaSpace,transcoderName:h.getName()},_=0,g=0;g0&&(_+=Math.max(e.header.layerCount,1)*e.header.faceCount*Math.max(e.header.pixelDepth>>g-1,1));var b=Math.floor(o/(1<>2)*(B+3>>2)*e.dfdBlock.bytesPlane[0],U=e.levels[g].uncompressedByteLength,C=e.data.buffer,A=e.levels[g].byteOffset+e.data.byteOffset,S=0;e.header.supercompressionScheme===i.ZStandard&&(C=this._zstdDecoder.decode(new Uint8Array(C,A,e.levels[g].byteLength),U),A=0),0===g&&(m.width=l?b+3&-4:b,m.height=l?B+3&-4:B);for(var M=function(t){var r=void 0,n=null;e.header.supercompressionScheme===i.BasisLZ?(n=e.supercompressionGlobalData.imageDescs[_+t],r=new Uint8Array(C,A+n.rgbSliceByteOffset,n.rgbSliceByteLength+n.alphaSliceByteLength)):(r=new Uint8Array(C,A+S,w),S+=w);var a={data:null,width:b,height:B},o=h.transcode(u,c,g,b,B,U,e,n,r).then((function(e){return a.data=e,e})).catch((function(e){var t;return m.errors=null!==(t=m.errors)&&void 0!==t?t:"",m.errors+=e+"\n",null}));y.push(o),p.push(a)},O=0;O1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){debugger}};var functionPointers=new Array(0);var tempRet0=0;var setTempRet0=function(value){tempRet0=value};if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var DYNAMIC_BASE=5401280,DYNAMICTOP_PTR=158368;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="basis_transcoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":70,"maximum":70,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};__ATINIT__.push({func:function(){globalCtors()}});function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>2)+i])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=function unboundTypeHandler(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){classType.registeredClass.constructor_body[argCount-1]=function constructor_body(){if(arguments.length!==argCount-1){throwBindingError(humanName+" called with "+arguments.length+" arguments, expected "+(argCount-1))}var destructors=[];var args=new Array(argCount);args[0]=rawConstructor;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=rd;return returnType["toWireType"](destructors,handle)}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function _abort(){Module["abort"]()}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function emscripten_realloc_buffer(size){var PAGE_MULTIPLE=65536;size=alignUp(size,PAGE_MULTIPLE);var oldSize=buffer.byteLength;try{var result=wasmMemory.grow((size-oldSize)/65536);if(result!==(-1|0)){buffer=wasmMemory.buffer;return true}else{return false}}catch(e){return false}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=value;return value}embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();init_embind();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var asmGlobalArg={};var asmLibraryArg={"d":abort,"B":setTempRet0,"i":___cxa_allocate_exception,"h":___cxa_throw,"n":___setErrNo,"A":___syscall140,"m":___syscall146,"z":___syscall6,"y":__embind_register_bool,"x":__embind_register_class,"w":__embind_register_class_constructor,"g":__embind_register_class_function,"K":__embind_register_emval,"v":__embind_register_float,"J":__embind_register_function,"f":__embind_register_integer,"c":__embind_register_memory_view,"u":__embind_register_std_string,"I":__embind_register_std_wstring,"H":__embind_register_void,"t":__emval_as,"s":__emval_call_void_method,"b":__emval_decref,"G":__emval_get_global,"r":__emval_get_method_caller,"q":__emval_get_module_property,"k":__emval_get_property,"l":__emval_incref,"p":__emval_new,"j":__emval_new_cstring,"o":__emval_run_destructors,"e":_abort,"F":_emscripten_get_heap_size,"E":_emscripten_memcpy_big,"D":_emscripten_resize_heap,"C":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["L"].apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return Module["asm"]["M"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["N"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["O"].apply(null,arguments)};var globalCtors=Module["globalCtors"]=function(){return Module["asm"]["ca"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return Module["asm"]["P"].apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return Module["asm"]["Q"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return Module["asm"]["R"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["S"].apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return Module["asm"]["T"].apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return Module["asm"]["U"].apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return Module["asm"]["V"].apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return Module["asm"]["W"].apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return Module["asm"]["X"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["Y"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["Z"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["_"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["$"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["aa"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return Module["asm"]["ba"].apply(null,arguments)};Module["asm"]=asm;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run(); diff --git a/src/assets/js/basisTranscoder/basis_transcoder.wasm b/src/assets/js/basisTranscoder/basis_transcoder.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c5b4d204411003d75e80410b345cc7138dfbe21c GIT binary patch literal 217809 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

xfb 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 false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function convertJsFunctionToWasm(func,sig){return func}var freeTableIndexes=[];function addFunctionWasm(func,sig){var table=wasmTable;var ret;if(freeTableIndexes.length){ret=freeTableIndexes.pop()}else{ret=table.length;try{table.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}}try{table.set(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}assert(typeof sig!=="undefined","Missing signature argument to addFunction");var wrapped=convertJsFunctionToWasm(func,sig);table.set(ret,wrapped)}return ret}function removeFunctionWasm(index){freeTableIndexes.push(index)}var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];var Promise=function(){function noop(){}function bind(fn,thisArg){return function(){fn.apply(thisArg,arguments)}}function Promise(fn){if(!(this instanceof Promise))throw new TypeError("Promises must be constructed via new");if(typeof fn!=="function")throw new TypeError("not a function");this._state=0;this._handled=false;this._value=undefined;this._deferreds=[];doResolve(fn,this)}function handle(self,deferred){while(self._state===3){self=self._value}if(self._state===0){self._deferreds.push(deferred);return}self._handled=true;Promise._immediateFn(function(){var cb=self._state===1?deferred.onFulfilled:deferred.onRejected;if(cb===null){(self._state===1?resolve:reject)(deferred.promise,self._value);return}var ret;try{ret=cb(self._value)}catch(e){reject(deferred.promise,e);return}resolve(deferred.promise,ret)})}function resolve(self,newValue){try{if(newValue===self)throw new TypeError("A promise cannot be resolved with itself.");if(newValue&&(typeof newValue==="object"||typeof newValue==="function")){var then=newValue.then;if(newValue instanceof Promise){self._state=3;self._value=newValue;finale(self);return}else if(typeof then==="function"){doResolve(bind(then,newValue),self);return}}self._state=1;self._value=newValue;finale(self)}catch(e){reject(self,e)}}function reject(self,newValue){self._state=2;self._value=newValue;finale(self)}function finale(self){if(self._state===2&&self._deferreds.length===0){Promise._immediateFn(function(){if(!self._handled){Promise._unhandledRejectionFn(self._value)}})}for(var i=0,len=self._deferreds.length;i=294+0){abort("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH.")}ret.push(null)};ret.set=function(i,func){ret[i]=func};ret.get=function(i){return ret[i]};return ret},Module:function(binary){return{}},Instance:function(module,info){var exports=( +// EMSCRIPTEN_START_ASM +function a(asmLibraryArg,wasmMemory,wasmTable){var scratchBuffer=new ArrayBuffer(8);var b=new Int32Array(scratchBuffer);var c=new Float32Array(scratchBuffer);var d=new Float64Array(scratchBuffer);function e(index){return b[index]}function f(index,value){b[index]=value}function g(){return d[0]}function h(value){d[0]=value}function i(low,high){b[0]=low;b[1]=high}function j(global,env,buffer){var k=env.memory;var l=wasmTable;var m=new global.Int8Array(buffer);var n=new global.Int16Array(buffer);var o=new global.Int32Array(buffer);var p=new global.Uint8Array(buffer);var q=new global.Uint16Array(buffer);var r=new global.Uint32Array(buffer);var s=new global.Float32Array(buffer);var t=new global.Float64Array(buffer);var u=global.Math.imul;var v=global.Math.fround;var w=global.Math.abs;var x=global.Math.clz32;var y=global.Math.min;var z=global.Math.max;var A=global.Math.floor;var B=global.Math.ceil;var C=global.Math.sqrt;var D=env.abort;var E=global.NaN;var F=global.Infinity;var G=env.__cxa_allocate_exception;var H=env.__cxa_throw;var I=env.fd_close;var J=env.fd_write;var K=env.abort;var L=env.environ_sizes_get;var M=env.environ_get;var N=env.emscripten_resize_heap;var O=env.emscripten_memcpy_big;var P=env.setTempRet0;var Q=env.fd_seek;var R=5256720;var S=13836;var T=0; +// EMSCRIPTEN_START_FUNCS +function il(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=R-16|0;R=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){f=o[3333];h=a>>>0<11?16:a+11&-8;b=h>>>3|0;a=f>>>b|0;if(a&3){d=b+((a^-1)&1)|0;b=d<<3;e=o[b+13380>>2];a=e+8|0;c=o[e+8>>2];b=b+13372|0;l:{if((c|0)==(b|0)){m=13332,n=Sl(d)&f,o[m>>2]=n;break l}o[c+12>>2]=b;o[b+8>>2]=c}b=d<<3;o[e+4>>2]=b|3;b=b+e|0;o[b+4>>2]=o[b+4>>2]|1;break a}k=o[3335];if(h>>>0<=k>>>0){break k}if(a){c=a<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=o[a+13380>>2];b=o[g+8>>2];a=a+13372|0;m:{if((b|0)==(a|0)){f=Sl(c)&f;o[3333]=f;break m}o[b+12>>2]=a;o[a+8>>2]=b}a=g+8|0;o[g+4>>2]=h|3;d=g+h|0;b=c<<3;e=b-h|0;o[d+4>>2]=e|1;o[b+g>>2]=e;if(k){b=k>>>3|0;c=(b<<3)+13372|0;h=o[3338];b=1<>2]}o[c+8>>2]=h;o[b+12>>2]=h;o[h+12>>2]=c;o[h+8>>2]=b}o[3338]=d;o[3335]=e;break a}i=o[3334];if(!i){break k}b=(i&0-i)+ -1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=o[((c|a)+(b>>>a|0)<<2)+13636>>2];d=(o[b+4>>2]&-8)-h|0;c=b;while(1){o:{a=o[c+16>>2];if(!a){a=o[c+20>>2];if(!a){break o}}c=(o[a+4>>2]&-8)-h|0;e=c>>>0>>0;d=e?c:d;b=e?a:b;c=a;continue}break}j=o[b+24>>2];e=o[b+12>>2];if((e|0)!=(b|0)){a=o[b+8>>2];o[a+12>>2]=e;o[e+8>>2]=a;break b}c=b+20|0;a=o[c>>2];if(!a){a=o[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;e=a;c=a+20|0;a=o[c>>2];if(a){continue}c=e+16|0;a=o[e+16>>2];if(a){continue}break}o[g>>2]=0;break b}h=-1;if(a>>>0>4294967231){break k}a=a+11|0;h=a&-8;i=o[3334];if(!i){break k}a=a>>>8|0;g=0;p:{if(!a){break p}g=31;if(h>>>0>16777215){break p}b=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(c|(b|d))|0;g=(a<<1|h>>>a+21&1)+28|0}c=0-h|0;d=o[(g<<2)+13636>>2];q:{r:{s:{if(!d){a=0;break s}b=h<<((g|0)==31?0:25-(g>>>1|0)|0);a=0;while(1){t:{f=(o[d+4>>2]&-8)-h|0;if(f>>>0>=c>>>0){break t}e=d;c=f;if(c){break t}c=0;a=d;break r}f=o[d+20>>2];d=o[((b>>>29&4)+d|0)+16>>2];a=f?(f|0)==(d|0)?a:f:a;b=b<<((d|0)!=0);if(d){continue}break}}if(!(a|e)){a=2<>>12&16;d=a;b=b>>>a|0;a=b>>>5&8;d=d|a;b=b>>>a|0;a=b>>>2&4;d=d|a;b=b>>>a|0;a=b>>>1&2;d=d|a;b=b>>>a|0;a=b>>>1&1;a=o[((d|a)+(b>>>a|0)<<2)+13636>>2]}if(!a){break q}}while(1){b=(o[a+4>>2]&-8)-h|0;d=b>>>0>>0;c=d?b:c;e=d?a:e;b=o[a+16>>2];if(b){a=b}else{a=o[a+20>>2]}if(a){continue}break}}if(!e|c>>>0>=o[3335]-h>>>0){break k}g=o[e+24>>2];b=o[e+12>>2];if((e|0)!=(b|0)){a=o[e+8>>2];o[a+12>>2]=b;o[b+8>>2]=a;break c}d=e+20|0;a=o[d>>2];if(!a){a=o[e+16>>2];if(!a){break i}d=e+16|0}while(1){f=d;b=a;d=a+20|0;a=o[d>>2];if(a){continue}d=b+16|0;a=o[b+16>>2];if(a){continue}break}o[f>>2]=0;break c}c=o[3335];if(c>>>0>=h>>>0){d=o[3338];b=c-h|0;u:{if(b>>>0>=16){o[3335]=b;a=d+h|0;o[3338]=a;o[a+4>>2]=b|1;o[c+d>>2]=b;o[d+4>>2]=h|3;break u}o[3338]=0;o[3335]=0;o[d+4>>2]=c|3;a=c+d|0;o[a+4>>2]=o[a+4>>2]|1}a=d+8|0;break a}j=o[3336];if(j>>>0>h>>>0){b=j-h|0;o[3336]=b;c=o[3339];a=c+h|0;o[3339]=a;o[a+4>>2]=b|1;o[c+4>>2]=h|3;a=c+8|0;break a}a=0;i=h+47|0;b=i;if(o[3451]){c=o[3453]}else{o[3454]=-1;o[3455]=-1;o[3452]=4096;o[3453]=4096;o[3451]=l+12&-16^1431655768;o[3456]=0;o[3444]=0;c=4096}g=b+c|0;f=0-c|0;c=g&f;if(c>>>0<=h>>>0){break a}e=o[3443];if(e){d=o[3441];b=d+c|0;if(b>>>0<=d>>>0|b>>>0>e>>>0){break a}}if(p[13776]&4){break f}v:{w:{d=o[3339];if(d){a=13780;while(1){b=o[a>>2];if(b+o[a+4>>2]>>>0>d>>>0?b>>>0<=d>>>0:0){break w}a=o[a+8>>2];if(a){continue}break}}b=kl(0);if((b|0)==-1){break g}f=c;d=o[3452];a=d+ -1|0;if(a&b){f=(c-b|0)+(a+b&0-d)|0}if(f>>>0<=h>>>0|f>>>0>2147483646){break g}e=o[3443];if(e){d=o[3441];a=d+f|0;if(a>>>0<=d>>>0|a>>>0>e>>>0){break g}}a=kl(f);if((b|0)!=(a|0)){break v}break e}f=f&g-j;if(f>>>0>2147483646){break g}b=kl(f);if((b|0)==(o[a>>2]+o[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|h+48>>>0<=f>>>0)){b=o[3453];b=b+(i-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((kl(b)|0)!=-1){f=b+f|0;b=a;break e}kl(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}e=0;break b}b=0;break c}if((b|0)!=-1){break e}}o[3444]=o[3444]|4}if(c>>>0>2147483646){break d}b=kl(c);a=kl(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=h+40>>>0){break d}}a=o[3441]+f|0;o[3441]=a;if(a>>>0>r[3442]){o[3442]=a}x:{y:{z:{d=o[3339];if(d){a=13780;while(1){e=o[a>>2];c=o[a+4>>2];if((e+c|0)==(b|0)){break z}a=o[a+8>>2];if(a){continue}break}break y}a=o[3337];if(!(b>>>0>=a>>>0?a:0)){o[3337]=b}a=0;o[3446]=f;o[3445]=b;o[3341]=-1;o[3342]=o[3451];o[3448]=0;while(1){d=a<<3;c=d+13372|0;o[d+13380>>2]=c;o[d+13384>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=f+ -40|0;a=b+8&7?-8-b&7:0;c=d-a|0;o[3336]=c;a=a+b|0;o[3339]=a;o[a+4>>2]=c|1;o[(b+d|0)+4>>2]=40;o[3340]=o[3455];break x}if(p[a+12|0]&8|b>>>0<=d>>>0|e>>>0>d>>>0){break y}o[a+4>>2]=c+f;a=d+8&7?-8-d&7:0;c=a+d|0;o[3339]=c;b=o[3336]+f|0;a=b-a|0;o[3336]=a;o[c+4>>2]=a|1;o[(b+d|0)+4>>2]=40;o[3340]=o[3455];break x}e=o[3337];if(b>>>0>>0){o[3337]=b;e=0}c=b+f|0;a=13780;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=o[a>>2]){a=o[a+8>>2];if(a){continue}break F}break}if(!(p[a+12|0]&8)){break E}}a=13780;while(1){c=o[a>>2];if(c>>>0<=d>>>0){g=c+o[a+4>>2]|0;if(g>>>0>d>>>0){break D}}a=o[a+8>>2];continue}}o[a>>2]=b;o[a+4>>2]=o[a+4>>2]+f;j=(b+8&7?-8-b&7:0)+b|0;o[j+4>>2]=h|3;b=c+(c+8&7?-8-c&7:0)|0;a=(b-j|0)-h|0;g=h+j|0;if((b|0)==(d|0)){o[3339]=g;a=o[3336]+a|0;o[3336]=a;o[g+4>>2]=a|1;break B}if(o[3338]==(b|0)){o[3338]=g;a=o[3335]+a|0;o[3335]=a;o[g+4>>2]=a|1;o[a+g>>2]=a;break B}c=o[b+4>>2];if((c&3)==1){i=c&-8;G:{if(c>>>0<=255){e=o[b+8>>2];c=c>>>3|0;d=o[b+12>>2];if((d|0)==(e|0)){m=13332,n=o[3333]&Sl(c),o[m>>2]=n;break G}o[e+12>>2]=d;o[d+8>>2]=e;break G}k=o[b+24>>2];f=o[b+12>>2];H:{if((f|0)!=(b|0)){c=o[b+8>>2];o[c+12>>2]=f;o[f+8>>2]=c;break H}I:{d=b+20|0;h=o[d>>2];if(h){break I}d=b+16|0;h=o[d>>2];if(h){break I}f=0;break H}while(1){c=d;f=h;d=f+20|0;h=o[d>>2];if(h){continue}d=f+16|0;h=o[f+16>>2];if(h){continue}break}o[c>>2]=0}if(!k){break G}d=o[b+28>>2];c=(d<<2)+13636|0;J:{if(o[c>>2]==(b|0)){o[c>>2]=f;if(f){break J}m=13336,n=o[3334]&Sl(d),o[m>>2]=n;break G}o[k+(o[k+16>>2]==(b|0)?16:20)>>2]=f;if(!f){break G}}o[f+24>>2]=k;c=o[b+16>>2];if(c){o[f+16>>2]=c;o[c+24>>2]=f}c=o[b+20>>2];if(!c){break G}o[f+20>>2]=c;o[c+24>>2]=f}b=b+i|0;a=a+i|0}o[b+4>>2]=o[b+4>>2]&-2;o[g+4>>2]=a|1;o[a+g>>2]=a;if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+13372|0;c=o[3333];a=1<>2]}o[b+8>>2]=g;o[a+12>>2]=g;o[g+12>>2]=b;o[g+8>>2]=a;break B}b=g;d=a>>>8|0;c=0;L:{if(!d){break L}c=31;if(a>>>0>16777215){break L}c=d;d=d+1048320>>>16&8;c=c<>>16&4;c=c<>>16&2;c=(c<>>15|0)-(e|(d|f))|0;c=(c<<1|a>>>c+21&1)+28|0}o[b+28>>2]=c;o[g+16>>2]=0;o[g+20>>2]=0;e=(c<<2)+13636|0;d=o[3334];b=1<>2]=g;o[g+24>>2]=e;break M}d=a<<((c|0)==31?0:25-(c>>>1|0)|0);b=o[e>>2];while(1){c=b;if((o[b+4>>2]&-8)==(a|0)){break C}b=d>>>29|0;d=d<<1;e=(c+(b&4)|0)+16|0;b=o[e>>2];if(b){continue}break}o[e>>2]=g;o[g+24>>2]=c}o[g+12>>2]=g;o[g+8>>2]=g;break B}e=f+ -40|0;a=b+8&7?-8-b&7:0;c=e-a|0;o[3336]=c;a=a+b|0;o[3339]=a;o[a+4>>2]=c|1;o[(b+e|0)+4>>2]=40;o[3340]=o[3455];a=(g+(g+ -39&7?39-g&7:0)|0)+ -47|0;c=a>>>0>>0?d:a;o[c+4>>2]=27;a=o[3448];o[c+16>>2]=o[3447];o[c+20>>2]=a;a=o[3446];o[c+8>>2]=o[3445];o[c+12>>2]=a;o[3447]=c+8;o[3446]=f;o[3445]=b;o[3448]=0;a=c+24|0;while(1){o[a+4>>2]=7;b=a+8|0;a=a+4|0;if(g>>>0>b>>>0){continue}break}if((c|0)==(d|0)){break x}o[c+4>>2]=o[c+4>>2]&-2;g=c-d|0;o[d+4>>2]=g|1;o[c>>2]=g;if(g>>>0<=255){a=g>>>3|0;b=(a<<3)+13372|0;c=o[3333];a=1<>2]}o[b+8>>2]=d;o[a+12>>2]=d;o[d+12>>2]=b;o[d+8>>2]=a;break x}o[d+16>>2]=0;o[d+20>>2]=0;a=d;c=g>>>8|0;b=0;O:{if(!c){break O}b=31;if(g>>>0>16777215){break O}b=c;c=c+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(e|(c|f))|0;b=(b<<1|g>>>b+21&1)+28|0}o[a+28>>2]=b;e=(b<<2)+13636|0;c=o[3334];a=1<>2]=d;o[d+24>>2]=e;break P}a=g<<((b|0)==31?0:25-(b>>>1|0)|0);b=o[e>>2];while(1){c=b;if((g|0)==(o[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;e=(c+(b&4)|0)+16|0;b=o[e>>2];if(b){continue}break}o[e>>2]=d;o[d+24>>2]=c}o[d+12>>2]=d;o[d+8>>2]=d;break x}a=o[c+8>>2];o[a+12>>2]=g;o[c+8>>2]=g;o[g+24>>2]=0;o[g+12>>2]=c;o[g+8>>2]=a}a=j+8|0;break a}a=o[c+8>>2];o[a+12>>2]=d;o[c+8>>2]=d;o[d+24>>2]=0;o[d+12>>2]=c;o[d+8>>2]=a}a=o[3336];if(a>>>0<=h>>>0){break d}b=a-h|0;o[3336]=b;c=o[3339];a=c+h|0;o[3339]=a;o[a+4>>2]=b|1;o[c+4>>2]=h|3;a=c+8|0;break a}o[3314]=48;a=0;break a}Q:{if(!g){break Q}d=o[e+28>>2];a=(d<<2)+13636|0;R:{if(o[a>>2]==(e|0)){o[a>>2]=b;if(b){break R}i=Sl(d)&i;o[3334]=i;break Q}o[g+(o[g+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break Q}}o[b+24>>2]=g;a=o[e+16>>2];if(a){o[b+16>>2]=a;o[a+24>>2]=b}a=o[e+20>>2];if(!a){break Q}o[b+20>>2]=a;o[a+24>>2]=b}S:{if(c>>>0<=15){a=c+h|0;o[e+4>>2]=a|3;a=a+e|0;o[a+4>>2]=o[a+4>>2]|1;break S}o[e+4>>2]=h|3;d=e+h|0;o[d+4>>2]=c|1;o[c+d>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+13372|0;c=o[3333];a=1<>2]}o[b+8>>2]=d;o[a+12>>2]=d;o[d+12>>2]=b;o[d+8>>2]=a;break S}a=d;f=c>>>8|0;b=0;U:{if(!f){break U}b=31;if(c>>>0>16777215){break U}b=f;f=f+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(h|(f|g))|0;b=(b<<1|c>>>b+21&1)+28|0}o[a+28>>2]=b;o[d+16>>2]=0;o[d+20>>2]=0;f=(b<<2)+13636|0;V:{a=1<>2]=d;o[d+24>>2]=f;break W}a=c<<((b|0)==31?0:25-(b>>>1|0)|0);h=o[f>>2];while(1){b=h;if((o[b+4>>2]&-8)==(c|0)){break V}f=a>>>29|0;a=a<<1;f=(b+(f&4)|0)+16|0;h=o[f>>2];if(h){continue}break}o[f>>2]=d;o[d+24>>2]=b}o[d+12>>2]=d;o[d+8>>2]=d;break S}a=o[b+8>>2];o[a+12>>2]=d;o[b+8>>2]=d;o[d+24>>2]=0;o[d+12>>2]=b;o[d+8>>2]=a}a=e+8|0;break a}X:{if(!j){break X}c=o[b+28>>2];a=(c<<2)+13636|0;Y:{if(o[a>>2]==(b|0)){o[a>>2]=e;if(e){break Y}m=13336,n=Sl(c)&i,o[m>>2]=n;break X}o[(o[j+16>>2]==(b|0)?16:20)+j>>2]=e;if(!e){break X}}o[e+24>>2]=j;a=o[b+16>>2];if(a){o[e+16>>2]=a;o[a+24>>2]=e}a=o[b+20>>2];if(!a){break X}o[e+20>>2]=a;o[a+24>>2]=e}Z:{if(d>>>0<=15){a=d+h|0;o[b+4>>2]=a|3;a=a+b|0;o[a+4>>2]=o[a+4>>2]|1;break Z}o[b+4>>2]=h|3;e=b+h|0;o[e+4>>2]=d|1;o[d+e>>2]=d;if(k){a=k>>>3|0;c=(a<<3)+13372|0;h=o[3338];a=1<>2]}o[c+8>>2]=h;o[a+12>>2]=h;o[h+12>>2]=c;o[h+8>>2]=a}o[3338]=e;o[3335]=d}a=b+8|0}R=l+16|0;return a|0}function ah(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=R-96|0;R=h;o[h+72>>2]=0;o[h+64>>2]=0;o[h+68>>2]=0;o[h+48>>2]=0;o[h+52>>2]=0;o[h+40>>2]=0;o[h+44>>2]=0;o[h+56>>2]=1065353216;o[h+32>>2]=0;o[h+24>>2]=0;o[h+28>>2]=0;y=o[a+124>>2];a:{b:{c:{d:{e:{f:{g:{if((b|0)>=1){t=o[a+216>>2]!=o[a+220>>2];while(1){h:{i:{j:{k:{l:{m:{n:{o:{if(!p[a+308|0]){break o}p:{q:{g=o[a+296>>2];i=o[a+304>>2];d=g+(i>>>3|0)|0;f=o[a+300>>2];if(d>>>0>=f>>>0){break q}d=p[d|0];e=i+1|0;o[a+304>>2]=e;if(!(d>>>(i&7)&1)){break q}j=e>>>3|0;d=g+j|0;r:{if(d>>>0>=f>>>0){d=e;e=0;break r}c=p[d|0];d=i+2|0;o[a+304>>2]=d;j=d>>>3|0;e=c>>>(e&7)&1}c=g+j|0;if(c>>>0>>0){c=p[c|0];o[a+304>>2]=d+1;d=c>>>(d&7)<<1&2}else{d=0}e=(d|e)<<1|1;switch(e+ -2|0){case 0:case 2:case 4:break b;case 5:break n;case 1:case 3:break p;default:break o}}e=o[h+68>>2];if((e|0)==o[h+64>>2]){d=-1;break g}c=-1;n=o[a+8>>2];i=o[n+24>>2];f=i;g=e+ -4|0;s=o[g>>2];d=-1;s:{if((s|0)==-1){break s}e=s+1|0;e=(e>>>0)%3|0?e:s+ -2|0;d=-1;if((e|0)==-1){break s}d=o[o[n>>2]+(e<<2)>>2]}f=o[f+(d<<2)>>2];if((f|0)!=-1){e=f+1|0;c=(e>>>0)%3|0?e:f+ -2|0}f=o[n+12>>2];r=u(k,3);e=r+1|0;o[f+(s<<2)>>2]=e;e=e<<2;o[e+f>>2]=s;q=r+2|0;o[f+(c<<2)>>2]=q;j=q<<2;o[j+f>>2]=c;l=o[n>>2];o[l+(r<<2)>>2]=d;x=e+l|0;f=-1;t:{if((c|0)==-1){break t}e=c+1|0;e=(e>>>0)%3|0?e:c+ -2|0;f=-1;if((e|0)==-1){break t}f=o[l+(e<<2)>>2]}o[x>>2]=f;u:{v:{if((s|0)!=-1){e=s+((s>>>0)%3|0?-1:2)|0;if((e|0)!=-1){break v}}o[j+l>>2]=-1;break u}e=o[l+(e<<2)>>2];o[j+l>>2]=e;if((e|0)==-1){break u}o[i+(e<<2)>>2]=q}c=o[a+120>>2]+(d>>>3&536870908)|0;e=o[c>>2];A=c,B=Sl(d)&e,o[A>>2]=B;o[g>>2]=r;break h}c=o[h+68>>2];if((c|0)==o[h+64>>2]){d=-1;break g}q=o[a+8>>2];d=o[q+12>>2];n=u(k,3);i=(e|0)==5;g=n+(i?2:1)|0;e=g<<2;r=o[c+ -4>>2];o[d+e>>2]=r;o[d+(r<<2)>>2]=g;eh(q+24|0,8268);d=-1;f=o[a+8>>2];j=o[f+24>>2];if(o[f+28>>2]-j>>2>(y|0)){break g}c=n+2|0;f=o[f>>2];x=f+e|0;e=o[q+28>>2]-o[q+24>>2]|0;d=(e>>2)+ -1|0;o[x>>2]=d;if(e){o[j+(d<<2)>>2]=g}c=i?n:c;i=f+(i+n<<2)|0;w:{x:{y:{if((r|0)!=-1){d=r+((r>>>0)%3|0?-1:2)|0;if((d|0)==-1){break y}d=o[f+(d<<2)>>2];o[f+(c<<2)>>2]=d;if((d|0)==-1){break x}o[j+(d<<2)>>2]=c;break x}o[f+(c<<2)>>2]=-1;e=-1;break w}o[f+(c<<2)>>2]=-1}d=r+1|0;d=(d>>>0)%3|0?d:r+ -2|0;e=-1;if((d|0)==-1){break w}e=o[f+(d<<2)>>2]}o[i>>2]=e;o[o[h+68>>2]+ -4>>2]=n;break m}d=-1;g=o[h+68>>2];f=o[h+64>>2];if((g|0)==(f|0)){break g}i=g+ -4|0;z=o[i>>2];o[h+68>>2]=i;n=o[h+44>>2];if(!n){break j}x=o[h+40>>2];q=Rl(n)>>>0>1;c=n+2147483647&k;z:{if(!q){break z}e=k;c=e;if(e>>>0>>0){break z}c=(k>>>0)%(n>>>0)|0}e=c;c=o[x+(e<<2)>>2];if(!c){break j}l=o[c>>2];if(!l){break j}j=n+ -1|0;while(1){A:{c=o[l+4>>2];B:{if((k|0)!=(c|0)){C:{if(!q){c=c&j;break C}if(c>>>0>>0){break C}c=(c>>>0)%(n>>>0)|0}if((c|0)!=(e|0)){break j}break B}if(o[l+8>>2]==(k|0)){break A}}l=o[l>>2];if(l){continue}break j}break}e=o[h+72>>2];if((e|0)!=(i|0)){o[i>>2]=o[l+12>>2];o[h+68>>2]=g;c=f;break i}q=i-f|0;i=q>>2;j=i+1|0;if(j>>>0>=1073741824){break l}g=e-f|0;e=g>>1;e=g>>2>>>0<536870911?e>>>0>>0?j:e:1073741823;c=0;D:{if(!e){break D}if(e>>>0>=1073741824){break a}c=yk(e<<2)}g=c+(i<<2)|0;o[g>>2]=o[l+12>>2];e=(e<<2)+c|0;g=g+4|0;if((q|0)>=1){ll(c,f,q)}o[h+72>>2]=e;o[h+68>>2]=g;o[h+64>>2]=c;if(!f){break i}jl(f);g=o[h+68>>2];c=o[h+64>>2];break i}e=o[a+8>>2];eh(e+24|0,8268);d=-1;c=o[a+8>>2];n=u(k,3);i=o[e+28>>2]-o[e+24>>2]|0;j=i>>2;f=j+ -1|0;o[o[c>>2]+(n<<2)>>2]=f;eh(c+24|0,8268);g=n+1|0;o[o[c>>2]+(g<<2)>>2]=(o[c+28>>2]-o[c+24>>2]>>2)+ -1;e=o[a+8>>2];eh(e+24|0,8268);c=n+2|0;o[o[e>>2]+(c<<2)>>2]=(o[e+28>>2]-o[e+24>>2]>>2)+ -1;e=o[a+8>>2];q=o[e+24>>2];if(o[e+28>>2]-q>>2>(y|0)){break g}E:{F:{if(!i){o[q+(j<<2)>>2]=g;d=1;break F}o[q+(f<<2)>>2]=n;d=0;if((i|0)==-4){break F}o[q+(j<<2)>>2]=g;d=j+1|0;if((d|0)==-1){break E}}o[q+(d<<2)>>2]=c}d=o[h+68>>2];e=o[h+72>>2];if((d|0)!=(e|0)){o[d>>2]=n;o[h+68>>2]=d+4;break m}j=o[h+64>>2];i=d-j|0;f=i>>2;g=f+1|0;if(g>>>0>=1073741824){break k}c=e-j|0;e=c>>1;c=c>>2>>>0<536870911?e>>>0>>0?g:e:1073741823;d=0;G:{if(!c){break G}if(c>>>0>=1073741824){break a}d=yk(c<<2)}e=d+(f<<2)|0;o[e>>2]=n;c=d+(c<<2)|0;e=e+4|0;if((i|0)>=1){ll(d,j,i)}o[h+72>>2]=c;o[h+68>>2]=e;o[h+64>>2]=d;if(!j){break m}jl(j)}l=o[a+40>>2];if((l|0)==o[a+36>>2]){break h}g=(k^-1)+b|0;while(1){d=-1;e=o[l+ -8>>2];if(e>>>0>g>>>0){break g}if((e|0)!=(g|0)){break h}c=p[l+ -4|0];e=l+ -12|0;f=o[e>>2];o[a+40>>2]=e;if((f|0)<0){break g}e=o[o[h+68>>2]+ -4>>2];o[h+20>>2]=(f^-1)+b;o[h+88>>2]=h+20;fh(h,h+40|0,h+20|0,h+88|0);f=o[h>>2];H:{if(c&1){d=-1;if((e|0)==-1){break H}d=e+1|0;d=(d>>>0)%3|0?d:e+ -2|0;break H}d=-1;if((e|0)==-1){break H}d=e+ -1|0;if((e>>>0)%3){break H}d=e+2|0}o[f+12>>2]=d;l=o[a+40>>2];if((l|0)!=o[a+36>>2]){continue}break}break h}Nk();D()}Nk();D()}g=i;c=f}if((c|0)==(g|0)){break g}w=o[g+ -4>>2];e=(w|0)==-1;s=o[a+8>>2];if(o[o[s+12>>2]+(w<<2)>>2]!=-1?!e:0){break g}j=(z|0)==-1;l=o[s+12>>2];if(o[l+(z<<2)>>2]!=-1?!j:0){break g}r=u(k,3);q=r+2|0;o[l+(w<<2)>>2]=q;n=q<<2;o[n+l>>2]=w;d=r+1|0;o[l+(z<<2)>>2]=d;i=d<<2;o[i+l>>2]=z;I:{if(!e){d=-1;e=-1;v=o[s>>2];f=v+(r<<2)|0;c=w+((w>>>0)%3|0?-1:2)|0;if((c|0)!=-1){e=o[(c<<2)+v>>2]}o[f>>2]=e;c=w+1|0;c=(c>>>0)%3|0?c:w+ -2|0;if((c|0)==-1){break I}d=o[(c<<2)+v>>2];break I}e=-1;v=o[s>>2];o[v+(r<<2)>>2]=-1;d=-1}o[i+v>>2]=d;J:{K:{L:{if(!j){d=z+((z>>>0)%3|0?-1:2)|0;if((d|0)==-1){break L}d=o[(d<<2)+v>>2];o[n+v>>2]=d;if((d|0)==-1){break K}o[o[s+24>>2]+(d<<2)>>2]=q;break K}o[n+v>>2]=-1;x=-1;d=-1;break J}o[n+v>>2]=-1}x=-1;c=z+1|0;c=(c>>>0)%3|0?c:z+ -2|0;d=-1;if((c|0)==-1){break J}x=o[(c<<2)+v>>2];d=c}c=o[s+24>>2];f=c+(x<<2)|0;if((e|0)!=-1){o[c+(e<<2)>>2]=o[f>>2]}M:{if((d|0)==-1){break M}while(1){o[(d<<2)+v>>2]=e;c=d+1|0;d=(c>>>0)%3|0?c:d+ -2|0;if((d|0)==-1){break M}c=o[l+(d<<2)>>2];if((c|0)==-1){break M}d=c+1|0;d=(d>>>0)%3|0?d:c+ -2|0;if((d|0)!=-1){continue}break}}o[f>>2]=-1;N:{if(t){break N}d=o[h+28>>2];e=o[h+32>>2];if((d|0)!=(e|0)){o[d>>2]=x;o[h+28>>2]=d+4;break N}q=o[h+24>>2];j=d-q|0;f=j>>2;i=f+1|0;O:{if(i>>>0<1073741824){c=e-q|0;e=c>>1;c=c>>2>>>0<536870911?e>>>0>>0?i:e:1073741823;d=0;P:{if(!c){break P}if(c>>>0>=1073741824){break O}d=yk(c<<2)}e=d+(f<<2)|0;o[e>>2]=x;c=d+(c<<2)|0;e=e+4|0;if((j|0)>=1){ll(d,q,j)}o[h+32>>2]=c;o[h+28>>2]=e;o[h+24>>2]=d;if(!q){break N}jl(q);g=o[h+68>>2];break N}Nk();D()}break a}o[g+ -4>>2]=r}k=k+1|0;if((k|0)!=(b|0)){continue}break}e=b}d=-1;l=o[a+8>>2];if(o[l+28>>2]-o[l+24>>2]>>2>(y|0)){break g}k=o[h+68>>2];if((k|0)!=o[h+64>>2]){n=a+72|0;b=a+60|0;q=a+312|0;while(1){c=k+ -4|0;r=o[c>>2];o[h+68>>2]=c;Q:{if(Uf(q)){j=o[a+8>>2];w=o[j>>2];if((e|0)>=((o[j+4>>2]-w>>2>>>0)/3|0)){break g}g=-1;v=-1;k=o[j+24>>2];i=k;c=-1;R:{if((r|0)==-1){break R}f=r+1|0;f=(f>>>0)%3|0?f:r+ -2|0;c=-1;if((f|0)==-1){break R}c=o[w+(f<<2)>>2]}i=o[i+(c<<2)>>2];S:{if((i|0)==-1){break S}f=i+1|0;f=(f>>>0)%3|0?f:i+ -2|0;if((f|0)==-1){break S}g=f+1|0;g=(g>>>0)%3|0?g:f+ -2|0;if((g|0)!=-1){v=o[w+(g<<2)>>2]}g=f}y=-1;x=-1;k=o[k+(v<<2)>>2];i=-1;T:{if((k|0)==-1){break T}f=k+1|0;f=(f>>>0)%3|0?f:k+ -2|0;i=-1;if((f|0)==-1){break T}i=f+1|0;i=(i>>>0)%3|0?i:f+ -2|0;if((i|0)!=-1){x=o[w+(i<<2)>>2]}i=f}l=o[j+12>>2];s=u(e,3);j=s<<2;o[l+j>>2]=r;o[l+(r<<2)>>2]=s;r=s+1|0;k=r<<2;o[k+l>>2]=g;o[l+(g<<2)>>2]=r;t=s+2|0;f=t<<2;o[f+l>>2]=i;o[l+(i<<2)>>2]=t;o[j+w>>2]=v;k=k+w|0;o[k>>2]=x;i=f+w|0;o[i>>2]=c;j=o[a+120>>2];g=r>>>0>>0?-1:v;f=j+(g>>>3&536870908)|0;c=o[f>>2];A=f,B=Sl(g)&c,o[A>>2]=B;y=(r|0)!=-1?o[k>>2]:y;f=j+(y>>>3&536870908)|0;c=o[f>>2];A=f,B=Sl(y)&c,o[A>>2]=B;k=-1;k=(t|0)!=-1?o[i>>2]:k;f=j+(k>>>3&536870908)|0;c=o[f>>2];A=f,B=Sl(k)&c,o[A>>2]=B;k=o[a+64>>2];f=o[a+68>>2];if((k|0)==f<<5){if((k+1|0)<=-1){break e}c=b;if(k>>>0<=1073741822){g=k+32&-32;f=f<<6;f=f>>>0>>0?g:f}else{f=2147483647}fb(c,f);k=o[a+64>>2]}e=e+1|0;o[a+64>>2]=k+1;c=o[a+60>>2]+(k>>>3&536870908)|0;o[c>>2]=o[c>>2]|1<<(k&31);c=o[a+76>>2];f=o[a+80>>2];if((c|0)!=(f|0)){o[c>>2]=s;o[a+76>>2]=c+4;break Q}t=o[n>>2];j=c-t|0;i=j>>2;k=i+1|0;if(k>>>0>=1073741824){break d}g=f-t|0;f=g>>1;g=g>>2>>>0<536870911?f>>>0>>0?k:f:1073741823;c=0;U:{if(!g){break U}if(g>>>0>=1073741824){break a}c=yk(g<<2)}f=c+(i<<2)|0;o[f>>2]=s;g=c+(g<<2)|0;f=f+4|0;if((j|0)>=1){ll(c,t,j)}o[a+80>>2]=g;o[a+76>>2]=f;o[a+72>>2]=c;if(!t){break Q}jl(t);break Q}l=o[a+64>>2];f=o[a+68>>2];if((l|0)==f<<5){if((l+1|0)<=-1){break e}c=b;if(l>>>0<=1073741822){g=l+32&-32;f=f<<6;f=f>>>0>>0?g:f}else{f=2147483647}fb(c,f);l=o[a+64>>2]}o[a+64>>2]=l+1;f=o[a+60>>2]+(l>>>3&536870908)|0;c=o[f>>2];A=f,B=Sl(l)&c,o[A>>2]=B;c=o[a+76>>2];f=o[a+80>>2];if((c|0)!=(f|0)){o[c>>2]=r;o[a+76>>2]=c+4;break Q}t=o[n>>2];j=c-t|0;i=j>>2;k=i+1|0;if(k>>>0>=1073741824){break d}g=f-t|0;f=g>>1;g=g>>2>>>0<536870911?f>>>0>>0?k:f:1073741823;c=0;V:{if(!g){break V}if(g>>>0>=1073741824){break c}c=yk(g<<2)}f=c+(i<<2)|0;o[f>>2]=r;g=c+(g<<2)|0;f=f+4|0;if((j|0)>=1){ll(c,t,j)}o[a+80>>2]=g;o[a+76>>2]=f;o[a+72>>2]=c;if(!t){break Q}jl(t)}k=o[h+68>>2];if((k|0)!=o[h+64>>2]){continue}break}l=o[a+8>>2]}if(((o[l+4>>2]-o[l>>2]>>2>>>0)/3|0)!=(e|0)){break g}d=o[l+28>>2]-o[l+24>>2]>>2;j=o[h+24>>2];f=o[h+28>>2];if((j|0)==(f|0)){break f}while(1){g=o[j>>2];c=o[l+24>>2];k=d+ -1|0;W:{if(o[c+(k<<2)>>2]!=-1){e=d;break W}c=o[l+24>>2];while(1){k=d+ -2|0;e=d+ -1|0;d=e;if(o[(k<<2)+c>>2]==-1){continue}break}}if(!(k>>>0>>0)){o[h>>2]=l;b=k<<2;d=o[b+c>>2];m[h+12|0]=1;o[h+8>>2]=d;o[h+4>>2]=d;if((d|0)!=-1){while(1){o[o[l>>2]+(d<<2)>>2]=g;of(h);l=o[a+8>>2];d=o[h+8>>2];if((d|0)!=-1){continue}break}}d=b;b=o[l+24>>2];d=d+b|0;if((g|0)!=-1){o[b+(g<<2)>>2]=o[d>>2]}o[d>>2]=-1;i=1<<(g&31);b=o[a+120>>2];c=b+(g>>>3&536870908)|0;d=c;g=b+(k>>>3&536870908)|0;b=1<<(k&31);k=i|o[c>>2];X:{if(o[g>>2]&b){break X}k=o[c>>2]&(i^-1)}o[d>>2]=k;o[g>>2]=o[g>>2]&(b^-1);e=e+ -1|0}d=e;j=j+4|0;if((f|0)!=(j|0)){continue}break}}j=o[h+24>>2]}if(j){o[h+28>>2]=j;jl(j)}a=o[h+48>>2];if(a){while(1){b=o[a>>2];jl(a);a=b;if(a){continue}break}}a=o[h+40>>2];o[h+40>>2]=0;if(a){jl(a)}a=o[h+64>>2];if(a){o[h+68>>2]=a;jl(a)}R=h+96|0;return d}Nk();D()}Nk();D()}db(8832)}D()}db(8832);D()}function lh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=R-96|0;R=i;o[i+72>>2]=0;o[i+64>>2]=0;o[i+68>>2]=0;o[i+48>>2]=0;o[i+52>>2]=0;o[i+40>>2]=0;o[i+44>>2]=0;o[i+56>>2]=1065353216;o[i+32>>2]=0;o[i+24>>2]=0;o[i+28>>2]=0;w=o[a+124>>2];a:{b:{c:{d:{e:{if((b|0)>=1){t=a+232|0;v=o[a+216>>2]!=o[a+220>>2];while(1){f:{g:{h:{i:{j:{c=o[a+404>>2];k:{l:{if((c|0)!=-1){g=-1;d=o[a+428>>2]+(c<<2)|0;e=o[d>>2];c=e+ -1|0;o[d>>2]=c;if((e|0)<1){break e}c=o[o[o[a+416>>2]+u(o[a+404>>2],12)>>2]+(c<<2)>>2];d=o[(c<<2)+8912>>2];o[a+400>>2]=d;if(!c){d=o[i+68>>2];if((d|0)==o[i+64>>2]){break e}c=-1;e=o[a+8>>2];k=o[e+24>>2];h=k;n=d+ -4|0;d=o[n>>2];g=-1;m:{if((d|0)==-1){break m}f=d+1|0;f=(f>>>0)%3|0?f:d+ -2|0;g=-1;if((f|0)==-1){break m}g=o[o[e>>2]+(f<<2)>>2]}j=o[h+(g<<2)>>2];if((j|0)!=-1){c=j+1|0;c=(c>>>0)%3|0?c:j+ -2|0}f=o[e+12>>2];j=u(q,3);h=j+1|0;o[f+(d<<2)>>2]=h;s=h<<2;o[s+f>>2]=d;h=j+2|0;o[f+(c<<2)>>2]=h;l=h<<2;o[l+f>>2]=c;e=o[e>>2];o[e+(j<<2)>>2]=g;f=e+s|0;r=-1;n:{if((c|0)==-1){break n}r=c+1|0;c=(r>>>0)%3|0?r:c+ -2|0;r=-1;if((c|0)==-1){break n}r=o[e+(c<<2)>>2]}o[f>>2]=r;o:{p:{if((d|0)!=-1){c=d+((d>>>0)%3|0?-1:2)|0;if((c|0)!=-1){break p}}o[e+l>>2]=-1;break o}c=o[e+(c<<2)>>2];o[e+l>>2]=c;if((c|0)==-1){break o}o[k+(c<<2)>>2]=h}c=o[a+120>>2]+(g>>>3&536870908)|0;d=o[c>>2];A=c,B=Sl(g)&d,o[A>>2]=B;o[n>>2]=j;nh(t,j);break f}d=d+ -1|0;if(d>>>0>6){break e}q:{switch(d-1|0){case 1:case 3:j=o[i+68>>2];if((j|0)==o[i+64>>2]){break e}e=o[a+8>>2];g=o[e+12>>2];d=u(q,3);f=(c|0)==3;h=d+(f?2:1)|0;k=h<<2;c=o[j+ -4>>2];o[g+k>>2]=c;o[g+(c<<2)>>2]=h;eh(e+24|0,8268);g=-1;l=o[a+8>>2];j=o[l+24>>2];if(o[l+28>>2]-j>>2>(w|0)){break e}n=d+2|0;g=o[l>>2];e=o[e+28>>2]-o[e+24>>2]|0;l=(e>>2)+ -1|0;o[g+k>>2]=l;if(e){o[j+(l<<2)>>2]=h}e=f?d:n;h=g+(d+f<<2)|0;r:{s:{t:{if((c|0)!=-1){f=c+((c>>>0)%3|0?-1:2)|0;if((f|0)==-1){break t}f=o[g+(f<<2)>>2];o[g+(e<<2)>>2]=f;if((f|0)==-1){break s}o[j+(f<<2)>>2]=e;break s}o[g+(e<<2)>>2]=-1;f=-1;break r}o[g+(e<<2)>>2]=-1}j=c+1|0;c=(j>>>0)%3|0?j:c+ -2|0;f=-1;if((c|0)==-1){break r}f=o[g+(c<<2)>>2]}o[h>>2]=f;g=o[i+68>>2];o[g+ -4>>2]=d;break k;case 5:break l;case 0:case 2:case 4:break e;default:break q}}j=o[i+68>>2];d=o[i+64>>2];if((j|0)==(d|0)){break e}f=j+ -4|0;l=o[f>>2];o[i+68>>2]=f;k=o[i+44>>2];if(!k){break h}n=Rl(k)>>>0>1;u:{if(!n){e=k+2147483647&q;break u}e=q;if(e>>>0>>0){break u}e=(q>>>0)%(k>>>0)|0}c=o[o[i+40>>2]+(e<<2)>>2];if(!c){break h}h=o[c>>2];if(!h){break h}s=k+ -1|0;while(1){v:{c=o[h+4>>2];w:{if((q|0)!=(c|0)){x:{if(!n){c=c&s;break x}if(c>>>0>>0){break x}c=(c>>>0)%(k>>>0)|0}if((c|0)!=(e|0)){break h}break w}if(o[h+8>>2]==(q|0)){break v}}h=o[h>>2];if(h){continue}break h}break}k=o[i+72>>2];if((k|0)!=(f|0)){o[f>>2]=o[h+12>>2];o[i+68>>2]=j;c=d;break g}f=f-d|0;j=f>>2;e=j+1|0;if(e>>>0>=1073741824){break j}k=k-d|0;n=k>>1;e=k>>2>>>0<536870911?n>>>0>>0?e:n:1073741823;c=0;y:{if(!e){break y}if(e>>>0>=1073741824){break a}c=yk(e<<2)}j=c+(j<<2)|0;o[j>>2]=o[h+12>>2];e=(e<<2)+c|0;j=j+4|0;if((f|0)>=1){ll(c,d,f)}o[i+72>>2]=e;o[i+68>>2]=j;o[i+64>>2]=c;if(!d){break g}jl(d);j=o[i+68>>2];c=o[i+64>>2];break g}o[a+400>>2]=7}e=o[a+8>>2];eh(e+24|0,8268);g=-1;c=o[a+8>>2];d=u(q,3);j=o[e+28>>2]-o[e+24>>2]|0;e=j>>2;h=e+ -1|0;o[o[c>>2]+(d<<2)>>2]=h;eh(c+24|0,8268);f=d+1|0;o[o[c>>2]+(f<<2)>>2]=(o[c+28>>2]-o[c+24>>2]>>2)+ -1;c=o[a+8>>2];eh(c+24|0,8268);l=d+2|0;o[o[c>>2]+(l<<2)>>2]=(o[c+28>>2]-o[c+24>>2]>>2)+ -1;k=o[a+8>>2];c=o[k+24>>2];if(o[k+28>>2]-c>>2>(w|0)){break e}z:{A:{if(!j){o[c+(e<<2)>>2]=f;g=1;break A}o[c+(h<<2)>>2]=d;g=0;if((j|0)==-4){break A}o[c+(e<<2)>>2]=f;g=e+1|0;if((g|0)==-1){break z}}o[c+(g<<2)>>2]=l}c=o[i+68>>2];f=o[i+72>>2];if((c|0)!=(f|0)){o[c>>2]=d;g=c+4|0;o[i+68>>2]=g;break k}e=o[i+64>>2];j=c-e|0;h=j>>2;g=h+1|0;if(g>>>0>=1073741824){break i}f=f-e|0;l=f>>1;g=f>>2>>>0<536870911?l>>>0>>0?g:l:1073741823;c=0;B:{if(!g){break B}if(g>>>0>=1073741824){break a}c=yk(g<<2)}f=c+(h<<2)|0;o[f>>2]=d;d=c+(g<<2)|0;g=f+4|0;if((j|0)>=1){ll(c,e,j)}o[i+72>>2]=d;o[i+68>>2]=g;o[i+64>>2]=c;if(!e){break k}jl(e);g=o[i+68>>2]}nh(t,o[g+ -4>>2]);h=o[a+40>>2];if((h|0)==o[a+36>>2]){break f}d=(q^-1)+b|0;while(1){g=-1;c=o[h+ -8>>2];if(c>>>0>d>>>0){break e}if((c|0)!=(d|0)){break f}j=p[h+ -4|0];c=h+ -12|0;e=o[c>>2];o[a+40>>2]=c;if((e|0)<0){break e}c=o[o[i+68>>2]+ -4>>2];o[i+20>>2]=(e^-1)+b;o[i+88>>2]=i+20;fh(i,i+40|0,i+20|0,i+88|0);f=o[i>>2];C:{if(j&1){g=-1;if((c|0)==-1){break C}g=c+1|0;g=(g>>>0)%3|0?g:c+ -2|0;break C}g=-1;if((c|0)==-1){break C}g=c+ -1|0;if((c>>>0)%3){break C}g=c+2|0}o[f+12>>2]=g;h=o[a+40>>2];if((h|0)!=o[a+36>>2]){continue}break}break f}Nk();D()}Nk();D()}j=f;c=d}if((c|0)==(j|0)){break e}c=o[j+ -4>>2];d=(c|0)==-1;f=o[a+8>>2];if(o[o[f+12>>2]+(c<<2)>>2]!=-1?!d:0){break e}r=(l|0)==-1;h=o[f+12>>2];if(o[h+(l<<2)>>2]!=-1?!r:0){break e}k=u(q,3);s=k+2|0;o[h+(c<<2)>>2]=s;n=s<<2;o[n+h>>2]=c;g=k+1|0;o[h+(l<<2)>>2]=g;x=g<<2;o[x+h>>2]=l;D:{if(!d){g=-1;e=-1;d=o[f>>2];z=d+(k<<2)|0;y=c+((c>>>0)%3|0?-1:2)|0;if((y|0)!=-1){e=o[(y<<2)+d>>2]}o[z>>2]=e;y=c+1|0;c=(y>>>0)%3|0?y:c+ -2|0;if((c|0)==-1){break D}g=o[(c<<2)+d>>2];break D}e=-1;d=o[f>>2];o[d+(k<<2)>>2]=-1;g=-1}o[d+x>>2]=g;E:{F:{G:{if(!r){c=l+((l>>>0)%3|0?-1:2)|0;if((c|0)==-1){break G}c=o[(c<<2)+d>>2];o[d+n>>2]=c;if((c|0)==-1){break F}o[o[f+24>>2]+(c<<2)>>2]=s;break F}o[d+n>>2]=-1;n=-1;g=-1;break E}o[d+n>>2]=-1}n=-1;c=l+1|0;c=(c>>>0)%3|0?c:l+ -2|0;g=-1;if((c|0)==-1){break E}n=o[(c<<2)+d>>2];g=c}c=o[a+388>>2];l=e<<2;s=c+l|0;r=c;c=n<<2;o[s>>2]=o[s>>2]+o[r+c>>2];f=o[f+24>>2];c=f+c|0;if((e|0)!=-1){o[f+l>>2]=o[c>>2]}H:{if((g|0)==-1){break H}while(1){o[(g<<2)+d>>2]=e;f=g+1|0;g=(f>>>0)%3|0?f:g+ -2|0;if((g|0)==-1){break H}g=o[h+(g<<2)>>2];if((g|0)==-1){break H}f=g+1|0;g=(f>>>0)%3|0?f:g+ -2|0;if((g|0)!=-1){continue}break}}o[c>>2]=-1;I:{if(v){break I}c=o[i+28>>2];f=o[i+32>>2];if((c|0)!=(f|0)){o[c>>2]=n;o[i+28>>2]=c+4;break I}g=o[i+24>>2];e=c-g|0;h=e>>2;d=h+1|0;J:{if(d>>>0<1073741824){f=f-g|0;l=f>>1;d=f>>2>>>0<536870911?l>>>0>>0?d:l:1073741823;c=0;K:{if(!d){break K}if(d>>>0>=1073741824){break J}c=yk(d<<2)}f=c+(h<<2)|0;o[f>>2]=n;d=c+(d<<2)|0;f=f+4|0;if((e|0)>=1){ll(c,g,e)}o[i+32>>2]=d;o[i+28>>2]=f;o[i+24>>2]=c;if(!g){break I}jl(g);j=o[i+68>>2];break I}Nk();D()}break a}o[j+ -4>>2]=k;nh(t,k)}q=q+1|0;if((q|0)!=(b|0)){continue}break}q=b}g=-1;c=o[a+8>>2];if(o[c+28>>2]-o[c+24>>2]>>2>(w|0)){break e}h=o[i+68>>2];if((h|0)!=o[i+64>>2]){w=a+72|0;b=a+60|0;s=a+312|0;while(1){c=h+ -4|0;l=o[c>>2];o[i+68>>2]=c;L:{if(Uf(s)){n=o[a+8>>2];k=o[n>>2];if((q|0)>=((o[n+4>>2]-k>>2>>>0)/3|0)){break e}d=-1;e=-1;f=o[n+24>>2];c=f;j=-1;M:{if((l|0)==-1){break M}h=l+1|0;h=(h>>>0)%3|0?h:l+ -2|0;j=-1;if((h|0)==-1){break M}j=o[k+(h<<2)>>2]}h=j;c=o[c+(h<<2)>>2];N:{if((c|0)==-1){break N}j=c+1|0;c=(j>>>0)%3|0?j:c+ -2|0;if((c|0)==-1){break N}d=c+1|0;d=(d>>>0)%3|0?d:c+ -2|0;if((d|0)!=-1){e=o[k+(d<<2)>>2]}d=c}j=-1;t=-1;f=o[f+(e<<2)>>2];c=-1;O:{if((f|0)==-1){break O}v=f+1|0;f=(v>>>0)%3|0?v:f+ -2|0;c=-1;if((f|0)==-1){break O}c=f+1|0;c=(c>>>0)%3|0?c:f+ -2|0;if((c|0)!=-1){t=o[k+(c<<2)>>2]}c=f}n=o[n+12>>2];f=u(q,3);v=f<<2;o[n+v>>2]=l;o[n+(l<<2)>>2]=f;l=f+1|0;r=l<<2;o[r+n>>2]=d;o[n+(d<<2)>>2]=l;d=f+2|0;x=d<<2;o[x+n>>2]=c;o[n+(c<<2)>>2]=d;o[k+v>>2]=e;n=k+r|0;o[n>>2]=t;k=k+x|0;o[k>>2]=h;c=o[a+120>>2];e=l>>>0>>0?-1:e;h=c+(e>>>3&536870908)|0;t=o[h>>2];A=h,B=Sl(e)&t,o[A>>2]=B;j=(l|0)!=-1?o[n>>2]:j;e=c+(j>>>3&536870908)|0;h=o[e>>2];A=e,B=Sl(j)&h,o[A>>2]=B;h=-1;h=(d|0)!=-1?o[k>>2]:h;c=c+(h>>>3&536870908)|0;d=o[c>>2];A=c,B=Sl(h)&d,o[A>>2]=B;h=o[a+64>>2];d=o[a+68>>2];if((h|0)==d<<5){if((h+1|0)<=-1){break c}c=b;if(h>>>0<=1073741822){e=h+32&-32;d=d<<6;d=d>>>0>>0?e:d}else{d=2147483647}fb(c,d);h=o[a+64>>2]}q=q+1|0;o[a+64>>2]=h+1;c=o[a+60>>2]+(h>>>3&536870908)|0;o[c>>2]=o[c>>2]|1<<(h&31);c=o[a+76>>2];h=o[a+80>>2];if((c|0)!=(h|0)){o[c>>2]=f;o[a+76>>2]=c+4;break L}d=o[w>>2];j=c-d|0;l=j>>2;e=l+1|0;if(e>>>0>=1073741824){break b}h=h-d|0;k=h>>1;e=h>>2>>>0<536870911?k>>>0>>0?e:k:1073741823;c=0;P:{if(!e){break P}if(e>>>0>=1073741824){break a}c=yk(e<<2)}h=c+(l<<2)|0;o[h>>2]=f;e=c+(e<<2)|0;f=h+4|0;if((j|0)>=1){ll(c,d,j)}o[a+80>>2]=e;o[a+76>>2]=f;o[a+72>>2]=c;if(!d){break L}jl(d);break L}c=o[a+64>>2];e=o[a+68>>2];if((c|0)==e<<5){if((c+1|0)<=-1){break c}d=b;if(c>>>0<=1073741822){c=c+32&-32;e=e<<6;c=e>>>0>>0?c:e}else{c=2147483647}fb(d,c);c=o[a+64>>2]}o[a+64>>2]=c+1;d=o[a+60>>2]+(c>>>3&536870908)|0;e=o[d>>2];A=d,B=Sl(c)&e,o[A>>2]=B;c=o[a+76>>2];f=o[a+80>>2];if((c|0)!=(f|0)){o[c>>2]=l;o[a+76>>2]=c+4;break L}d=o[w>>2];j=c-d|0;h=j>>2;e=h+1|0;if(e>>>0>=1073741824){break b}f=f-d|0;k=f>>1;e=f>>2>>>0<536870911?k>>>0>>0?e:k:1073741823;c=0;Q:{if(!e){break Q}if(e>>>0>=1073741824){break a}c=yk(e<<2)}f=c+(h<<2)|0;o[f>>2]=l;e=c+(e<<2)|0;f=f+4|0;if((j|0)>=1){ll(c,d,j)}o[a+80>>2]=e;o[a+76>>2]=f;o[a+72>>2]=c;if(!d){break L}jl(d)}h=o[i+68>>2];if((h|0)!=o[i+64>>2]){continue}break}c=o[a+8>>2]}if(((o[c+4>>2]-o[c>>2]>>2>>>0)/3|0)!=(q|0)){break e}g=o[c+28>>2]-o[c+24>>2]>>2;q=o[i+24>>2];j=o[i+28>>2];if((q|0)==(j|0)){break d}while(1){e=o[q>>2];d=o[c+24>>2];h=g+ -1|0;R:{if(o[d+(h<<2)>>2]!=-1){b=g;break R}d=o[c+24>>2];while(1){h=g+ -2|0;b=g+ -1|0;g=b;if(o[(h<<2)+d>>2]==-1){continue}break}}if(h>>>0>=e>>>0){o[i>>2]=c;g=d;d=h<<2;g=o[g+d>>2];m[i+12|0]=1;o[i+8>>2]=g;o[i+4>>2]=g;if((g|0)!=-1){while(1){o[o[c>>2]+(g<<2)>>2]=e;of(i);c=o[a+8>>2];g=o[i+8>>2];if((g|0)!=-1){continue}break}}g=d;d=o[c+24>>2];g=g+d|0;if((e|0)!=-1){o[d+(e<<2)>>2]=o[g>>2]}o[g>>2]=-1;g=1<<(e&31);d=e>>>3&536870908;e=o[a+120>>2];d=d+e|0;f=d;e=e+(h>>>3&536870908)|0;h=1<<(h&31);k=g|o[d>>2];S:{if(o[e>>2]&h){break S}k=o[d>>2]&(g^-1)}o[f>>2]=k;o[e>>2]=o[e>>2]&(h^-1);b=b+ -1|0}g=b;q=q+4|0;if((j|0)!=(q|0)){continue}break}}q=o[i+24>>2]}if(q){o[i+28>>2]=q;jl(q)}a=o[i+48>>2];if(a){while(1){b=o[a>>2];jl(a);a=b;if(a){continue}break}}a=o[i+40>>2];o[i+40>>2]=0;if(a){jl(a)}a=o[i+64>>2];if(a){o[i+68>>2]=a;jl(a)}R=i+96|0;return g}Nk();D()}Nk();D()}db(8832);D()}function ji(a,b,c,d,e){var f=0,g=0;f=R-32|0;R=f;o[b+32>>2]=d;o[b+40>>2]=c;o[b+4>>2]=e;gi(a,d,f+16|0);a:{if(o[a>>2]){break a}c=a+4|0;if(m[a+15|0]<=-1){jl(o[c>>2])}e=p[f+23|0];if((l[o[o[b>>2]+8>>2]](b)|0)!=(e|0)){b=yk(64);o[f>>2]=b;o[f+4>>2]=50;o[f+8>>2]=-2147483584;m[b+50|0]=0;d=p[10289]|p[10290]<<8;m[b+48|0]=d;m[b+49|0]=d>>>8;d=p[10285]|p[10286]<<8|(p[10287]<<16|p[10288]<<24);e=p[10281]|p[10282]<<8|(p[10283]<<16|p[10284]<<24);m[b+40|0]=e;m[b+41|0]=e>>>8;m[b+42|0]=e>>>16;m[b+43|0]=e>>>24;m[b+44|0]=d;m[b+45|0]=d>>>8;m[b+46|0]=d>>>16;m[b+47|0]=d>>>24;d=p[10277]|p[10278]<<8|(p[10279]<<16|p[10280]<<24);e=p[10273]|p[10274]<<8|(p[10275]<<16|p[10276]<<24);m[b+32|0]=e;m[b+33|0]=e>>>8;m[b+34|0]=e>>>16;m[b+35|0]=e>>>24;m[b+36|0]=d;m[b+37|0]=d>>>8;m[b+38|0]=d>>>16;m[b+39|0]=d>>>24;d=p[10269]|p[10270]<<8|(p[10271]<<16|p[10272]<<24);e=p[10265]|p[10266]<<8|(p[10267]<<16|p[10268]<<24);m[b+24|0]=e;m[b+25|0]=e>>>8;m[b+26|0]=e>>>16;m[b+27|0]=e>>>24;m[b+28|0]=d;m[b+29|0]=d>>>8;m[b+30|0]=d>>>16;m[b+31|0]=d>>>24;d=p[10261]|p[10262]<<8|(p[10263]<<16|p[10264]<<24);e=p[10257]|p[10258]<<8|(p[10259]<<16|p[10260]<<24);m[b+16|0]=e;m[b+17|0]=e>>>8;m[b+18|0]=e>>>16;m[b+19|0]=e>>>24;m[b+20|0]=d;m[b+21|0]=d>>>8;m[b+22|0]=d>>>16;m[b+23|0]=d>>>24;d=p[10253]|p[10254]<<8|(p[10255]<<16|p[10256]<<24);e=p[10249]|p[10250]<<8|(p[10251]<<16|p[10252]<<24);m[b+8|0]=e;m[b+9|0]=e>>>8;m[b+10|0]=e>>>16;m[b+11|0]=e>>>24;m[b+12|0]=d;m[b+13|0]=d>>>8;m[b+14|0]=d>>>16;m[b+15|0]=d>>>24;d=p[10245]|p[10246]<<8|(p[10247]<<16|p[10248]<<24);e=p[10241]|p[10242]<<8|(p[10243]<<16|p[10244]<<24);m[b|0]=e;m[b+1|0]=e>>>8;m[b+2|0]=e>>>16;m[b+3|0]=e>>>24;m[b+4|0]=d;m[b+5|0]=d>>>8;m[b+6|0]=d>>>16;m[b+7|0]=d>>>24;o[a>>2]=-1;Bk(c,f);if(m[f+11|0]>-1){break a}jl(o[f>>2]);break a}d=p[f+21|0];m[b+36|0]=d;g=p[f+22|0];m[b+37|0]=g;if((d+ -1&255)>>>0>=2){b=yk(32);o[f>>2]=b;o[f+4>>2]=22;o[f+8>>2]=-2147483616;m[b+22|0]=0;d=p[10310]|p[10311]<<8|(p[10312]<<16|p[10313]<<24);e=p[10306]|p[10307]<<8|(p[10308]<<16|p[10309]<<24);m[b+14|0]=e;m[b+15|0]=e>>>8;m[b+16|0]=e>>>16;m[b+17|0]=e>>>24;m[b+18|0]=d;m[b+19|0]=d>>>8;m[b+20|0]=d>>>16;m[b+21|0]=d>>>24;d=p[10304]|p[10305]<<8|(p[10306]<<16|p[10307]<<24);e=p[10300]|p[10301]<<8|(p[10302]<<16|p[10303]<<24);m[b+8|0]=e;m[b+9|0]=e>>>8;m[b+10|0]=e>>>16;m[b+11|0]=e>>>24;m[b+12|0]=d;m[b+13|0]=d>>>8;m[b+14|0]=d>>>16;m[b+15|0]=d>>>24;d=p[10296]|p[10297]<<8|(p[10298]<<16|p[10299]<<24);e=p[10292]|p[10293]<<8|(p[10294]<<16|p[10295]<<24);m[b|0]=e;m[b+1|0]=e>>>8;m[b+2|0]=e>>>16;m[b+3|0]=e>>>24;m[b+4|0]=d;m[b+5|0]=d>>>8;m[b+6|0]=d>>>16;m[b+7|0]=d>>>24;o[a>>2]=-5;Bk(c,f);if(m[f+11|0]>-1){break a}jl(o[f>>2]);break a}if(!((d|0)!=2|(e?2:3)>>>0>=g>>>0)){b=yk(32);o[f>>2]=b;o[f+4>>2]=22;o[f+8>>2]=-2147483616;m[b+22|0]=0;d=p[10333]|p[10334]<<8|(p[10335]<<16|p[10336]<<24);e=p[10329]|p[10330]<<8|(p[10331]<<16|p[10332]<<24);m[b+14|0]=e;m[b+15|0]=e>>>8;m[b+16|0]=e>>>16;m[b+17|0]=e>>>24;m[b+18|0]=d;m[b+19|0]=d>>>8;m[b+20|0]=d>>>16;m[b+21|0]=d>>>24;d=p[10327]|p[10328]<<8|(p[10329]<<16|p[10330]<<24);e=p[10323]|p[10324]<<8|(p[10325]<<16|p[10326]<<24);m[b+8|0]=e;m[b+9|0]=e>>>8;m[b+10|0]=e>>>16;m[b+11|0]=e>>>24;m[b+12|0]=d;m[b+13|0]=d>>>8;m[b+14|0]=d>>>16;m[b+15|0]=d>>>24;d=p[10319]|p[10320]<<8|(p[10321]<<16|p[10322]<<24);e=p[10315]|p[10316]<<8|(p[10317]<<16|p[10318]<<24);m[b|0]=e;m[b+1|0]=e>>>8;m[b+2|0]=e>>>16;m[b+3|0]=e>>>24;m[b+4|0]=d;m[b+5|0]=d>>>8;m[b+6|0]=d>>>16;m[b+7|0]=d>>>24;o[a>>2]=-5;Bk(c,f);if(m[f+11|0]>-1){break a}jl(o[f>>2]);break a}d=d<<8|g;n[o[b+32>>2]+38>>1]=d;b:{if((d&65535)>>>0<259|n[f+26>>1]>-1){break b}hi(a,b);if(o[a>>2]){break a}if(m[c+11|0]>-1){break b}jl(o[c>>2])}if(!l[o[o[b>>2]+12>>2]](b)){b=yk(48);o[f>>2]=b;o[f+4>>2]=33;o[f+8>>2]=-2147483600;m[b+33|0]=0;m[b+32|0]=p[10370];d=p[10366]|p[10367]<<8|(p[10368]<<16|p[10369]<<24);e=p[10362]|p[10363]<<8|(p[10364]<<16|p[10365]<<24);m[b+24|0]=e;m[b+25|0]=e>>>8;m[b+26|0]=e>>>16;m[b+27|0]=e>>>24;m[b+28|0]=d;m[b+29|0]=d>>>8;m[b+30|0]=d>>>16;m[b+31|0]=d>>>24;d=p[10358]|p[10359]<<8|(p[10360]<<16|p[10361]<<24);e=p[10354]|p[10355]<<8|(p[10356]<<16|p[10357]<<24);m[b+16|0]=e;m[b+17|0]=e>>>8;m[b+18|0]=e>>>16;m[b+19|0]=e>>>24;m[b+20|0]=d;m[b+21|0]=d>>>8;m[b+22|0]=d>>>16;m[b+23|0]=d>>>24;d=p[10350]|p[10351]<<8|(p[10352]<<16|p[10353]<<24);e=p[10346]|p[10347]<<8|(p[10348]<<16|p[10349]<<24);m[b+8|0]=e;m[b+9|0]=e>>>8;m[b+10|0]=e>>>16;m[b+11|0]=e>>>24;m[b+12|0]=d;m[b+13|0]=d>>>8;m[b+14|0]=d>>>16;m[b+15|0]=d>>>24;d=p[10342]|p[10343]<<8|(p[10344]<<16|p[10345]<<24);e=p[10338]|p[10339]<<8|(p[10340]<<16|p[10341]<<24);m[b|0]=e;m[b+1|0]=e>>>8;m[b+2|0]=e>>>16;m[b+3|0]=e>>>24;m[b+4|0]=d;m[b+5|0]=d>>>8;m[b+6|0]=d>>>16;m[b+7|0]=d>>>24;o[a>>2]=-1;Bk(c,f);if(m[f+11|0]>-1){break a}jl(o[f>>2]);break a}if(!l[o[o[b>>2]+20>>2]](b)){b=yk(32);o[f>>2]=b;o[f+4>>2]=31;o[f+8>>2]=-2147483616;m[b+31|0]=0;d=p[10399]|p[10400]<<8|(p[10401]<<16|p[10402]<<24);e=p[10395]|p[10396]<<8|(p[10397]<<16|p[10398]<<24);m[b+23|0]=e;m[b+24|0]=e>>>8;m[b+25|0]=e>>>16;m[b+26|0]=e>>>24;m[b+27|0]=d;m[b+28|0]=d>>>8;m[b+29|0]=d>>>16;m[b+30|0]=d>>>24;d=p[10392]|p[10393]<<8|(p[10394]<<16|p[10395]<<24);e=p[10388]|p[10389]<<8|(p[10390]<<16|p[10391]<<24);m[b+16|0]=e;m[b+17|0]=e>>>8;m[b+18|0]=e>>>16;m[b+19|0]=e>>>24;m[b+20|0]=d;m[b+21|0]=d>>>8;m[b+22|0]=d>>>16;m[b+23|0]=d>>>24;d=p[10384]|p[10385]<<8|(p[10386]<<16|p[10387]<<24);e=p[10380]|p[10381]<<8|(p[10382]<<16|p[10383]<<24);m[b+8|0]=e;m[b+9|0]=e>>>8;m[b+10|0]=e>>>16;m[b+11|0]=e>>>24;m[b+12|0]=d;m[b+13|0]=d>>>8;m[b+14|0]=d>>>16;m[b+15|0]=d>>>24;d=p[10376]|p[10377]<<8|(p[10378]<<16|p[10379]<<24);e=p[10372]|p[10373]<<8|(p[10374]<<16|p[10375]<<24);m[b|0]=e;m[b+1|0]=e>>>8;m[b+2|0]=e>>>16;m[b+3|0]=e>>>24;m[b+4|0]=d;m[b+5|0]=d>>>8;m[b+6|0]=d>>>16;m[b+7|0]=d>>>24;o[a>>2]=-1;Bk(c,f);if(m[f+11|0]>-1){break a}jl(o[f>>2]);break a}if(!l[o[o[b>>2]+24>>2]](b)){b=yk(48);o[f>>2]=b;o[f+4>>2]=34;o[f+8>>2]=-2147483600;m[b+34|0]=0;d=p[10436]|p[10437]<<8;m[b+32|0]=d;m[b+33|0]=d>>>8;d=p[10432]|p[10433]<<8|(p[10434]<<16|p[10435]<<24);e=p[10428]|p[10429]<<8|(p[10430]<<16|p[10431]<<24);m[b+24|0]=e;m[b+25|0]=e>>>8;m[b+26|0]=e>>>16;m[b+27|0]=e>>>24;m[b+28|0]=d;m[b+29|0]=d>>>8;m[b+30|0]=d>>>16;m[b+31|0]=d>>>24;d=p[10424]|p[10425]<<8|(p[10426]<<16|p[10427]<<24);e=p[10420]|p[10421]<<8|(p[10422]<<16|p[10423]<<24);m[b+16|0]=e;m[b+17|0]=e>>>8;m[b+18|0]=e>>>16;m[b+19|0]=e>>>24;m[b+20|0]=d;m[b+21|0]=d>>>8;m[b+22|0]=d>>>16;m[b+23|0]=d>>>24;d=p[10416]|p[10417]<<8|(p[10418]<<16|p[10419]<<24);e=p[10412]|p[10413]<<8|(p[10414]<<16|p[10415]<<24);m[b+8|0]=e;m[b+9|0]=e>>>8;m[b+10|0]=e>>>16;m[b+11|0]=e>>>24;m[b+12|0]=d;m[b+13|0]=d>>>8;m[b+14|0]=d>>>16;m[b+15|0]=d>>>24;d=p[10408]|p[10409]<<8|(p[10410]<<16|p[10411]<<24);e=p[10404]|p[10405]<<8|(p[10406]<<16|p[10407]<<24);m[b|0]=e;m[b+1|0]=e>>>8;m[b+2|0]=e>>>16;m[b+3|0]=e>>>24;m[b+4|0]=d;m[b+5|0]=d>>>8;m[b+6|0]=d>>>16;m[b+7|0]=d>>>24;o[a>>2]=-1;Bk(c,f);if(m[f+11|0]>-1){break a}jl(o[f>>2]);break a}o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0}R=f+32|0}function gi(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=R-16|0;R=e;g=o[b+12>>2];d=o[b+20>>2];f=o[b+16>>2];h=f+5|0;if(h>>>0<5){d=d+1|0}a:{if((g|0)<(d|0)?1:(g|0)<=(d|0)?r[b+8>>2]>=h>>>0?0:1:0){b=yk(32);o[e>>2]=b;o[e+4>>2]=29;o[e+8>>2]=-2147483616;m[b+29|0]=0;c=p[10185]|p[10186]<<8|(p[10187]<<16|p[10188]<<24);d=p[10181]|p[10182]<<8|(p[10183]<<16|p[10184]<<24);m[b+21|0]=d;m[b+22|0]=d>>>8;m[b+23|0]=d>>>16;m[b+24|0]=d>>>24;m[b+25|0]=c;m[b+26|0]=c>>>8;m[b+27|0]=c>>>16;m[b+28|0]=c>>>24;c=o[2545];d=o[2544];m[b+16|0]=d;m[b+17|0]=d>>>8;m[b+18|0]=d>>>16;m[b+19|0]=d>>>24;m[b+20|0]=c;m[b+21|0]=c>>>8;m[b+22|0]=c>>>16;m[b+23|0]=c>>>24;c=o[2543];d=o[2542];m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=o[2541];d=o[2540];m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;o[a>>2]=-2;Bk(a+4|0,e);if(m[e+11|0]>-1){break a}jl(o[e>>2]);break a}d=f+o[b>>2]|0;g=p[d|0]|p[d+1|0]<<8|(p[d+2|0]<<16|p[d+3|0]<<24);m[c|0]=g;m[c+1|0]=g>>>8;m[c+2|0]=g>>>16;m[c+3|0]=g>>>24;m[c+4|0]=p[d+4|0];g=b;d=o[b+20>>2];f=o[b+16>>2]+5|0;if(f>>>0<5){d=d+1|0}h=f;f=d;o[g+16>>2]=h;o[g+20>>2]=d;if(Vj(c,10190,5)){b=yk(32);o[e>>2]=b;o[e+4>>2]=17;o[e+8>>2]=-2147483616;m[b+17|0]=0;m[b+16|0]=p[10212];c=p[10208]|p[10209]<<8|(p[10210]<<16|p[10211]<<24);d=p[10204]|p[10205]<<8|(p[10206]<<16|p[10207]<<24);m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=p[10200]|p[10201]<<8|(p[10202]<<16|p[10203]<<24);d=p[10196]|p[10197]<<8|(p[10198]<<16|p[10199]<<24);m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;o[a>>2]=-1;Bk(a+4|0,e);if(m[e+11|0]>-1){break a}jl(o[e>>2]);break a}d=o[b+12>>2];if((d|0)<(f|0)?1:(d|0)<=(f|0)?r[b+8>>2]>h>>>0?0:1:0){b=yk(32);o[e>>2]=b;o[e+4>>2]=29;o[e+8>>2]=-2147483616;m[b+29|0]=0;c=p[10185]|p[10186]<<8|(p[10187]<<16|p[10188]<<24);d=p[10181]|p[10182]<<8|(p[10183]<<16|p[10184]<<24);m[b+21|0]=d;m[b+22|0]=d>>>8;m[b+23|0]=d>>>16;m[b+24|0]=d>>>24;m[b+25|0]=c;m[b+26|0]=c>>>8;m[b+27|0]=c>>>16;m[b+28|0]=c>>>24;c=o[2545];d=o[2544];m[b+16|0]=d;m[b+17|0]=d>>>8;m[b+18|0]=d>>>16;m[b+19|0]=d>>>24;m[b+20|0]=c;m[b+21|0]=c>>>8;m[b+22|0]=c>>>16;m[b+23|0]=c>>>24;c=o[2543];d=o[2542];m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=o[2541];d=o[2540];m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;o[a>>2]=-2;Bk(a+4|0,e);if(m[e+11|0]>-1){break a}jl(o[e>>2]);break a}m[c+5|0]=p[h+o[b>>2]|0];d=o[b+20>>2];f=o[b+16>>2]+1|0;if(f>>>0<1){d=d+1|0}o[b+16>>2]=f;o[g+20>>2]=d;g=o[b+12>>2];if((g|0)<(d|0)?1:(g|0)<=(d|0)?r[b+8>>2]>f>>>0?0:1:0){b=yk(32);o[e>>2]=b;o[e+4>>2]=29;o[e+8>>2]=-2147483616;m[b+29|0]=0;c=p[10185]|p[10186]<<8|(p[10187]<<16|p[10188]<<24);d=p[10181]|p[10182]<<8|(p[10183]<<16|p[10184]<<24);m[b+21|0]=d;m[b+22|0]=d>>>8;m[b+23|0]=d>>>16;m[b+24|0]=d>>>24;m[b+25|0]=c;m[b+26|0]=c>>>8;m[b+27|0]=c>>>16;m[b+28|0]=c>>>24;c=o[2545];d=o[2544];m[b+16|0]=d;m[b+17|0]=d>>>8;m[b+18|0]=d>>>16;m[b+19|0]=d>>>24;m[b+20|0]=c;m[b+21|0]=c>>>8;m[b+22|0]=c>>>16;m[b+23|0]=c>>>24;c=o[2543];d=o[2542];m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=o[2541];d=o[2540];m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;o[a>>2]=-2;Bk(a+4|0,e);if(m[e+11|0]>-1){break a}jl(o[e>>2]);break a}m[c+6|0]=p[f+o[b>>2]|0];d=o[b+20>>2];f=o[b+16>>2]+1|0;if(f>>>0<1){d=d+1|0}o[b+16>>2]=f;o[b+20>>2]=d;g=o[b+12>>2];if((g|0)<(d|0)?1:(g|0)<=(d|0)?r[b+8>>2]>f>>>0?0:1:0){b=yk(32);o[e>>2]=b;o[e+4>>2]=29;o[e+8>>2]=-2147483616;m[b+29|0]=0;c=p[10185]|p[10186]<<8|(p[10187]<<16|p[10188]<<24);d=p[10181]|p[10182]<<8|(p[10183]<<16|p[10184]<<24);m[b+21|0]=d;m[b+22|0]=d>>>8;m[b+23|0]=d>>>16;m[b+24|0]=d>>>24;m[b+25|0]=c;m[b+26|0]=c>>>8;m[b+27|0]=c>>>16;m[b+28|0]=c>>>24;c=o[2545];d=o[2544];m[b+16|0]=d;m[b+17|0]=d>>>8;m[b+18|0]=d>>>16;m[b+19|0]=d>>>24;m[b+20|0]=c;m[b+21|0]=c>>>8;m[b+22|0]=c>>>16;m[b+23|0]=c>>>24;c=o[2543];d=o[2542];m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=o[2541];d=o[2540];m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;o[a>>2]=-2;Bk(a+4|0,e);if(m[e+11|0]>-1){break a}jl(o[e>>2]);break a}m[c+7|0]=p[f+o[b>>2]|0];d=o[b+20>>2];f=o[b+16>>2]+1|0;if(f>>>0<1){d=d+1|0}o[b+16>>2]=f;o[b+20>>2]=d;g=o[b+12>>2];if((g|0)<(d|0)?1:(g|0)<=(d|0)?r[b+8>>2]>f>>>0?0:1:0){b=yk(32);o[e>>2]=b;o[e+4>>2]=29;o[e+8>>2]=-2147483616;m[b+29|0]=0;c=p[10185]|p[10186]<<8|(p[10187]<<16|p[10188]<<24);d=p[10181]|p[10182]<<8|(p[10183]<<16|p[10184]<<24);m[b+21|0]=d;m[b+22|0]=d>>>8;m[b+23|0]=d>>>16;m[b+24|0]=d>>>24;m[b+25|0]=c;m[b+26|0]=c>>>8;m[b+27|0]=c>>>16;m[b+28|0]=c>>>24;c=o[2545];d=o[2544];m[b+16|0]=d;m[b+17|0]=d>>>8;m[b+18|0]=d>>>16;m[b+19|0]=d>>>24;m[b+20|0]=c;m[b+21|0]=c>>>8;m[b+22|0]=c>>>16;m[b+23|0]=c>>>24;c=o[2543];d=o[2542];m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=o[2541];d=o[2540];m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;o[a>>2]=-2;Bk(a+4|0,e);if(m[e+11|0]>-1){break a}jl(o[e>>2]);break a}m[c+8|0]=p[f+o[b>>2]|0];d=o[b+20>>2];f=d;i=o[b+16>>2];h=i+1|0;if(h>>>0<1){d=d+1|0}o[b+16>>2]=h;o[b+20>>2]=d;g=o[b+12>>2];d=f;f=i+3|0;if(f>>>0<3){d=d+1|0}if((g|0)<(d|0)?1:(g|0)<=(d|0)?r[b+8>>2]>=f>>>0?0:1:0){b=yk(32);o[e>>2]=b;o[e+4>>2]=29;o[e+8>>2]=-2147483616;m[b+29|0]=0;c=p[10185]|p[10186]<<8|(p[10187]<<16|p[10188]<<24);d=p[10181]|p[10182]<<8|(p[10183]<<16|p[10184]<<24);m[b+21|0]=d;m[b+22|0]=d>>>8;m[b+23|0]=d>>>16;m[b+24|0]=d>>>24;m[b+25|0]=c;m[b+26|0]=c>>>8;m[b+27|0]=c>>>16;m[b+28|0]=c>>>24;c=o[2545];d=o[2544];m[b+16|0]=d;m[b+17|0]=d>>>8;m[b+18|0]=d>>>16;m[b+19|0]=d>>>24;m[b+20|0]=c;m[b+21|0]=c>>>8;m[b+22|0]=c>>>16;m[b+23|0]=c>>>24;c=o[2543];d=o[2542];m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=o[2541];d=o[2540];m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;o[a>>2]=-2;Bk(a+4|0,e);if(m[e+11|0]>-1){break a}jl(o[e>>2]);break a}f=c;c=h+o[b>>2]|0;n[f+10>>1]=p[c|0]|p[c+1|0]<<8;c=b;f=b;d=o[b+20>>2];b=o[b+16>>2]+2|0;if(b>>>0<2){d=d+1|0}o[f+16>>2]=b;o[c+20>>2]=d;o[a+8>>2]=0;o[a+12>>2]=0;o[a>>2]=0;o[a+4>>2]=0}R=e+16|0}function Oj(a,b,c,d,f,g){a=a|0;b=+b;c=c|0;d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,n=0,q=0,r=0,s=0,t=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;n=R-560|0;R=n;o[n+44>>2]=0;h(+b);i=e(1)|0;a:{if(G=1,H=(J=e(0)>>>0>4294967295?0:1,K=0,L=(i|0)<=-1,L?J:K),I=(i|0)<-1,I?G:H){C=1;b=-b;h(+b);i=e(1)|0;e(0)|0;D=11632;break a}if(f&2048){C=1;D=11635;break a}C=f&1;D=C?11638:11633}b:{if((i&2146435072)==2146435072){r=C+3|0;Kj(a,32,c,r,f&-65537);Hj(a,D,C);d=g>>>5&1;Hj(a,b!=b?d?11659:11663:d?11651:11655,3);break b}y=n+16|0;c:{d:{e:{b=Ej(b,n+44|0);b=b+b;if(b!=0){i=o[n+44>>2];o[n+44>>2]=i+ -1;z=g|32;if((z|0)!=97){break e}break c}z=g|32;if((z|0)==97){break c}j=o[n+44>>2];q=(d|0)<0?6:d;break d}j=i+ -29|0;o[n+44>>2]=j;b=b*268435456;q=(d|0)<0?6:d}s=(j|0)<0?n+48|0:n+336|0;l=s;while(1){d=l;if(b<4294967296&b>=0){i=~~b>>>0}else{i=0}o[d>>2]=i;l=l+4|0;b=(b- +(i>>>0))*1e9;if(b!=0){continue}break}f:{if((j|0)<1){i=l;k=s;break f}k=s;while(1){v=(j|0)<29?j:29;i=l+ -4|0;g:{if(i>>>0>>0){break g}d=v;j=0;while(1){r=i;E=j;x=o[i>>2];t=d&31;if(32<=(d&63)>>>0){j=x<>>32-t;x=x<>>0>>0?j+1|0:j;j=Ql(t,j,1e9,0);x=r;r=Ol(j,T,1e9,0);o[x>>2]=t-r;i=i+ -4|0;if(i>>>0>=k>>>0){continue}break}if(!j){break g}k=k+ -4|0;o[k>>2]=j}while(1){i=l;if(i>>>0>k>>>0){l=i+ -4|0;if(!o[l>>2]){continue}}break}j=o[n+44>>2]-v|0;o[n+44>>2]=j;l=i;if((j|0)>0){continue}break}}if((j|0)<=-1){A=((q+25|0)/9|0)+1|0;v=(z|0)==102;while(1){d=(j|0)<-9?9:0-j|0;h:{if(k>>>0>=i>>>0){k=o[k>>2]?k:k+4|0;break h}r=1e9>>>d|0;t=-1<>2];o[l>>2]=x+(j>>>d|0);j=u(r,j&t);l=l+4|0;if(l>>>0>>0){continue}break}k=o[k>>2]?k:k+4|0;if(!j){break h}o[i>>2]=j;i=i+4|0}j=d+o[n+44>>2]|0;o[n+44>>2]=j;d=v?s:k;i=i-d>>2>(A|0)?d+(A<<2)|0:i;if((j|0)<0){continue}break}}l=0;i:{if(k>>>0>=i>>>0){break i}l=u(s-k>>2,9);j=10;d=o[k>>2];if(d>>>0<10){break i}while(1){l=l+1|0;j=u(j,10);if(d>>>0>=j>>>0){continue}break}}d=(q-((z|0)==102?0:l)|0)-((z|0)==103&(q|0)!=0)|0;if((d|0)<(u(i-s>>2,9)+ -9|0)){d=d+9216|0;v=(d|0)/9|0;r=(s+(v<<2)|0)+ -4092|0;j=10;d=d-u(v,9)|0;if((d|0)<=7){while(1){j=u(j,10);d=d+1|0;if((d|0)!=8){continue}break}}v=o[r>>2];t=(v>>>0)/(j>>>0)|0;A=r+4|0;d=v-u(j,t)|0;j:{if(d?0:(A|0)==(i|0)){break j}x=j>>>1|0;B=d>>>0>>0?.5:(i|0)==(A|0)?(x|0)==(d|0)?1:1.5:1.5;b=t&1?9007199254740994:9007199254740992;if(!(!C|p[D|0]!=45)){B=-B;b=-b}d=v-d|0;o[r>>2]=d;if(b+B==b){break j}d=d+j|0;o[r>>2]=d;if(d>>>0>=1e9){while(1){o[r>>2]=0;r=r+ -4|0;if(r>>>0>>0){k=k+ -4|0;o[k>>2]=0}d=o[r>>2]+1|0;o[r>>2]=d;if(d>>>0>999999999){continue}break}}l=u(s-k>>2,9);j=10;d=o[k>>2];if(d>>>0<10){break j}while(1){l=l+1|0;j=u(j,10);if(d>>>0>=j>>>0){continue}break}}d=r+4|0;i=i>>>0>d>>>0?d:i}k:{while(1){j=i;v=0;if(i>>>0<=k>>>0){break k}i=j+ -4|0;if(!o[i>>2]){continue}break}v=1}l:{if((z|0)!=103){t=f&8;break l}d=q?q:1;i=(d|0)>(l|0)&(l|0)>-5;q=(i?l^-1:-1)+d|0;g=(i?-1:-2)+g|0;t=f&8;if(t){break l}i=9;m:{if(!v){break m}r=o[j+ -4>>2];if(!r){break m}d=10;i=0;if((r>>>0)%10){break m}while(1){i=i+1|0;d=u(d,10);if(!((r>>>0)%(d>>>0))){continue}break}}d=u(j-s>>2,9)+ -9|0;if((g|32)==102){t=0;d=d-i|0;d=(d|0)>0?d:0;q=(q|0)<(d|0)?q:d;break l}t=0;d=(d+l|0)-i|0;d=(d|0)>0?d:0;q=(q|0)<(d|0)?q:d}z=q|t;x=(z|0)!=0;d=a;E=c;F=g|32;i=(l|0)>0?l:0;n:{if((F|0)==102){break n}i=l>>31;i=Nj(i+l^i,0,y);if((y-i|0)<=1){while(1){i=i+ -1|0;m[i|0]=48;if((y-i|0)<2){continue}break}}A=i+ -2|0;m[A|0]=g;m[i+ -1|0]=(l|0)<0?45:43;i=y-A|0}r=(i+(x+(q+C|0)|0)|0)+1|0;Kj(d,32,E,r,f);Hj(a,D,C);Kj(a,48,c,r,f^65536);o:{p:{q:{if((F|0)==102){d=n+16|8;g=n+16|9;l=k>>>0>s>>>0?s:k;k=l;while(1){i=Nj(o[k>>2],0,g);r:{if((k|0)!=(l|0)){if(i>>>0<=n+16>>>0){break r}while(1){i=i+ -1|0;m[i|0]=48;if(i>>>0>n+16>>>0){continue}break}break r}if((g|0)!=(i|0)){break r}m[n+24|0]=48;i=d}Hj(a,i,g-i|0);k=k+4|0;if(k>>>0<=s>>>0){continue}break}if(z){Hj(a,11667,1)}if((q|0)<1|k>>>0>=j>>>0){break q}while(1){i=Nj(o[k>>2],0,g);if(i>>>0>n+16>>>0){while(1){i=i+ -1|0;m[i|0]=48;if(i>>>0>n+16>>>0){continue}break}}Hj(a,i,(q|0)<9?q:9);i=q+ -9|0;k=k+4|0;if(k>>>0>=j>>>0){break p}d=(q|0)>9;q=i;if(d){continue}break}break p}s:{if((q|0)<0){break s}s=v?j:k+4|0;d=n+16|8;g=n+16|9;l=k;while(1){i=Nj(o[l>>2],0,g);if((g|0)==(i|0)){m[n+24|0]=48;i=d}t:{if((k|0)!=(l|0)){if(i>>>0<=n+16>>>0){break t}while(1){i=i+ -1|0;m[i|0]=48;if(i>>>0>n+16>>>0){continue}break}break t}Hj(a,i,1);i=i+1|0;if((q|0)<1?!t:0){break t}Hj(a,11667,1)}j=i;i=g-i|0;Hj(a,j,(q|0)>(i|0)?i:q);q=q-i|0;l=l+4|0;if(l>>>0>=s>>>0){break s}if((q|0)>-1){continue}break}}Kj(a,48,q+18|0,18,0);Hj(a,A,y-A|0);break o}i=q}Kj(a,48,i+9|0,9,0)}break b}q=g&32;j=q?D+9|0:D;u:{if(d>>>0>11){break u}i=12-d|0;if(!i){break u}B=8;while(1){B=B*16;i=i+ -1|0;if(i){continue}break}if(p[j|0]==45){b=-(B+(-b-B));break u}b=b+B-B}l=o[n+44>>2];i=l>>31;i=Nj(i^i+l,0,y);if((y|0)==(i|0)){m[n+15|0]=48;i=n+15|0}l=C|2;k=o[n+44>>2];s=i+ -2|0;m[s|0]=g+15;m[i+ -1|0]=(k|0)<0?45:43;D=f&8;k=n+16|0;while(1){g=k;r=q;if(w(b)<2147483648){i=~~b}else{i=-2147483648}m[k|0]=r|p[i+11616|0];b=(b- +(i|0))*16;k=g+1|0;if(!((k-(n+16|0)|0)!=1|(b==0?!((d|0)>0|D):0))){m[g+1|0]=46;k=g+2|0}if(b!=0){continue}break}g=a;i=c;if(!d|((k-n|0)+ -18|0)>=(d|0)){q=((y-(n+16|0)|0)-s|0)+k|0}else{q=((d+y|0)-s|0)+2|0}d=q;r=d+l|0;Kj(g,32,i,r,f);Hj(a,j,l);Kj(a,48,c,r,f^65536);g=k-(n+16|0)|0;Hj(a,n+16|0,g);d=y-s|0;Kj(a,48,q-(d+g|0)|0,0,0);Hj(a,s,d)}Kj(a,32,c,r,f^8192);R=n+560|0;return((r|0)<(c|0)?c:r)|0}function Ie(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=R+ -64|0;R=i;o[a+8>>2]=e;f=a+32|0;j=o[f>>2];d=o[a+36>>2]-j>>2;a:{if(d>>>0>>0){Ia(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}o[a+36>>2]=j+(e<<2)}o[i+56>>2]=0;o[i+60>>2]=0;o[i+48>>2]=0;o[i+52>>2]=0;o[i+40>>2]=0;o[i+44>>2]=0;f=i+32|0;o[f>>2]=0;o[f+4>>2]=0;o[i+24>>2]=0;o[i+28>>2]=0;o[i+16>>2]=0;o[i+20>>2]=0;o[i>>2]=0;d=0;if(e){Dd(i+16|0,e,i);h=o[i+28>>2];d=o[f>>2]}o[i>>2]=0;d=d-h>>2;b:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break b}o[i+32>>2]=(e<<2)+h;break b}Dd(i+16|12,e-d|0,i)}o[i>>2]=0;f=o[i+40>>2];d=o[i+44>>2]-f>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}o[i+44>>2]=f+(e<<2);break c}Dd(i+40|0,e-d|0,i)}o[i>>2]=0;f=o[i+52>>2];d=o[i+56>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}o[i+56>>2]=f+(e<<2);break d}Dd(i+52|0,e-d|0,i)}e:{if(o[a+8>>2]<=0){break e}g=o[i+16>>2];h=0;while(1){d=h<<2;f=o[d+g>>2];k=o[a+16>>2];f:{if((f|0)>(k|0)){j=o[a+32>>2];o[d+j>>2]=k;break f}j=o[a+32>>2];d=d+j|0;k=o[a+12>>2];if((f|0)<(k|0)){o[d>>2]=k;break f}o[d>>2]=f}h=h+1|0;d=o[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<1){break e}d=0;while(1){g=d<<2;f=g+c|0;g=o[b+g>>2]+o[g+j>>2]|0;o[f>>2]=g;g:{if((g|0)>o[a+16>>2]){g=g-o[a+20>>2]|0}else{if((g|0)>=o[a+12>>2]){break g}g=g+o[a+20>>2]|0}o[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}z=o[a+52>>2];p=o[a+48>>2];t=yk(16);d=t;o[d>>2]=0;o[d+4>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;o[i+8>>2]=0;o[i>>2]=0;o[i+4>>2]=0;h:{if(e){if(e>>>0>=1073741824){break h}d=e<<2;s=yk(d);o[i>>2]=s;f=d+s|0;o[i+8>>2]=f;ml(s,0,d);o[i+4>>2]=f}d=1;f=o[a+56>>2];y=o[f>>2];f=o[f+4>>2]-y|0;i:{if((f|0)<5){break i}d=f>>2;A=(d|0)>2?d:2;B=d>>>0>1?d:1;C=e<<2;k=1;while(1){j:{k:{l:{if((k|0)!=(B|0)){m:{n:{j=o[(k<<2)+y>>2];if((j|0)==-1){break n}m=j+((j>>>0)%3|0?-1:2)|0;v=m>>>5|0;l=1;w=1<<(m&31);x=o[p>>2];f=0;d=j;o:{while(1){p:{if(o[x+(d>>>3&536870908)>>2]>>>(d&31)&1){break p}g=o[o[o[p+64>>2]+12>>2]+(d<<2)>>2];if((g|0)==-1){break p}q=o[z>>2];h=o[p+28>>2];r=o[q+(o[h+(g<<2)>>2]<<2)>>2];if((r|0)>=(k|0)){break p}n=g+1|0;n=o[q+(o[h+(((n>>>0)%3|0?n:g+ -2|0)<<2)>>2]<<2)>>2];if((n|0)>=(k|0)){break p}g=o[q+(o[h+(g+((g>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(k|0)){break p}if((e|0)>=1){q=o[(i+16|0)+u(f,12)>>2];g=u(e,g);n=u(e,n);r=u(e,r);h=0;while(1){o[q+(h<<2)>>2]=(o[(g+h<<2)+c>>2]+o[(h+n<<2)+c>>2]|0)-o[(h+r<<2)+c>>2];h=h+1|0;if((h|0)!=(e|0)){continue}break}}g=4;f=f+1|0;if((f|0)==4){break o}}q:{if(l&1){h=-1;g=d+1|0;d=(g>>>0)%3|0?g:d+ -2|0;if((d|0)==-1|o[o[p>>2]+(d>>>3&536870908)>>2]>>>(d&31)&1){break q}d=o[o[o[p+64>>2]+12>>2]+(d<<2)>>2];if((d|0)==-1){break q}g=d+1|0;h=(g>>>0)%3|0?g:d+ -2|0;break q}h=-1;d=((d>>>0)%3|0?-1:2)+d|0;if((d|0)==-1|o[o[p>>2]+(d>>>3&536870908)>>2]>>>(d&31)&1){break q}d=o[o[o[p+64>>2]+12>>2]+(d<<2)>>2];if((d|0)==-1){break q}if((d>>>0)%3){h=d+ -1|0;break q}h=d+2|0}r:{if((h|0)==(j|0)){break r}d=h;g=(h|0)!=-1;h=(g|l^-1)&1;d=h?d:-1;l=g&l;if(!((m|0)==-1|h)){if(o[o[p>>2]+(v<<2)>>2]&w){break r}g=o[o[o[p+64>>2]+12>>2]+(m<<2)>>2];if((g|0)==-1){break r}l=0;if((g>>>0)%3){d=g+ -1|0}else{d=g+2|0}}if((d|0)!=-1){continue}}break}g=f;if((g|0)<1){break n}}m=(e|0)<1;if(!m){ml(s,0,C)}d=g+ -1|0;l=(d<<2)+t|0;d=u(d,12)+a|0;q=d+60|0;v=o[d- -64>>2];d=0;w=o[i>>2];j=0;f=0;while(1){h=o[l>>2];o[l>>2]=h+1;if(v>>>0<=h>>>0){break i}s:{if(o[o[q>>2]+(h>>>3&536870908)>>2]>>>(h&31)&1){break s}f=f+1|0;if(m){break s}x=o[(i+16|0)+u(j,12)>>2];h=0;while(1){r=h<<2;n=r+w|0;o[n>>2]=o[n>>2]+o[r+x>>2];h=h+1|0;if((h|0)!=(e|0)){continue}break}}j=j+1|0;if((g|0)!=(j|0)){continue}break}l=u(e,k);g=l;if(!f){break m}h=0;if((e|0)>0){break l}break k}g=u(e,k)}if(o[a+8>>2]<1){break j}l=(u(k+ -1|0,e)<<2)+c|0;h=0;while(1){d=h<<2;f=o[d+l>>2];m=o[a+16>>2];t:{if((f|0)>(m|0)){j=o[a+32>>2];o[d+j>>2]=m;break t}j=o[a+32>>2];d=d+j|0;m=o[a+12>>2];if((f|0)<(m|0)){o[d>>2]=m;break t}o[d>>2]=f}h=h+1|0;f=o[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<1){break j}f=g<<2;h=f+c|0;l=b+f|0;while(1){g=d<<2;f=g+h|0;g=o[g+l>>2]+o[g+j>>2]|0;o[f>>2]=g;u:{if((g|0)>o[a+16>>2]){g=g-o[a+20>>2]|0}else{if((g|0)>=o[a+12>>2]){break u}g=g+o[a+20>>2]|0}o[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}break j}Ok();D()}while(1){d=(h<<2)+s|0;o[d>>2]=o[d>>2]/(f|0);h=h+1|0;if((h|0)!=(e|0)){continue}break}}if(o[a+8>>2]<1){break j}h=0;while(1){d=h<<2;f=o[d+s>>2];g=o[a+16>>2];v:{if((f|0)>(g|0)){j=o[a+32>>2];o[d+j>>2]=g;break v}j=o[a+32>>2];d=d+j|0;g=o[a+12>>2];if((f|0)<(g|0)){o[d>>2]=g;break v}o[d>>2]=f}h=h+1|0;f=o[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<1){break j}f=l<<2;h=f+c|0;l=b+f|0;while(1){g=d<<2;f=g+h|0;g=o[g+l>>2]+o[g+j>>2]|0;o[f>>2]=g;w:{if((g|0)>o[a+16>>2]){g=g-o[a+20>>2]|0}else{if((g|0)>=o[a+12>>2]){break w}g=g+o[a+20>>2]|0}o[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}d=1;k=k+1|0;if((A|0)!=(k|0)){continue}break}}a=o[i>>2];if(a){o[i+4>>2]=a;jl(a)}jl(t);a=o[i+52>>2];if(a){o[i+56>>2]=a;jl(a)}a=o[i+40>>2];if(a){o[i+44>>2]=a;jl(a)}a=o[i+28>>2];if(a){o[i+32>>2]=a;jl(a)}a=o[i+16>>2];if(a){o[i+20>>2]=a;jl(a)}R=i- -64|0;return d|0}Nk();D()}function ef(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=R+ -64|0;R=h;o[a+8>>2]=e;f=a+32|0;j=o[f>>2];d=o[a+36>>2]-j>>2;a:{if(d>>>0>>0){Ia(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}o[a+36>>2]=j+(e<<2)}o[h+56>>2]=0;o[h+60>>2]=0;o[h+48>>2]=0;o[h+52>>2]=0;o[h+40>>2]=0;o[h+44>>2]=0;d=h+32|0;o[d>>2]=0;o[d+4>>2]=0;o[h+24>>2]=0;o[h+28>>2]=0;o[h+16>>2]=0;o[h+20>>2]=0;o[h>>2]=0;f=0;if(e){Dd(h+16|0,e,h);i=o[h+28>>2];f=o[d>>2]}o[h>>2]=0;d=f-i>>2;b:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break b}o[h+32>>2]=(e<<2)+i;break b}Dd(h+16|12,e-d|0,h)}o[h>>2]=0;f=o[h+40>>2];d=o[h+44>>2]-f>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}o[h+44>>2]=f+(e<<2);break c}Dd(h+40|0,e-d|0,h)}o[h>>2]=0;f=o[h+52>>2];d=o[h+56>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}o[h+56>>2]=f+(e<<2);break d}Dd(h+52|0,e-d|0,h)}e:{if(o[a+8>>2]<=0){break e}g=o[h+16>>2];i=0;while(1){d=i<<2;f=o[d+g>>2];l=o[a+16>>2];f:{if((f|0)>(l|0)){j=o[a+32>>2];o[d+j>>2]=l;break f}j=o[a+32>>2];d=d+j|0;l=o[a+12>>2];if((f|0)<(l|0)){o[d>>2]=l;break f}o[d>>2]=f}i=i+1|0;d=o[a+8>>2];if((i|0)<(d|0)){continue}break}if((d|0)<1){break e}f=0;while(1){g=f<<2;d=g+c|0;g=o[b+g>>2]+o[g+j>>2]|0;o[d>>2]=g;g:{if((g|0)>o[a+16>>2]){g=g-o[a+20>>2]|0}else{if((g|0)>=o[a+12>>2]){break g}g=g+o[a+20>>2]|0}o[d>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}z=o[a+52>>2];x=o[a+48>>2];w=yk(16);d=w;o[d>>2]=0;o[d+4>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;o[h+8>>2]=0;o[h>>2]=0;o[h+4>>2]=0;h:{if(e){if(e>>>0>=1073741824){break h}d=e<<2;r=yk(d);o[h>>2]=r;f=d+r|0;o[h+8>>2]=f;ml(r,0,d);o[h+4>>2]=f}j=1;d=o[a+56>>2];y=o[d>>2];d=o[d+4>>2]-y|0;i:{if((d|0)<5){break i}d=d>>2;A=(d|0)>2?d:2;B=d>>>0>1?d:1;C=e<<2;l=1;while(1){j:{k:{l:{if((l|0)!=(B|0)){m:{n:{j=o[(l<<2)+y>>2];if((j|0)==-1){break n}m=o[x+12>>2];t=j+((j>>>0)%3|0?-1:2)|0;v=m+(t<<2)|0;k=1;f=0;d=j;o:{while(1){g=o[m+(d<<2)>>2];p:{if((g|0)==-1){break p}i=-1;q=o[z>>2];n=o[x>>2];s=o[q+(o[n+(g<<2)>>2]<<2)>>2];p=g+1|0;p=(p>>>0)%3|0?p:g+ -2|0;if((p|0)!=-1){p=o[n+(p<<2)>>2]}else{p=-1}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)!=-1){i=o[n+(g<<2)>>2]}if((s|0)>=(l|0)){break p}g=o[(p<<2)+q>>2];if((g|0)>=(l|0)){break p}i=o[q+(i<<2)>>2];if((i|0)>=(l|0)){break p}n=o[(h+16|0)+u(f,12)>>2];if((e|0)>=1){q=u(e,i);g=u(e,g);s=u(e,s);i=0;while(1){o[n+(i<<2)>>2]=(o[(i+q<<2)+c>>2]+o[(g+i<<2)+c>>2]|0)-o[(i+s<<2)+c>>2];i=i+1|0;if((i|0)!=(e|0)){continue}break}}g=4;f=f+1|0;if((f|0)==4){break o}}q:{if(k&1){n=d+1|0;d=(n>>>0)%3|0?n:d+ -2|0;g=-1;if((d|0)==-1){break q}d=o[m+(d<<2)>>2];g=-1;if((d|0)==-1){break q}g=d+1|0;g=(g>>>0)%3|0?g:d+ -2|0;break q}d=((d>>>0)%3|0?-1:2)+d|0;g=-1;if((d|0)==-1){break q}d=o[m+(d<<2)>>2];g=-1;if((d|0)==-1){break q}g=d+ -1|0;if((d>>>0)%3){break q}g=d+2|0}r:{if((g|0)==(j|0)){break r}d=g;g=(g|0)!=-1;i=(g|k^-1)&1;d=i?d:-1;k=g&k;if(!((t|0)==-1|i)){g=o[v>>2];if((g|0)==-1){break r}k=0;if((g>>>0)%3){d=g+ -1|0}else{d=g+2|0}}if((d|0)!=-1){continue}}break}g=f;if((g|0)<1){break n}}m=(e|0)<1;if(!m){ml(r,0,C)}d=g+ -1|0;k=(d<<2)+w|0;d=u(d,12)+a|0;n=d+60|0;q=o[d- -64>>2];j=0;s=o[h>>2];d=0;f=0;while(1){i=o[k>>2];o[k>>2]=i+1;if(q>>>0<=i>>>0){break i}s:{if(o[o[n>>2]+(i>>>3&536870908)>>2]>>>(i&31)&1){break s}f=f+1|0;if(m){break s}p=o[(h+16|0)+u(d,12)>>2];i=0;while(1){t=i<<2;v=t+s|0;o[v>>2]=o[v>>2]+o[p+t>>2];i=i+1|0;if((i|0)!=(e|0)){continue}break}}d=d+1|0;if((g|0)!=(d|0)){continue}break}g=u(e,l);d=g;if(!f){break m}i=0;if((e|0)>0){break l}break k}d=u(e,l)}if(o[a+8>>2]<1){break j}k=(u(l+ -1|0,e)<<2)+c|0;i=0;while(1){f=i<<2;g=o[f+k>>2];m=o[a+16>>2];t:{if((g|0)>(m|0)){j=o[a+32>>2];o[f+j>>2]=m;break t}j=o[a+32>>2];f=f+j|0;m=o[a+12>>2];if((g|0)<(m|0)){o[f>>2]=m;break t}o[f>>2]=g}i=i+1|0;g=o[a+8>>2];if((i|0)<(g|0)){continue}break}f=0;if((g|0)<1){break j}d=d<<2;i=d+c|0;k=b+d|0;while(1){g=f<<2;d=g+i|0;g=o[g+k>>2]+o[g+j>>2]|0;o[d>>2]=g;u:{if((g|0)>o[a+16>>2]){g=g-o[a+20>>2]|0}else{if((g|0)>=o[a+12>>2]){break u}g=g+o[a+20>>2]|0}o[d>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}break j}Ok();D()}while(1){d=(i<<2)+r|0;o[d>>2]=o[d>>2]/(f|0);i=i+1|0;if((i|0)!=(e|0)){continue}break}}if(o[a+8>>2]<1){break j}i=0;while(1){d=i<<2;f=o[d+r>>2];k=o[a+16>>2];v:{if((f|0)>(k|0)){j=o[a+32>>2];o[d+j>>2]=k;break v}j=o[a+32>>2];d=d+j|0;k=o[a+12>>2];if((f|0)<(k|0)){o[d>>2]=k;break v}o[d>>2]=f}i=i+1|0;d=o[a+8>>2];if((i|0)<(d|0)){continue}break}f=0;if((d|0)<1){break j}d=g<<2;i=d+c|0;k=b+d|0;while(1){g=f<<2;d=g+i|0;g=o[g+k>>2]+o[g+j>>2]|0;o[d>>2]=g;w:{if((g|0)>o[a+16>>2]){g=g-o[a+20>>2]|0}else{if((g|0)>=o[a+12>>2]){break w}g=g+o[a+20>>2]|0}o[d>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}j=1;l=l+1|0;if((A|0)!=(l|0)){continue}break}}a=o[h>>2];if(a){o[h+4>>2]=a;jl(a)}jl(w);a=o[h+52>>2];if(a){o[h+56>>2]=a;jl(a)}a=o[h+40>>2];if(a){o[h+44>>2]=a;jl(a)}a=o[h+28>>2];if(a){o[h+32>>2]=a;jl(a)}a=o[h+16>>2];if(a){o[h+20>>2]=a;jl(a)}R=h- -64|0;return j|0}Nk();D()}function _j(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=R-16|0;R=e;o[e+12>>2]=a;a:{if(a>>>0<=211){a=o[$j(11680,11872,e+12|0)>>2];break a}if(a>>>0>=4294967292){bk();D()}f=(a>>>0)/210|0;d=u(f,210);o[e+8>>2]=a-d;g=$j(11872,12064,e+8|0)-11872>>2;b:{while(1){a=o[(g<<2)+11872>>2]+d|0;d=5;c:{d:{e:{while(1){if((d|0)==47){break e}b=o[(d<<2)+11680>>2];c=(a>>>0)/(b>>>0)|0;h=c>>>0>>0;i=h?a:i;d=d+1|0;b=h?1:(u(b,c)|0)==(a|0)?7:0;if(!b){continue}break}d=b+ -4|0;if(d>>>0>3){break b}switch(d-1|0){case 0:case 1:break b;case 2:break d;default:break e}}d=211;while(1){b=(a>>>0)/(d>>>0)|0;if(b>>>0>>0){break c}if((u(b,d)|0)==(a|0)){break d}b=d+10|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+12|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+16|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+18|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+22|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+28|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+30|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+36|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+40|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+42|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+46|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+52|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+58|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+60|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+66|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+70|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+72|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+78|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+82|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+88|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+96|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+100|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+102|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+106|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+108|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+112|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+120|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+126|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+130|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+136|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+138|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+142|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+148|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+150|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+156|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+162|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+166|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+168|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+172|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+178|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+180|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+186|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+190|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+192|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+196|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+198|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((u(b,c)|0)==(a|0)){break d}b=d+208|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}d=d+210|0;if((u(b,c)|0)!=(a|0)){continue}break}}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=u(f,210);continue}break}o[e+12>>2]=a;break a}o[e+12>>2]=a;a=i}R=e+16|0;return a}function Gj(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0;f=R-80|0;R=f;o[f+76>>2]=12431;A=f+55|0;x=f+56|0;a:{b:{c:while(1){d:{if((s|0)<0){break d}if((e|0)>(2147483647-s|0)){o[3314]=61;s=-1;break d}s=e+s|0}e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{j=o[f+76>>2];e=j;i=p[e|0];if(i){while(1){r:{s:{g=i&255;t:{if(!g){i=e;break t}if((g|0)!=37){break s}i=e;while(1){if(p[e+1|0]!=37){break t}g=e+2|0;o[f+76>>2]=g;i=i+1|0;h=p[e+2|0];e=g;if((h|0)==37){continue}break}}e=i-j|0;if(a){Hj(a,j,e)}if(e){continue c}v=-1;i=1;g=f;k=!Bj(m[o[f+76>>2]+1|0]);e=o[f+76>>2];if(!(k|p[e+2|0]!=36)){v=m[e+1|0]+ -48|0;y=1;i=3}e=i+e|0;o[g+76>>2]=e;i=0;w=m[e|0];h=w+ -32|0;u:{if(h>>>0>31){g=e;break u}g=e;h=1<>2]=g;i=h|i;w=m[e+1|0];h=w+ -32|0;if(h>>>0>31){break u}e=g;h=1<>2];if(p[e+2|0]!=36){break x}o[((m[e+1|0]<<2)+d|0)+ -192>>2]=10;r=o[((m[e+1|0]<<3)+c|0)+ -384>>2];y=1;e=e+3|0;break w}if(y){break b}y=0;r=0;if(a){e=o[b>>2];o[b>>2]=e+4;r=o[e>>2]}e=o[f+76>>2]+1|0}o[k+76>>2]=e;if((r|0)>-1){break v}r=0-r|0;i=i|8192;break v}r=Ij(f+76|0);if((r|0)<0){break b}e=o[f+76>>2]}h=-1;y:{if(p[e|0]!=46){break y}if(p[e+1|0]==42){z:{if(!Bj(m[e+2|0])){break z}e=o[f+76>>2];if(p[e+3|0]!=36){break z}o[((m[e+2|0]<<2)+d|0)+ -192>>2]=10;h=o[((m[e+2|0]<<3)+c|0)+ -384>>2];e=e+4|0;o[f+76>>2]=e;break y}if(y){break b}if(a){e=o[b>>2];o[b>>2]=e+4;h=o[e>>2]}else{h=0}e=o[f+76>>2]+2|0;o[f+76>>2]=e;break y}o[f+76>>2]=e+1;h=Ij(f+76|0);e=o[f+76>>2]}g=0;while(1){z=g;q=-1;if(m[e|0]+ -65>>>0>57){break a}w=e+1|0;o[f+76>>2]=w;g=m[e|0];e=w;g=p[(g+u(z,58)|0)+11087|0];if(g+ -1>>>0<8){continue}break}if(!g){break a}A:{B:{C:{if((g|0)==19){if((v|0)<=-1){break C}break a}if((v|0)<0){break B}o[(v<<2)+d>>2]=g;e=(v<<3)+c|0;g=o[e+4>>2];o[f+64>>2]=o[e>>2];o[f+68>>2]=g}e=0;if(!a){continue c}break A}if(!a){break e}Jj(f- -64|0,g,b);w=o[f+76>>2]}k=i&-65537;i=i&8192?k:i;q=0;v=11120;g=x;e=m[w+ -1|0];e=z?(e&15)==3?e&-33:e:e;w=e+ -88|0;if(w>>>0<=32){break r}D:{E:{F:{G:{k=e+ -65|0;if(k>>>0>6){if((e|0)!=83){break f}if(!h){break G}g=o[f+64>>2];break E}switch(k-1|0){case 1:break F;case 0:case 2:break f;default:break q}}e=0;Kj(a,32,r,0,i);break D}o[f+12>>2]=0;o[f+8>>2]=o[f+64>>2];o[f+64>>2]=f+8;h=-1;g=f+8|0}e=0;H:{while(1){j=o[g>>2];if(!j){break H}j=Dj(f+4|0,j);k=(j|0)<0;if(!(k|j>>>0>h-e>>>0)){g=g+4|0;e=e+j|0;if(h>>>0>e>>>0){continue}break H}break}q=-1;if(k){break a}}Kj(a,32,r,e,i);if(!e){e=0;break D}h=0;g=o[f+64>>2];while(1){j=o[g>>2];if(!j){break D}j=Dj(f+4|0,j);h=j+h|0;if((h|0)>(e|0)){break D}Hj(a,f+4|0,j);g=g+4|0;if(h>>>0>>0){continue}break}}Kj(a,32,r,e,i^8192);e=(r|0)>(e|0)?r:e;continue c}g=e+1|0;o[f+76>>2]=g;i=p[e+1|0];e=g;continue}break}switch(w-1|0){case 28:break i;case 21:break j;case 23:break l;case 22:break m;case 11:case 16:break n;case 10:break o;case 26:break p;case 8:case 12:case 13:case 14:break q;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 15:case 17:case 18:case 19:case 20:case 24:case 25:case 27:case 29:case 30:break f;default:break k}}q=s;if(a){break a}if(!y){break e}e=1;while(1){a=o[(e<<2)+d>>2];if(a){Jj((e<<3)+c|0,a,b);q=1;e=e+1|0;if((e|0)!=10){continue}break a}break}q=1;if(e>>>0>9){break a}while(1){a=e;e=e+1|0;if(o[(e<<2)+d>>2]?0:(e|0)!=10){continue}break}q=a>>>0<9?-1:1;break a}e=l[274](a,t[f+64>>3],r,h,i,e)|0;continue}e=o[f+64>>2];j=e?e:11130;e=Uj(j,h);g=e?e:h+j|0;i=k;h=e?e-j|0:h;break f}m[f+55|0]=o[f+64>>2];h=1;j=A;i=k;break f}k=o[f+68>>2];e=k;j=o[f+64>>2];if((e|0)<-1?1:(e|0)<=-1?j>>>0>4294967295?0:1:0){e=0-(e+(0>>0)|0)|0;j=0-j|0;o[f+64>>2]=j;o[f+68>>2]=e;q=1;v=11120;break h}if(i&2048){q=1;v=11121;break h}q=i&1;v=q?11122:11120;break h}j=Lj(o[f+64>>2],o[f+68>>2],x);if(!(i&8)){break g}e=x-j|0;h=(h|0)>(e|0)?h:e+1|0;break g}h=h>>>0>8?h:8;i=i|8;e=120}j=Mj(o[f+64>>2],o[f+68>>2],x,e&32);if(!(i&8)|!(o[f+64>>2]|o[f+68>>2])){break g}v=(e>>>4|0)+11120|0;q=2;break g}e=0;g=z&255;if(g>>>0>7){continue}I:{switch(g-1|0){default:o[o[f+64>>2]>>2]=s;continue;case 0:o[o[f+64>>2]>>2]=s;continue;case 1:g=o[f+64>>2];o[g>>2]=s;o[g+4>>2]=s>>31;continue;case 2:n[o[f+64>>2]>>1]=s;continue;case 3:m[o[f+64>>2]]=s;continue;case 5:o[o[f+64>>2]>>2]=s;continue;case 4:continue;case 6:break I}}g=o[f+64>>2];o[g>>2]=s;o[g+4>>2]=s>>31;continue}j=o[f+64>>2];e=o[f+68>>2];v=11120}j=Nj(j,e,x)}i=(h|0)>-1?i&-65537:i;e=o[f+64>>2];k=o[f+68>>2];J:{if(!(!!(e|k)|h)){j=x;h=0;break J}e=!(e|k)+(x-j|0)|0;h=(h|0)>(e|0)?h:e}}k=g-j|0;h=(h|0)<(k|0)?k:h;g=h+q|0;e=(r|0)<(g|0)?g:r;Kj(a,32,e,g,i);Hj(a,v,q);Kj(a,48,e,g,i^65536);Kj(a,48,h,k,0);Hj(a,j,k);Kj(a,32,e,g,i^8192);continue}break}q=0;break a}q=-1}R=f+80|0;return q}function Wg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,s=0,t=0,v=0;g=R+ -64|0;R=g;o[a+132>>2]=0;if(o[a+148>>2]){c=o[a+144>>2];if(c){while(1){d=o[c>>2];jl(c);c=d;if(d){continue}break}}o[a+144>>2]=0;d=o[a+140>>2];if(d){c=0;while(1){o[o[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}o[a+148>>2]=0}a:{if(!Xg(1,g+52|0,o[o[a+4>>2]+32>>2])){break a}o[a+156>>2]=o[g+52>>2];if(!Xg(1,g+48|0,o[o[a+4>>2]+32>>2])){break a}f=o[g+48>>2];if(f>>>0>1431655765|r[a+156>>2]>u(f,3)>>>0){break a}d=o[o[a+4>>2]+32>>2];j=o[d+16>>2];e=o[d+12>>2];c=o[d+20>>2];if((e|0)<(c|0)?1:(e|0)<=(c|0)?r[d+8>>2]>j>>>0?0:1:0){break a}h=p[j+o[d>>2]|0];j=j+1|0;if(j>>>0<1){c=c+1|0}o[d+16>>2]=j;o[d+20>>2]=c;if(!Xg(1,g+44|0,d)){break a}k=o[g+44>>2];if(f>>>0>>0|f>>>0>k+((k>>>0)/3|0)>>>0){break a}if(!Xg(1,g+40|0,o[o[a+4>>2]+32>>2])){break a}e=o[g+40>>2];if(e>>>0>k>>>0){break a}o[a+28>>2]=o[a+24>>2];c=yk(88);Ci(c);d=o[a+8>>2];o[a+8>>2]=c;j=a+8|0;if(d){za(j,d);if(!o[j>>2]){break a}}b=o[a+160>>2];o[a+164>>2]=b;b:{c:{d:{e:{f:{if(o[a+168>>2]-b>>2>>>0>=f>>>0){break f}if(f>>>0>=1073741824){break e}c=f<<2;d=yk(c);o[a+164>>2]=d;o[a+160>>2]=d;o[a+168>>2]=c+d;if(!b){break f}jl(b)}b=o[a+172>>2];o[a+176>>2]=b;g:{if(o[a+180>>2]-b>>2>>>0>=f>>>0){break g}if(f>>>0>=1073741824){break d}c=f<<2;d=yk(c);o[a+176>>2]=d;o[a+172>>2]=d;o[a+180>>2]=c+d;if(!b){break g}jl(b)}o[a+92>>2]=-1;o[a+84>>2]=-1;o[a+88>>2]=-1;o[a+40>>2]=o[a+36>>2];o[a- -64>>2]=0;o[a+52>>2]=o[a+48>>2];o[a+76>>2]=o[a+72>>2];n=a+216|0;d=o[a+220>>2];b=o[a+216>>2];if((d|0)==(b|0)){break c}while(1){c=o[d+ -12>>2];if(c){o[d+ -8>>2]=c;jl(c)}c=o[d+ -28>>2];if(c){o[d+ -24>>2]=c;jl(c)}c=d+ -144|0;i=o[d+ -40>>2];if(i){o[d+ -36>>2]=i;jl(i)}Yg(d+ -140|0);d=c;if((b|0)!=(d|0)){continue}break}d=o[n>>2];break b}db(8832);D()}db(8832);D()}d=b}o[a+220>>2]=b;c=(b-d|0)/144|0;h:{if(c>>>0>>0){Zg(n,h-c|0);break h}if(c>>>0<=h>>>0){break h}c=d+u(h,144)|0;if((c|0)!=(b|0)){while(1){d=o[b+ -12>>2];if(d){o[b+ -8>>2]=d;jl(d)}d=o[b+ -28>>2];if(d){o[b+ -24>>2]=d;jl(d)}d=b+ -144|0;i=o[b+ -40>>2];if(i){o[b+ -36>>2]=i;jl(i)}Yg(b+ -140|0);b=d;if((b|0)!=(c|0)){continue}break}}o[a+220>>2]=c}b=0;if(!Mi(o[a+8>>2],f,o[a+156>>2]+e|0)){break a}d=o[a+156>>2];m[g|0]=1;eb(a+120|0,d+e|0,g);if((_g(a,o[o[a+4>>2]+32>>2])|0)==-1){break a}o[a+376>>2]=a;e=a+232|0;b=o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2];f=o[b>>2]+o[b+16>>2]|0;c=o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2];b=o[c+8>>2];d=o[c+16>>2];ti(e,f,b-d|0,q[o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);o[a+372>>2]=h;d=si(g);b=o[a+268>>2];o[a+304>>2]=o[a+264>>2];o[a+308>>2]=b;b=o[a+260>>2];o[a+296>>2]=o[a+256>>2];o[a+300>>2]=b;c=a+248|0;b=c;f=o[b+4>>2];o[a+288>>2]=o[b>>2];o[a+292>>2]=f;h=a+240|0;b=h;f=o[b+4>>2];o[a+280>>2]=o[b>>2];o[a+284>>2]=f;b=o[a+236>>2];f=a+272|0;o[f>>2]=o[a+232>>2];o[f+4>>2]=b;i:{j:{if(ui(f,1,g+56|0)){b=o[f+4>>2];o[e>>2]=o[f>>2];o[e+4>>2]=b;b=o[f+36>>2];o[e+32>>2]=o[f+32>>2];o[e+36>>2]=b;b=o[f+28>>2];o[e+24>>2]=o[f+24>>2];o[e+28>>2]=b;b=o[f+20>>2];o[e+16>>2]=o[f+16>>2];o[e+20>>2]=b;b=o[f+12>>2];o[e+8>>2]=o[f+8>>2];o[e+12>>2]=b;i=o[h>>2];b=o[c>>2];t=i-b|0;s=o[g+60>>2];v=o[h+4>>2];h=o[c+4>>2];c=v-(h+(i>>>0>>0)|0)|0;i=o[g+56>>2];if((s|0)==(c|0)&i>>>0<=t>>>0|s>>>0>>0){break j}}b=0;break i}h=h+s|0;i=b+i|0;if(i>>>0>>0){h=h+1|0}o[a+248>>2]=i;o[a+252>>2]=h;b=0;if(!Sf(a+312|0,e)){break i}if(!$g(e)){break i}c=o[e+36>>2];o[g+32>>2]=o[e+32>>2];o[g+36>>2]=c;c=o[e+28>>2];o[g+24>>2]=o[e+24>>2];o[g+28>>2]=c;c=o[e+20>>2];o[g+16>>2]=o[e+16>>2];o[g+20>>2]=c;c=o[e+12>>2];o[g+8>>2]=o[e+8>>2];o[g+12>>2]=c;c=o[e+4>>2];o[g>>2]=o[e>>2];o[g+4>>2]=c;h=ah(a,k);if((h|0)==-1){break i}c=o[o[a+4>>2]+32>>2];b=o[d+16>>2];e=b+o[d>>2]|0;d=o[d+8>>2];ti(c,e,d-b|0,q[c+38>>1]);k:{if(o[a+220>>2]==o[a+216>>2]){break k}b=o[j>>2];if(o[b+4>>2]==o[b>>2]){break k}d=0;while(1){if(bh(a,d)){d=d+3|0;b=o[j>>2];if(d>>>0>2]-o[b>>2]>>2>>>0){continue}break k}break}b=0;break i}if(p[a+308|0]){wi(f)}c=o[a+216>>2];if((c|0)!=o[a+220>>2]){b=0;while(1){e=u(b,144);Wi((e+c|0)+4|0,o[j>>2]);d=o[n>>2];f=e+d|0;c=o[f+132>>2];f=o[f+136>>2];if((c|0)!=(f|0)){while(1){Yi((d+e|0)+4|0,o[c>>2]);d=o[n>>2];c=c+4|0;if((f|0)!=(c|0)){continue}break}}Xi((d+e|0)+4|0);b=b+1|0;c=o[a+216>>2];if(b>>>0<(o[a+220>>2]-c|0)/144>>>0){continue}break}}b=o[a+8>>2];ch(a+184|0,o[b+28>>2]-o[b+24>>2]>>2);d=o[a+216>>2];if((d|0)!=o[a+220>>2]){c=0;while(1){b=u(c,144)+d|0;d=o[b+60>>2]-o[b+56>>2]>>2;e=b+104|0;b=o[a+8>>2];b=o[b+28>>2]-o[b+24>>2]>>2;ch(e,(d|0)<(b|0)?b:d);c=c+1|0;d=o[a+216>>2];if(c>>>0<(o[a+220>>2]-d|0)/144>>>0){continue}break}}b=dh(a,h)}}R=g- -64|0;return b|0}function dh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=R-48|0;R=d;c=o[o[a+4>>2]+44>>2];f=o[a+8>>2];e=o[f>>2];f=o[f+4>>2];o[d+40>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;f=(f-e>>2>>>0)/3|0;h=o[c+96>>2];e=(o[c+100>>2]-h|0)/12|0;a:{if(f>>>0>e>>>0){gh(c+96|0,f-e|0,d+32|0);break a}if(f>>>0>=e>>>0){break a}o[c+100>>2]=h+u(f,12)}b:{if(o[a+216>>2]==o[a+220>>2]){j=o[a+4>>2];c=o[j+44>>2];f=o[c+100>>2];l=o[c+96>>2];if((f|0)!=(l|0)){c=(f-l|0)/12|0;i=c>>>0>1?c:1;k=d+40|0;c=0;while(1){o[k>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;e=d;c:{d:{e:{h=u(c,3);if((h|0)==-1){f=-1;o[d+32>>2]=-1;g=0;break e}f=o[o[o[a+8>>2]>>2]+(h<<2)>>2];o[d+32>>2]=f;g=h+1|0;if((g|0)!=-1){break e}o[d+36>>2]=-1;h=0;break d}o[d+36>>2]=o[o[o[a+8>>2]>>2]+(g<<2)>>2];h=h+2|0;g=-1;if((h|0)==-1){break c}}g=o[o[o[a+8>>2]>>2]+(h<<2)>>2]}o[e+40>>2]=g;e=l+u(c,12)|0;o[e>>2]=f;o[e+4>>2]=o[d+36>>2];o[e+8>>2]=o[d+40>>2];c=c+1|0;if((i|0)!=(c|0)){continue}break}}o[o[j+4>>2]+80>>2]=b;c=1;break b}o[d+40>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;h=o[a+8>>2];b=o[h>>2];c=o[h+4>>2];o[d+24>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;f:{g:{h:{i:{j:{k:{l:{b=c-b|0;if(b){f=b>>2;if(f>>>0>=1073741824){break l}c=yk(b);o[d+16>>2]=c;f=c+(f<<2)|0;o[d+24>>2]=f;ml(c,0,b);o[d+20>>2]=f}if((o[h+28>>2]-o[h+24>>2]|0)<1){break g}while(1){f=o[o[h+24>>2]+(l<<2)>>2];m:{if((f|0)==-1){break m}n:{if(o[o[a+120>>2]+(l>>>3&536870908)>>2]>>>(l&31)&1){break n}b=o[a+220>>2];j=o[a+216>>2];if((b|0)==(j|0)){break n}m=(b-j|0)/144|0;i=((f>>>0)%3|0?-1:2)+f|0;g=0;while(1){n=f<<2;k=j+u(g,144)|0;b=o[n+o[o[k+68>>2]>>2]>>2];o:{if(!(o[o[k+16>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1)){break o}b=f;c=-1;p:{if((i|0)==-1){break p}e=o[o[h+12>>2]+(i<<2)>>2];c=-1;if((e|0)==-1){break p}c=e+ -1|0;if((e>>>0)%3){break p}c=e+2|0}if((b|0)==(c|0)){break o}k=o[k+32>>2];n=o[k+n>>2];while(1){b=0;if((c|0)==-1){break f}if((n|0)!=o[k+(c<<2)>>2]){f=c;break n}b=f;c=((c>>>0)%3|0?-1:2)+c|0;e=-1;q:{if((c|0)==-1){break q}c=o[o[h+12>>2]+(c<<2)>>2];e=-1;if((c|0)==-1){break q}e=c+ -1|0;if((c>>>0)%3){break q}e=c+2|0}c=e;if((b|0)!=(c|0)){continue}break}}g=g+1|0;if(g>>>0>>0){continue}break}}b=o[d+36>>2];c=o[d+32>>2];g=b-c|0;j=g>>2;o[o[d+16>>2]+(f<<2)>>2]=j;i=o[d+40>>2];r:{if(i>>>0>b>>>0){o[b>>2]=f;o[d+36>>2]=b+4;break r}e=j+1|0;if(e>>>0>=1073741824){break k}i=i-c|0;k=i>>1;e=i>>2>>>0<536870911?k>>>0>>0?e:k:1073741823;b=0;s:{if(!e){break s}if(e>>>0>=1073741824){break j}b=yk(e<<2)}j=b+(j<<2)|0;o[j>>2]=f;e=b+(e<<2)|0;j=j+4|0;if((g|0)>=1){ll(b,c,g)}o[d+40>>2]=e;o[d+36>>2]=j;o[d+32>>2]=b;if(!c){break r}jl(c);h=o[a+8>>2]}if((f|0)==-1){break m}b=((f>>>0)%3|0?-1:2)+f|0;if((b|0)==-1){break m}b=o[o[h+12>>2]+(b<<2)>>2];if((b|0)==-1){break m}c=b+((b>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=f;if((c|0)==(f|0)){break m}while(1){b=c;t:{u:{c=o[a+220>>2];g=o[a+216>>2];if((c|0)==(g|0)){break u}j=(c-g|0)/144|0;c=0;while(1){i=o[(g+u(c,144)|0)+32>>2];k=b<<2;if(o[i+k>>2]==o[i+(e<<2)>>2]){c=c+1|0;if(c>>>0>>0){continue}break u}break}c=o[d+36>>2];e=o[d+32>>2];j=c-e|0;i=j>>2;o[k+o[d+16>>2]>>2]=i;k=o[d+40>>2];if(k>>>0>c>>>0){o[c>>2]=b;o[d+36>>2]=c+4;break t}g=i+1|0;if(g>>>0>=1073741824){break i}k=k-e|0;m=k>>1;g=k>>2>>>0<536870911?m>>>0>>0?g:m:1073741823;c=0;v:{if(!g){break v}if(g>>>0>=1073741824){break h}c=yk(g<<2)}i=c+(i<<2)|0;o[i>>2]=b;g=c+(g<<2)|0;i=i+4|0;if((j|0)>=1){ll(c,e,j)}o[d+40>>2]=g;o[d+36>>2]=i;o[d+32>>2]=c;if(!e){break t}jl(e);h=o[a+8>>2];break t}c=o[d+16>>2];o[c+(b<<2)>>2]=o[c+(e<<2)>>2]}if((b|0)==-1){break m}c=b+((b>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}c=o[o[h+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=b;if((c|0)!=(f|0)){continue}break}}l=l+1|0;if((l|0)>2]-o[h+24>>2]>>2){continue}break}break g}Nk();D()}Nk();D()}db(8832);D()}Nk();D()}db(8832);D()}f=o[a+4>>2];a=o[f+44>>2];b=o[a+100>>2];a=o[a+96>>2];if((b|0)!=(a|0)){b=(b-a|0)/12|0;e=b>>>0>1?b:1;c=0;h=o[d+16>>2];while(1){l=d+8|0;g=u(c,12);b=g+h|0;o[l>>2]=o[b+8>>2];j=o[b+4>>2];i=o[b>>2];o[d>>2]=i;o[d+4>>2]=j;b=a+g|0;o[b>>2]=i;o[b+4>>2]=o[d+4>>2];o[b+8>>2]=o[l>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}}o[o[f+4>>2]+80>>2]=o[d+36>>2]-o[d+32>>2]>>2;b=1}c=b;a=o[d+16>>2];if(a){o[d+20>>2]=a;jl(a)}a=o[d+32>>2];if(!a){break b}o[d+36>>2]=a;jl(a)}R=d+48|0;return c}function Re(a,b,c,d){var e=0,f=0,g=0,h=0,i=v(0),j=0,k=0;a:{b:{if(!d){break b}e=o[a+28>>2]+ -1|0;if(e>>>0>10){break b}c:{d:{e:{switch(e-1|0){default:e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;h=m[b|0];o[e>>2]=h;o[e+4>>2]=h>>31;b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 0:e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;o[e>>2]=p[b|0];o[e+4>>2]=0;b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;h=n[b>>1];o[e>>2]=h;o[e+4>>2]=h>>31;b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;o[e>>2]=q[b>>1];o[e+4>>2]=0;b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;h=o[b>>2];o[e>>2]=h;o[e+4>>2]=h>>31;b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;o[e>>2]=o[b>>2];o[e+4>>2]=0;b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){h=o[b+4>>2];e=(f<<3)+d|0;o[e>>2]=o[b>>2];o[e+4>>2]=h;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){h=o[b+4>>2];e=(f<<3)+d|0;o[e>>2]=o[b>>2];o[e+4>>2]=h;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break c}g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;g=e;i=s[b>>2];f:{if(v(w(i))=v(1)?i>v(0)?~~v(y(v(A(v(i/v(4294967296)))),v(4294967296)))>>>0:~~v(B(v(v(i-v(~~i>>>0>>>0))/v(4294967296))))>>>0:0;k=~~i>>>0;break f}h=-2147483648;k=0}o[g>>2]=k;o[e+4>>2]=h;b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break c;case 8:e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;g=e;j=t[b>>3];g:{if(w(j)<0x8000000000000000){h=w(j)>=1?j>0?~~y(A(j/4294967296),4294967295)>>>0:~~B((j- +(~~j>>>0>>>0))/4294967296)>>>0:0;k=~~j>>>0;break g}h=-2147483648;k=0}o[g>>2]=k;o[e+4>>2]=h;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break d;case 9:break e}}e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=o[o[a>>2]>>2];e=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;o[e>>2]=p[b|0];o[e+4>>2]=0;b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}ml((e<<3)+d|0,0,c-e<<3);break b}if((e|0)>=(c|0)){break b}break a}if((e|0)>=(c|0)){break b}ml((e<<3)+d|0,0,c-e<<3)}return}ml((e<<3)+d|0,0,c-e<<3)}function Yh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0;c=R-32|0;R=c;a:{if(!Zh(1,c+28|0,o[a+32>>2])){break a}if(!Zh(1,c+24|0,o[a+32>>2])){break a}n=o[c+28>>2];if(n>>>0>1431655765){break a}f=Ol(n,0,3,0);b=T;u=o[c+24>>2];if(!b&f>>>0>>0|b>>>0<0){break a}d=o[a+32>>2];g=o[d+16>>2];e=o[d+12>>2];b=o[d+20>>2];if((e|0)<(b|0)?1:(e|0)<=(b|0)?r[d+8>>2]>g>>>0?0:1:0){break a}h=p[g+o[d>>2]|0];f=b;k=g+1|0;if(k>>>0<1){f=f+1|0}o[d+16>>2]=k;o[d+20>>2]=f;b:{if(!h){if(!_h(a,n)){break a}break b}i=d+16|0;c:{if(u>>>0<=255){if(!n){break b}m=c+16|0;o[m>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;l=o[d+8>>2];e=o[d+12>>2];b=e;if((b|0)<(f|0)?1:(b|0)<=(f|0)?l>>>0>k>>>0?0:1:0){break c}while(1){g=o[d>>2];j=p[g+k|0];b=f;h=k+1|0;if(h>>>0<1){b=b+1|0}o[d+16>>2]=h;o[d+20>>2]=b;o[c+8>>2]=j;if((e|0)<(b|0)?1:(e|0)<=(b|0)?l>>>0>h>>>0?0:1:0){break c}j=p[g+h|0];b=f;d=k+2|0;if(d>>>0<2){b=b+1|0}h=i;o[h>>2]=d;o[h+4>>2]=b;o[c+12>>2]=j;if((e|0)<(b|0)?1:(e|0)<=(b|0)?l>>>0>d>>>0?0:1:0){break c}b=p[d+g|0];e=k+3|0;if(e>>>0<3){f=f+1|0}o[i>>2]=e;o[i+4>>2]=f;o[c+16>>2]=b;$h(o[a+44>>2]+96|0,c+8|0);s=s+1|0;if((s|0)==(n|0)){break b}d=o[a+32>>2];b=d;k=o[b+16>>2];f=o[b+20>>2];o[m>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;i=b+16|0;l=o[b+8>>2];e=o[b+12>>2];b=e;if((b|0)>(f|0)?1:(b|0)>=(f|0)?l>>>0<=k>>>0?0:1:0){continue}break}break c}if(u>>>0<=65535){if(!n){break b}t=c+16|0;o[t>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;h=o[d+12>>2];j=h;e=g+3|0;if(e>>>0<3){b=b+1|0}m=o[d+8>>2];l=e;e=b;if((j|0)<(b|0)?1:(j|0)<=(b|0)?m>>>0>=l>>>0?0:1:0){break c}while(1){g=o[d>>2];b=g+k|0;b=p[b|0]|p[b+1|0]<<8;o[d+16>>2]=l;o[d+20>>2]=e;o[c+8>>2]=b;e=h;b=f;d=k+4|0;if(d>>>0<4){b=b+1|0}j=d;d=b;if((e|0)<(b|0)?1:(e|0)<=(b|0)?m>>>0>=j>>>0?0:1:0){break c}b=g+l|0;b=p[b|0]|p[b+1|0]<<8;o[i>>2]=j;o[i+4>>2]=d;o[c+12>>2]=b;b=f;f=k+6|0;if(f>>>0<6){b=b+1|0}e=f;f=b;if((h|0)<(b|0)?1:(h|0)<=(b|0)?m>>>0>=e>>>0?0:1:0){break c}b=g+j|0;b=p[b|0]|p[b+1|0]<<8;o[i>>2]=e;o[i+4>>2]=f;o[c+16>>2]=b;$h(o[a+44>>2]+96|0,c+8|0);s=s+1|0;if((s|0)==(n|0)){break b}d=o[a+32>>2];b=d;k=o[b+16>>2];f=o[b+20>>2];o[t>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;i=b+16|0;g=o[b+12>>2];h=g;m=o[b+8>>2];j=m;b=f;e=k+2|0;if(e>>>0<2){b=b+1|0}l=e;e=b;if((g|0)>(b|0)?1:(g|0)>=(b|0)?j>>>0>>0?0:1:0){continue}break}break c}d:{if(r[o[a+44>>2]+80>>2]>2097151){break d}e=q[a+36>>1];if((e<<24|e<<8&16711680)>>>16>>>0<514){break d}if(!n){break b}i=0;f=c+16|0;o[f>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;if(!Zh(1,c+4|0,d)){break c}while(1){o[c+8>>2]=o[c+4>>2];if(!Zh(1,c+4|0,o[a+32>>2])){break c}o[c+12>>2]=o[c+4>>2];if(!Zh(1,c+4|0,o[a+32>>2])){break c}o[c+16>>2]=o[c+4>>2];$h(o[a+44>>2]+96|0,c+8|0);i=i+1|0;if((n|0)==(i|0)){break b}b=o[a+32>>2];o[f>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;if(Zh(1,c+4|0,b)){continue}break}break c}if(!n){break b}t=c+16|0;o[t>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;h=o[d+12>>2];j=h;e=g+5|0;if(e>>>0<5){b=b+1|0}m=o[d+8>>2];l=e;e=b;if((j|0)<(b|0)?1:(j|0)<=(b|0)?m>>>0>=l>>>0?0:1:0){break c}while(1){g=o[d>>2];b=g+k|0;b=p[b|0]|p[b+1|0]<<8|(p[b+2|0]<<16|p[b+3|0]<<24);o[d+16>>2]=l;o[d+20>>2]=e;o[c+8>>2]=b;e=h;b=f;d=k+8|0;if(d>>>0<8){b=b+1|0}j=d;d=b;if((e|0)<(b|0)?1:(e|0)<=(b|0)?m>>>0>=j>>>0?0:1:0){break c}b=g+l|0;b=p[b|0]|p[b+1|0]<<8|(p[b+2|0]<<16|p[b+3|0]<<24);o[i>>2]=j;o[i+4>>2]=d;o[c+12>>2]=b;b=k+12|0;if(b>>>0<12){f=f+1|0}e=b;b=f;if((h|0)<(b|0)?1:(h|0)<=(b|0)?m>>>0>=e>>>0?0:1:0){break c}f=g+j|0;f=p[f|0]|p[f+1|0]<<8|(p[f+2|0]<<16|p[f+3|0]<<24);o[i>>2]=e;o[i+4>>2]=b;o[c+16>>2]=f;$h(o[a+44>>2]+96|0,c+8|0);s=s+1|0;if((s|0)==(n|0)){break b}d=o[a+32>>2];b=d;k=o[b+16>>2];f=o[b+20>>2];o[t>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;i=b+16|0;g=o[b+12>>2];h=g;m=o[b+8>>2];j=m;b=f;e=k+4|0;if(e>>>0<4){b=b+1|0}l=e;e=b;if((g|0)>(b|0)?1:(g|0)>=(b|0)?j>>>0>>0?0:1:0){continue}break}}i=0;break a}o[o[a+4>>2]+80>>2]=u;i=1}R=c+32|0;return i|0}function Dh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;a:{b:{c:{d:{e:{f:{g:{if(o[a+92>>2]==o[a+88>>2]){break g}d=o[a+52>>2];e=o[a+56>>2];h:{if((d|0)!=(e|0)){o[d>>2]=b;o[a+52>>2]=d+4;break h}i=o[a+48>>2];h=d-i|0;f=h>>2;g=f+1|0;if(g>>>0>=1073741824){break a}c=e-i|0;e=c>>1;c=c>>2>>>0<536870911?e>>>0>>0?g:e:1073741823;d=0;i:{if(!c){break i}if(c>>>0>=1073741824){break b}d=yk(c<<2)}e=d+(f<<2)|0;o[e>>2]=b;c=d+(c<<2)|0;e=e+4|0;if((h|0)>=1){ll(d,i,h)}o[a+56>>2]=c;o[a+52>>2]=e;o[a+48>>2]=d;if(!i){break h}jl(i)}o[a+84>>2]=0;e=-1;d=-1;j:{if((b|0)==-1){break j}f=o[a+4>>2];c=b+1|0;c=(c>>>0)%3|0?c:b+ -2|0;if((c|0)!=-1){e=o[o[f>>2]+(c<<2)>>2]}c=((b>>>0)%3|0?-1:2)+b|0;if((c|0)==-1){break j}d=o[o[f>>2]+(c<<2)>>2]}c=o[a+36>>2];h=c+(e>>>3&536870908)|0;g=o[h>>2];f=1<<(e&31);if(!(g&f)){o[h>>2]=f|g;f=a+8|0;if((b|0)!=-1){c=b+1|0;c=(c>>>0)%3|0?c:b+ -2|0}else{c=-1}Eh(f,e,c);c=o[a+36>>2]}f=(d>>>3&536870908)+c|0;c=o[f>>2];e=1<<(d&31);if(!(c&e)){o[f>>2]=c|e;e=a+8|0;c=-1;k:{if((b|0)==-1){break k}c=b+ -1|0;if((b>>>0)%3){break k}c=b+2|0}Eh(e,d,c)}e=-1;e=(b|0)!=-1?o[o[o[a+4>>2]>>2]+(b<<2)>>2]:e;f=o[a+36>>2]+(e>>>3&536870908)|0;c=o[f>>2];d=1<<(e&31);if(!(c&d)){o[f>>2]=c|d;Eh(a+8|0,e,b)}c=o[a+84>>2];if((c|0)>2){break g}p=a+8|0;while(1){b=u(c,12)+a|0;e=b+52|0;d=o[e>>2];if((d|0)==o[b+48>>2]){c=c+1|0;if((c|0)!=3){continue}break g}d=d+ -4|0;b=o[d>>2];o[e>>2]=d;o[a+84>>2]=c;if((b|0)==-1){break g}e=o[a+24>>2];d=(b>>>0)/3|0;l:{if(o[e+(d>>>3&268435452)>>2]>>>(d&31)&1){break l}m:{while(1){g=(b>>>0)/3|0;d=(g>>>3&268435452)+e|0;o[d>>2]=o[d>>2]|1<<(g&31);e=-1;e=(b|0)!=-1?o[o[o[a+4>>2]>>2]+(b<<2)>>2]:e;f=o[a+36>>2]+(e>>>3&536870908)|0;c=o[f>>2];d=1<<(e&31);if(!(c&d)){o[f>>2]=c|d;Eh(p,e,b)}if((b|0)==-1){break m}h=o[a+4>>2];d=-1;e=-1;c=b+1|0;c=(c>>>0)%3|0?c:b+ -2|0;if((c|0)!=-1){e=o[o[h+12>>2]+(c<<2)>>2]}b=(b-u(g,3)|0?-1:2)+b|0;if((b|0)!=-1){d=o[o[h+12>>2]+(b<<2)>>2]}g=(d|0)==-1;f=(d>>>0)/3|0;c=(e>>>0)/3|0;n:{o:{p:{q:{b=(e|0)==-1;if(!b){b=b?-1:c;b=o[o[a+24>>2]+(b>>>3&536870908)>>2]&1<<(b&31);if(g){break q}n=(b|0)!=0;break p}n=1;if(!g){break p}break m}if(!b){break o}break m}b=g?-1:f;r:{if(o[o[a+24>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1){break r}b=0;c=o[o[h>>2]+(d<<2)>>2];if(!(o[o[a+36>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1)){b=o[a+88>>2]+(c<<2)|0;c=o[b>>2];o[b>>2]=c+1;b=(c|0)<1?2:1}if(!(!n|(b|0)>o[a+84>>2])){b=d;e=o[a+24>>2];continue}c=u(b,12)+a|0;j=c+52|0;g=o[j>>2];m=c+56|0;f=o[m>>2];s:{if((g|0)!=(f|0)){o[g>>2]=d;o[j>>2]=g+4;break s}i=c+48|0;h=o[i>>2];k=g-h|0;c=k>>2;l=c+1|0;if(l>>>0>=1073741824){break f}q=c<<2;g=f-h|0;f=g>>1;f=g>>2>>>0<536870911?f>>>0>>0?l:f:1073741823;c=0;t:{if(!f){break t}if(f>>>0>=1073741824){break e}c=yk(f<<2)}g=q+c|0;o[g>>2]=d;f=c+(f<<2)|0;d=g+4|0;if((k|0)>=1){ll(c,h,k)}o[i>>2]=c;o[j>>2]=d;o[m>>2]=f;if(!h){break s}jl(h)}if(o[a+84>>2]<=(b|0)){break r}o[a+84>>2]=b}if(n){break m}b=-1;if((e|0)==-1){break n}}b=o[o[o[a+4>>2]>>2]+(e<<2)>>2]}d=0;if(!(o[o[a+36>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1)){b=o[a+88>>2]+(b<<2)|0;d=o[b>>2];o[b>>2]=d+1;d=(d|0)<1?2:1}if((d|0)<=o[a+84>>2]){b=e;e=o[a+24>>2];continue}break}b=u(d,12)+a|0;k=b+52|0;f=o[k>>2];i=b+56|0;c=o[i>>2];u:{if((f|0)!=(c|0)){o[f>>2]=e;o[k>>2]=f+4;break u}h=b+48|0;j=o[h>>2];l=f-j|0;g=l>>2;m=g+1|0;if(m>>>0>=1073741824){break d}f=c-j|0;c=f>>1;c=f>>2>>>0<536870911?c>>>0>>0?m:c:1073741823;b=0;v:{if(!c){break v}if(c>>>0>=1073741824){break c}b=yk(c<<2)}f=b+(g<<2)|0;o[f>>2]=e;c=b+(c<<2)|0;e=f+4|0;if((l|0)>=1){ll(b,j,l)}o[h>>2]=b;o[k>>2]=e;o[i>>2]=c;if(!j){break u}jl(j)}c=o[a+84>>2];if((c|0)<=(d|0)){break l}o[a+84>>2]=d;c=d;break l}c=o[a+84>>2]}if((c|0)<3){continue}break}}return 1}Nk();D()}db(8832);D()}Nk();D()}db(8832);D()}db(8832);D()}Nk();D()}function jh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,s=0,t=0,v=0;g=R+ -64|0;R=g;o[a+132>>2]=0;if(o[a+148>>2]){b=o[a+144>>2];if(b){while(1){c=o[b>>2];jl(b);b=c;if(b){continue}break}}o[a+144>>2]=0;c=o[a+140>>2];if(c){b=0;while(1){o[o[a+136>>2]+(b<<2)>>2]=0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}o[a+148>>2]=0}a:{if(!Xg(1,g+60|0,o[o[a+4>>2]+32>>2])){break a}o[a+156>>2]=o[g+60>>2];if(!Xg(1,g+56|0,o[o[a+4>>2]+32>>2])){break a}e=o[g+56>>2];if(e>>>0>1431655765|r[a+156>>2]>u(e,3)>>>0){break a}b=o[o[a+4>>2]+32>>2];f=o[b+16>>2];h=o[b+12>>2];c=o[b+20>>2];if((h|0)<(c|0)?1:(h|0)<=(c|0)?r[b+8>>2]>f>>>0?0:1:0){break a}j=p[f+o[b>>2]|0];f=f+1|0;if(f>>>0<1){c=c+1|0}o[b+16>>2]=f;o[b+20>>2]=c;if(!Xg(1,g+52|0,b)){break a}f=o[g+52>>2];if(e>>>0>>0|e>>>0>f+((f>>>0)/3|0)>>>0){break a}if(!Xg(1,g+48|0,o[o[a+4>>2]+32>>2])){break a}k=o[g+48>>2];if(k>>>0>f>>>0){break a}o[a+28>>2]=o[a+24>>2];c=yk(88);Ci(c);b=o[a+8>>2];o[a+8>>2]=c;h=a+8|0;if(b){za(h,b);if(!o[h>>2]){break a}}d=o[a+160>>2];o[a+164>>2]=d;b:{c:{d:{e:{f:{if(o[a+168>>2]-d>>2>>>0>=e>>>0){break f}if(e>>>0>=1073741824){break e}c=e<<2;b=yk(c);o[a+164>>2]=b;o[a+160>>2]=b;o[a+168>>2]=b+c;if(!d){break f}jl(d)}d=o[a+172>>2];o[a+176>>2]=d;g:{if(o[a+180>>2]-d>>2>>>0>=e>>>0){break g}if(e>>>0>=1073741824){break d}c=e<<2;b=yk(c);o[a+176>>2]=b;o[a+172>>2]=b;o[a+180>>2]=b+c;if(!d){break g}jl(d)}o[a+92>>2]=-1;o[a+84>>2]=-1;o[a+88>>2]=-1;o[a+40>>2]=o[a+36>>2];o[a- -64>>2]=0;o[a+52>>2]=o[a+48>>2];o[a+76>>2]=o[a+72>>2];n=a+216|0;c=o[a+220>>2];d=o[a+216>>2];if((c|0)==(d|0)){break c}while(1){b=o[c+ -12>>2];if(b){o[c+ -8>>2]=b;jl(b)}b=o[c+ -28>>2];if(b){o[c+ -24>>2]=b;jl(b)}b=c+ -144|0;i=o[c+ -40>>2];if(i){o[c+ -36>>2]=i;jl(i)}Yg(c+ -140|0);c=b;if((d|0)!=(b|0)){continue}break}b=o[n>>2];break b}db(8832);D()}db(8832);D()}b=d}o[a+220>>2]=d;c=(d-b|0)/144|0;h:{if(c>>>0>>0){Zg(n,j-c|0);break h}if(c>>>0<=j>>>0){break h}c=b+u(j,144)|0;if((c|0)!=(d|0)){while(1){b=o[d+ -12>>2];if(b){o[d+ -8>>2]=b;jl(b)}b=o[d+ -28>>2];if(b){o[d+ -24>>2]=b;jl(b)}b=d+ -144|0;i=o[d+ -40>>2];if(i){o[d+ -36>>2]=i;jl(i)}Yg(d+ -140|0);d=b;if((b|0)!=(c|0)){continue}break}}o[a+220>>2]=c}d=0;if(!Mi(o[a+8>>2],e,o[a+156>>2]+k|0)){break a}b=o[a+156>>2];m[g+8|0]=1;eb(a+120|0,b+k|0,g+8|0);if((_g(a,o[o[a+4>>2]+32>>2])|0)==-1){break a}o[a+376>>2]=a;i=a+232|0;b=o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2];s=o[b>>2]+o[b+16>>2]|0;e=o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2];b=o[e+8>>2];c=o[e+16>>2];ti(i,s,b-c|0,q[o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);t=a,v=l[o[o[a>>2]+36>>2]](a)|0,o[t+380>>2]=v;o[a+372>>2]=j;o[a+384>>2]=o[a+156>>2]+k;b=si(g+8|0);i:{if(!kh(i,b)){break i}j=lh(a,f);if((j|0)==-1){break i}e=o[o[a+4>>2]+32>>2];c=o[b+16>>2];f=c+o[b>>2]|0;b=o[b+8>>2];ti(e,f,b-c|0,q[e+38>>1]);j:{if(o[a+220>>2]==o[a+216>>2]){break j}b=o[h>>2];if(o[b+4>>2]==o[b>>2]){break j}b=0;while(1){if(bh(a,b)){b=b+3|0;c=o[h>>2];if(b>>>0>2]-o[c>>2]>>2>>>0){continue}break j}break}break i}if(p[a+308|0]){wi(a+272|0)}b=o[a+216>>2];if((b|0)!=o[a+220>>2]){while(1){e=u(d,144);Wi((e+b|0)+4|0,o[h>>2]);c=o[n>>2];f=e+c|0;b=o[f+132>>2];f=o[f+136>>2];if((b|0)!=(f|0)){while(1){Yi((c+e|0)+4|0,o[b>>2]);c=o[n>>2];b=b+4|0;if((f|0)!=(b|0)){continue}break}}Xi((c+e|0)+4|0);d=d+1|0;b=o[a+216>>2];if(d>>>0<(o[a+220>>2]-b|0)/144>>>0){continue}break}}d=o[a+8>>2];ch(a+184|0,o[d+28>>2]-o[d+24>>2]>>2);c=o[a+216>>2];if((c|0)!=o[a+220>>2]){b=0;while(1){d=u(b,144)+c|0;c=o[d+60>>2]-o[d+56>>2]>>2;h=d+104|0;d=o[a+8>>2];d=o[d+28>>2]-o[d+24>>2]>>2;ch(h,(c|0)<(d|0)?d:c);b=b+1|0;c=o[a+216>>2];if(b>>>0<(o[a+220>>2]-c|0)/144>>>0){continue}break}}d=dh(a,j)}}R=g- -64|0;return d|0}function Ga(a,b,c,d){var e=0,f=0,g=v(0),h=0,i=0;a:{b:{if(!d){break b}e=o[a+28>>2]+ -1|0;if(e>>>0>10){break b}c:{switch(e-1|0){default:i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;h=p[a+32|0];while(1){g=v(m[b|0]);s[(f<<2)+d>>2]=h?v(g/v(127)):g;b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 0:i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;h=p[a+32|0];while(1){g=v(p[b|0]);s[(f<<2)+d>>2]=h?v(g/v(255)):g;b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;h=p[a+32|0];while(1){g=v(n[b>>1]);s[(f<<2)+d>>2]=h?v(g/v(32767)):g;b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;h=p[a+32|0];while(1){g=v(q[b>>1]);s[(f<<2)+d>>2]=h?v(g/v(65535)):g;b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;h=p[a+32|0];while(1){g=v(o[b>>2]);s[(f<<2)+d>>2]=h?v(g*v(4.656612873077393e-10)):g;b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;h=p[a+32|0];while(1){g=v(r[b>>2]);s[(f<<2)+d>>2]=h?v(g*v(2.3283064365386963e-10)):g;b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;h=p[a+32|0];while(1){g=v(+r[b>>2]+4294967296*+o[b+4>>2]);s[(f<<2)+d>>2]=h?v(g*v(1.0842021724855044e-19)):g;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;h=p[a+32|0];while(1){g=v(+r[b>>2]+4294967296*+r[b+4>>2]);s[(f<<2)+d>>2]=h?v(g*v(5.421010862427522e-20)):g;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 8:i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){s[(f<<2)+d>>2]=t[b>>3];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 9:break c}}i=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){s[(f<<2)+d>>2]=p[b|0]?v(1):v(0);b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}ml((e<<2)+d|0,0,c-e<<2)}return i}ml((e<<2)+d|0,0,c-e<<2);return 1}function jf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;g=R-80|0;R=g;e=-1;f=-1;a:{if((b|0)==-1){break a}h=((b>>>0)%3|0?-1:2)+b|0;i=o[a+32>>2];k=b+1|0;b=(k>>>0)%3|0?k:b+ -2|0;if((b|0)!=-1){e=o[o[i>>2]+(b<<2)>>2]}if((h|0)==-1){break a}f=o[o[i>>2]+(h<<2)>>2]}h=o[a+36>>2];b=o[h>>2];h=o[h+4>>2]-b>>2;b:{c:{d:{e:{if(!(h>>>0<=e>>>0|h>>>0<=f>>>0)){f:{g:{q=o[b+(e<<2)>>2];s=(q|0)>=(d|0);if(s){break g}f=o[b+(f<<2)>>2];if((f|0)>=(d|0)){break g}b=f<<3;x=o[(b|4)+c>>2];e=q<<3;k=o[(e|4)+c>>2];u=o[b+c>>2];w=o[c+e>>2];if(!((u|0)!=(w|0)|(k|0)!=(x|0))){o[a+8>>2]=w;o[a+12>>2]=k;break f}b=o[o[a+4>>2]+(d<<2)>>2];o[g+72>>2]=0;o[g+76>>2]=0;e=g- -64|0;o[e>>2]=0;o[e+4>>2]=0;o[g+56>>2]=0;o[g+60>>2]=0;e=o[a>>2];if(!p[e+84|0]){b=o[o[e+68>>2]+(b<<2)>>2]}Re(e,b,m[e+24|0],g+56|0);b=o[o[a+4>>2]+(q<<2)>>2];o[g+48>>2]=0;o[g+52>>2]=0;o[g+40>>2]=0;o[g+44>>2]=0;o[g+32>>2]=0;o[g+36>>2]=0;e=o[a>>2];if(!p[e+84|0]){b=o[o[e+68>>2]+(b<<2)>>2]}Re(e,b,m[e+24|0],g+32|0);b=o[o[a+4>>2]+(f<<2)>>2];o[g+24>>2]=0;o[g+28>>2]=0;o[g+16>>2]=0;o[g+20>>2]=0;o[g+8>>2]=0;o[g+12>>2]=0;e=o[a>>2];if(!p[e+84|0]){b=o[o[e+68>>2]+(b<<2)>>2]}Re(e,b,m[e+24|0],g+8|0);y=o[g+44>>2];b=o[g+16>>2];j=o[g+40>>2];e=j;f=o[g+20>>2]-(y+(b>>>0>>0)|0)|0;A=b-e|0;b=Ol(A,f,A,f);e=T;n=b;z=o[g+36>>2];b=o[g+8>>2];l=o[g+32>>2];i=l;h=o[g+12>>2]-(z+(b>>>0>>0)|0)|0;B=b-i|0;i=Ol(B,h,B,h);b=n+i|0;e=T+e|0;e=b>>>0>>0?e+1|0:e;t=b;E=o[g+52>>2];b=o[g+24>>2];n=o[g+48>>2];i=n;r=o[g+28>>2]-(E+(b>>>0>>0)|0)|0;C=b-i|0;i=Ol(C,r,C,r);b=t+i|0;e=T+e|0;v=b;i=b>>>0>>0?e+1|0:e;if(!(b|i)){break g}d=1;b=0;e=o[g+64>>2];c=o[g+68>>2]-((e>>>0>>0)+y|0)|0;e=e-j|0;q=e;s=c;c=Ol(A,f,e,c);e=T;t=c;j=o[g+56>>2];c=j-l|0;y=o[g+60>>2]-((j>>>0>>0)+z|0)|0;l=Ol(c,y,B,h);j=t+l|0;e=T+e|0;e=j>>>0>>0?e+1|0:e;t=j;j=o[g+72>>2];l=j-n|0;z=o[g+76>>2]-((j>>>0>>0)+E|0)|0;n=Ol(l,z,C,r);j=t+n|0;e=T+e|0;e=j>>>0>>0?e+1|0:e;n=j;j=e;f=Pl(Ol(n,e,A,f),T,v,i);s=s-(T+(q>>>0>>0)|0)|0;f=q-f|0;f=Ol(f,s,f,s);q=T;t=f;e=Pl(Ol(B,h,n,e),T,v,i);f=y-(T+(c>>>0>>0)|0)|0;c=c-e|0;f=Ol(c,f,c,f);c=t+f|0;e=T+q|0;e=c>>>0>>0?e+1|0:e;h=c;c=Pl(Ol(n,j,C,r),T,v,i);f=z-(T+(l>>>0>>0)|0)|0;c=l-c|0;f=Ol(c,f,c,f);c=h+f|0;e=T+e|0;f=Ol(c,c>>>0>>0?e+1|0:e,v,i);c=T;h=c;if(!c&f>>>0<=1|c>>>0<0){break e}r=f;c=h;while(1){e=b<<1|d>>>31;d=d<<1;b=e;l=!c&r>>>0>7|c>>>0>0;r=(c&3)<<30|r>>>2;c=c>>>2|0;if(l){continue}break}break d}e=a;if(s){if((d|0)<=0){o[a+8>>2]=0;o[a+12>>2]=0;break f}b=(d<<1)+ -2|0}else{b=q<<1}b=(b<<2)+c|0;o[e+8>>2]=o[b>>2];o[a+12>>2]=o[b+4>>2]}c=1;break b}Ok();D()}d=f;b=h;if(f-1){break c}}while(1){c=Ql(f,h,d,b)+d|0;e=b+T|0;e=c>>>0>>0?e+1|0:e;d=(e&1)<<31|c>>>1;b=e>>>1|0;c=Ol(d,b,d,b);e=T;if((h|0)==(e|0)&c>>>0>f>>>0|e>>>0>h>>>0){continue}break}}e=o[a+20>>2];c=0;if(!e){break b}h=e+ -1|0;r=o[o[a+16>>2]+(h>>>3&536870908)>>2];o[a+20>>2]=h;c=x;e=k;l=c-e|0;k=e>>31;x=(c>>31)-(k+(c>>>0>>0)|0)|0;c=Ol(n,j,l,x);f=T;k=Ol(e,k,v,i);c=k+c|0;e=T+f|0;e=c>>>0>>0?e+1|0:e;t=c;c=u;f=w;q=c-f|0;w=f>>31;k=(c>>31)-(w+(c>>>0>>0)|0)|0;c=Ol(d,b,q,k);u=c;c=r>>>(h&31)&1;s=c?0-u|0:u;h=t+s|0;r=e;e=T;e=r+(c?0-(e+(0>>0)|0)|0:e)|0;F=a,G=Pl(h,h>>>0>>0?e+1|0:e,v,i),o[F+12>>2]=G;e=Ol(n,j,q,k);h=T;u=a;f=Ol(f,w,v,i);a=f+e|0;e=T+h|0;e=a>>>0>>0?e+1|0:e;j=a;a=Ol(d,b,l,x);d=c?a:0-a|0;b=j+d|0;j=e;e=T;a=j+(c?e:0-((0>>0)+e|0)|0)|0;F=u,G=Pl(b,b>>>0>>0?a+1|0:a,v,i),o[F+8>>2]=G;c=1}R=g+80|0;return c}function Qe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;g=R-80|0;R=g;f=-1;e=-1;a:{if((b|0)==-1){break a}e=b+1|0;f=(e>>>0)%3|0?e:b+ -2|0;e=b+ -1|0;if((b>>>0)%3){break a}e=b+2|0}h=o[a+36>>2];b=o[h>>2];b:{c:{d:{e:{f:{h=o[h+4>>2]-b>>2;i=f<<2;f=o[o[a+32>>2]+28>>2];j=o[i+f>>2];if(h>>>0<=j>>>0){break f}e=o[f+(e<<2)>>2];if(h>>>0<=e>>>0){break f}g:{h:{n=o[b+(j<<2)>>2];s=(n|0)>=(d|0);if(s){break h}f=o[b+(e<<2)>>2];if((f|0)>=(d|0)){break h}b=f<<3;x=o[(b|4)+c>>2];e=n<<3;q=o[(e|4)+c>>2];u=o[b+c>>2];w=o[c+e>>2];if(!((u|0)!=(w|0)|(q|0)!=(x|0))){o[a+8>>2]=w;o[a+12>>2]=q;break g}b=o[o[a+4>>2]+(d<<2)>>2];o[g+72>>2]=0;o[g+76>>2]=0;e=g- -64|0;o[e>>2]=0;o[e+4>>2]=0;o[g+56>>2]=0;o[g+60>>2]=0;e=o[a>>2];if(!p[e+84|0]){b=o[o[e+68>>2]+(b<<2)>>2]}Re(e,b,m[e+24|0],g+56|0);b=o[o[a+4>>2]+(n<<2)>>2];o[g+48>>2]=0;o[g+52>>2]=0;o[g+40>>2]=0;o[g+44>>2]=0;o[g+32>>2]=0;o[g+36>>2]=0;e=o[a>>2];if(!p[e+84|0]){b=o[o[e+68>>2]+(b<<2)>>2]}Re(e,b,m[e+24|0],g+32|0);b=o[o[a+4>>2]+(f<<2)>>2];o[g+24>>2]=0;o[g+28>>2]=0;o[g+16>>2]=0;o[g+20>>2]=0;o[g+8>>2]=0;o[g+12>>2]=0;e=o[a>>2];if(!p[e+84|0]){b=o[o[e+68>>2]+(b<<2)>>2]}Re(e,b,m[e+24|0],g+8|0);y=o[g+44>>2];b=o[g+16>>2];i=o[g+40>>2];e=i;f=o[g+20>>2]-(y+(b>>>0>>0)|0)|0;A=b-e|0;b=Ol(A,f,A,f);e=T;l=b;z=o[g+36>>2];b=o[g+8>>2];k=o[g+32>>2];j=k;h=o[g+12>>2]-(z+(b>>>0>>0)|0)|0;B=b-j|0;j=Ol(B,h,B,h);b=l+j|0;e=T+e|0;e=b>>>0>>0?e+1|0:e;t=b;E=o[g+52>>2];b=o[g+24>>2];l=o[g+48>>2];j=l;r=o[g+28>>2]-(E+(b>>>0>>0)|0)|0;C=b-j|0;j=Ol(C,r,C,r);b=t+j|0;e=T+e|0;v=b;j=b>>>0>>0?e+1|0:e;if(!(b|j)){break h}d=1;b=0;e=o[g+64>>2];c=o[g+68>>2]-((e>>>0>>0)+y|0)|0;e=e-i|0;n=e;s=c;c=Ol(A,f,e,c);e=T;t=c;i=o[g+56>>2];c=i-k|0;y=o[g+60>>2]-((i>>>0>>0)+z|0)|0;k=Ol(c,y,B,h);i=t+k|0;e=T+e|0;e=i>>>0>>0?e+1|0:e;t=i;i=o[g+72>>2];k=i-l|0;z=o[g+76>>2]-((i>>>0>>0)+E|0)|0;l=Ol(k,z,C,r);i=t+l|0;e=T+e|0;e=i>>>0>>0?e+1|0:e;l=i;i=e;f=Pl(Ol(l,e,A,f),T,v,j);s=s-(T+(n>>>0>>0)|0)|0;f=n-f|0;f=Ol(f,s,f,s);n=T;t=f;e=Pl(Ol(B,h,l,e),T,v,j);f=y-(T+(c>>>0>>0)|0)|0;c=c-e|0;f=Ol(c,f,c,f);c=t+f|0;e=T+n|0;e=c>>>0>>0?e+1|0:e;h=c;c=Pl(Ol(l,i,C,r),T,v,j);f=z-(T+(k>>>0>>0)|0)|0;c=k-c|0;f=Ol(c,f,c,f);c=h+f|0;e=T+e|0;f=Ol(c,c>>>0>>0?e+1|0:e,v,j);c=T;h=c;if(!c&f>>>0<=1|c>>>0<0){break e}r=f;c=h;while(1){e=b<<1|d>>>31;d=d<<1;b=e;k=!c&r>>>0>7|c>>>0>0;r=(c&3)<<30|r>>>2;c=c>>>2|0;if(k){continue}break}break d}e=a;if(s){if((d|0)<=0){o[a+8>>2]=0;o[a+12>>2]=0;break g}b=(d<<1)+ -2|0}else{b=n<<1}b=(b<<2)+c|0;o[e+8>>2]=o[b>>2];o[a+12>>2]=o[b+4>>2]}c=1;break b}Ok();D()}d=f;b=h;if(f-1){break c}}while(1){c=Ql(f,h,d,b)+d|0;e=b+T|0;e=c>>>0>>0?e+1|0:e;d=(e&1)<<31|c>>>1;b=e>>>1|0;c=Ol(d,b,d,b);e=T;if((h|0)==(e|0)&c>>>0>f>>>0|e>>>0>h>>>0){continue}break}}e=o[a+20>>2];c=0;if(!e){break b}h=e+ -1|0;r=o[o[a+16>>2]+(h>>>3&536870908)>>2];o[a+20>>2]=h;c=x;e=q;k=c-e|0;q=e>>31;x=(c>>31)-(q+(c>>>0>>0)|0)|0;c=Ol(l,i,k,x);f=T;q=Ol(e,q,v,j);c=q+c|0;e=T+f|0;e=c>>>0>>0?e+1|0:e;t=c;c=u;f=w;n=c-f|0;w=f>>31;q=(c>>31)-(w+(c>>>0>>0)|0)|0;c=Ol(d,b,n,q);u=c;c=r>>>(h&31)&1;s=c?0-u|0:u;h=t+s|0;r=e;e=T;e=r+(c?0-(e+(0>>0)|0)|0:e)|0;F=a,G=Pl(h,h>>>0>>0?e+1|0:e,v,j),o[F+12>>2]=G;e=Ol(l,i,n,q);h=T;u=a;f=Ol(f,w,v,j);a=f+e|0;e=T+h|0;e=a>>>0>>0?e+1|0:e;i=a;a=Ol(d,b,k,x);d=c?a:0-a|0;b=i+d|0;i=e;e=T;a=i+(c?e:0-((0>>0)+e|0)|0)|0;F=u,G=Pl(b,b>>>0>>0?a+1|0:a,v,j),o[F+8>>2]=G;c=1}R=g+80|0;return c}function Ua(a,b,c,d){var e=0,f=0,g=0,h=0,i=v(0),j=0;a:{b:{if(!d){break b}e=o[a+28>>2]+ -1|0;if(e>>>0>10){break b}c:{d:{e:{switch(e-1|0){default:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=m[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 0:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=n[b>>1];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=q[b>>1];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break c}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=(f<<2)+d|0;i=s[b>>2];f:{if(v(w(i))>2]=h;b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break c;case 8:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=(f<<2)+d|0;j=t[b>>3];g:{if(w(j)<2147483648){h=~~j;break g}h=-2147483648}o[e>>2]=h;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break d;case 9:break e}}g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}ml((e<<2)+d|0,0,c-e<<2);break b}if((e|0)>=(c|0)){break b}break a}if((e|0)>=(c|0)){break b}break a}return g}ml((e<<2)+d|0,0,c-e<<2);return 1}function Qa(a,b,c,d){var e=0,f=0,g=0,h=0,i=v(0),j=0;a:{b:{if(!d){break b}e=o[a+28>>2]+ -1|0;if(e>>>0>10){break b}c:{d:{e:{switch(e-1|0){default:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=m[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 0:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=q[b>>1];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=q[b>>1];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break c}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=(f<<1)+d|0;i=s[b>>2];f:{if(v(w(i))>1]=h;b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break c;case 8:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=(f<<1)+d|0;j=t[b>>3];g:{if(w(j)<2147483648){h=~~j;break g}h=-2147483648}n[e>>1]=h;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break d;case 9:break e}}g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}ml((e<<1)+d|0,0,c-e<<1);break b}if((e|0)>=(c|0)){break b}break a}if((e|0)>=(c|0)){break b}break a}return g}ml((e<<1)+d|0,0,c-e<<1);return 1}function Wa(a,b,c,d){var e=0,f=0,g=0,h=0,i=v(0),j=0;a:{b:{if(!d){break b}e=o[a+28>>2]+ -1|0;if(e>>>0>10){break b}c:{d:{e:{switch(e-1|0){default:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=m[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 0:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=n[b>>1];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=q[b>>1];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break c}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=(f<<2)+d|0;i=s[b>>2];f:{if(i=v(0)){h=~~i>>>0;break f}h=0}o[e>>2]=h;b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break c;case 8:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=(f<<2)+d|0;j=t[b>>3];g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}o[e>>2]=h;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break d;case 9:break e}}g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){o[(f<<2)+d>>2]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}ml((e<<2)+d|0,0,c-e<<2);break b}if((e|0)>=(c|0)){break b}break a}if((e|0)>=(c|0)){break b}break a}return g}ml((e<<2)+d|0,0,c-e<<2);return 1}function Sa(a,b,c,d){var e=0,f=0,g=0,h=0,i=v(0),j=0;a:{b:{if(!d){break b}e=o[a+28>>2]+ -1|0;if(e>>>0>10){break b}c:{d:{e:{switch(e-1|0){default:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=m[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 0:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=q[b>>1];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=q[b>>1];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break c}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=(f<<1)+d|0;i=s[b>>2];f:{if(i=v(0)){h=~~i>>>0;break f}h=0}n[e>>1]=h;b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break c;case 8:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=(f<<1)+d|0;j=t[b>>3];g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}n[e>>1]=h;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break d;case 9:break e}}g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){n[(f<<1)+d>>1]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}ml((e<<1)+d|0,0,c-e<<1);break b}if((e|0)>=(c|0)){break b}break a}if((e|0)>=(c|0)){break b}break a}return g}ml((e<<1)+d|0,0,c-e<<1);return 1}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,r=0,s=0,t=0,v=0,w=0;e=R-80|0;R=e;a:{b:{v=o[a+4>>2];c=o[v+32>>2];n=o[c+8>>2];j=o[c+16>>2];k=o[c+12>>2];d=k;g=o[c+20>>2];h=g;c:{if((d|0)<(h|0)?1:(d|0)<=(h|0)?n>>>0>j>>>0?0:1:0){break c}s=o[c>>2];i=p[s+j|0];d=g;t=j+1|0;if(t>>>0<1){d=d+1|0}h=c;o[c+16>>2]=t;o[c+20>>2]=d;if((k|0)<(d|0)?1:(k|0)<=(d|0)?n>>>0>t>>>0?0:1:0){break c}t=p[t+s|0];d=g;w=j+2|0;if(w>>>0<2){d=d+1|0}o[c+16>>2]=w;o[h+20>>2]=d;h=i<<24>>24;d:{if((h|0)>=0){r=o[a+216>>2];if((o[a+220>>2]-r|0)/144>>>0<=i>>>0){break c}r=r+u(i,144)|0;if(o[r>>2]<=-1){break d}break c}if(o[a+212>>2]>-1){break c}r=a+212|0}o[r>>2]=b;e:{f:{r=q[v+36>>1];g:{if((r<<24|r<<8&16711680)>>>16>>>0>=258){if((k|0)<(d|0)?1:(k|0)<=(d|0)?n>>>0>w>>>0?0:1:0){break c}d=p[s+w|0];j=j+3|0;if(j>>>0<3){g=g+1|0}o[c+16>>2]=j;o[c+20>>2]=g;if(!t){break g}if(d){break c}break f}if(t){break f}d=0}if((h|0)<=-1){c=a+184|0}else{c=o[a+216>>2]+u(i,144)|0;m[c+100|0]=0;c=c+104|0}if(d>>>0>1){break c}h:{if(d-1){Qg(e+16|0,a,c);break h}Rg(e+16|0,a,c)}c=o[e+16>>2];if(!c){break c}break e}if((h|0)<0){break c}g=o[v+44>>2];f=o[a+216>>2];c=yk(80);o[c+12>>2]=0;o[c+16>>2]=0;o[c>>2]=9700;o[c+4>>2]=0;o[c+76>>2]=0;o[c+68>>2]=g;o[c+64>>2]=0;o[c+56>>2]=0;o[c+60>>2]=0;o[c+8>>2]=8568;d=c+20|0;o[d>>2]=0;o[d+4>>2]=0;j=c+28|0;h=j;o[h>>2]=0;o[h+4>>2]=0;o[c+36>>2]=0;o[c+40>>2]=0;h=c+44|0;o[h>>2]=0;o[h+4>>2]=0;o[c+52>>2]=0;f=f+u(i,144)|0;i=f+104|0;o[c+72>>2]=i;k=e+56|0;o[k>>2]=0;o[k+4>>2]=0;o[e+48>>2]=0;o[e+52>>2]=0;v=e+32|0;n=v;o[n>>2]=0;o[n+4>>2]=0;o[e+72>>2]=0;o[e+40>>2]=0;o[e+44>>2]=0;o[e+24>>2]=0;o[e+28>>2]=0;o[e+64>>2]=0;o[e+68>>2]=0;o[e+16>>2]=8568;n=f+4|0;o[e+20>>2]=n;f=o[f+68>>2];s=o[f>>2];f=o[f+4>>2];m[e+79|0]=0;eb(e+40|0,(f-s>>2>>>0)/3|0,e+79|0);f=o[e+20>>2];s=o[f+56>>2];f=o[f+52>>2];m[e+79|0]=0;eb(e+52|0,s-f>>2,e+79|0);o[e+36>>2]=c;o[v>>2]=g;g=e+28|0;o[g>>2]=i;o[e+24>>2]=n;o[j>>2]=c;f=o[g+4>>2];o[d>>2]=o[g>>2];o[d+4>>2]=f;g=o[e+24>>2];o[c+12>>2]=o[e+20>>2];o[c+16>>2]=g;g=c;f=o[e+44>>2];if(f){d=c+32|0;i:{if(f>>>0<=o[c+40>>2]<<5>>>0){i=f+ -1>>>5|0;f=o[d>>2];break i}d=o[d>>2];if(d){jl(d);o[c+40>>2]=0;o[c+32>>2]=0;o[c+36>>2]=0;f=o[e+44>>2]}if((f|0)<=-1){break b}i=f+ -1>>>5|0;d=i+1|0;f=yk(d<<2);o[c+40>>2]=d;o[c+36>>2]=0;o[c+32>>2]=f}nl(f,o[e+40>>2],(i<<2)+4|0);d=o[e+44>>2]}else{d=0}o[g+36>>2]=d;g=c;f=o[k>>2];if(f){j:{if(f>>>0<=o[c+52>>2]<<5>>>0){d=f+ -1>>>5|0;f=o[h>>2];break j}d=o[h>>2];if(d){jl(d);o[c+52>>2]=0;o[c+44>>2]=0;o[c+48>>2]=0;f=o[e+56>>2]}if((f|0)<=-1){break a}d=f+ -1>>>5|0;h=d+1|0;f=yk(h<<2);o[c+52>>2]=h;o[c+48>>2]=0;o[c+44>>2]=f}nl(f,o[e+52>>2],(d<<2)+4|0);h=o[e+56>>2]}else{h=0}o[g+48>>2]=h;yd(c+56|0,o[e+64>>2],o[e+68>>2]);o[e+16>>2]=8568;g=o[e+64>>2];if(g){o[e+68>>2]=g;jl(g)}o[e+16>>2]=8820;g=o[e+52>>2];if(g){jl(g)}g=o[e+40>>2];if(!g){break e}jl(g)}g=yk(64);o[e+8>>2]=c;Vd(g,e+8|0);c=o[e+8>>2];o[e+8>>2]=0;if(c){l[o[o[c>>2]+4>>2]](c)}if((b|0)>=0){a=o[a+4>>2];f=a+8|0;c=o[a+12>>2];i=o[a+8>>2];d=c-i>>2;k:{if((d|0)>(b|0)){break k}h=b+1|0;if(d>>>0<=b>>>0){Sg(f,h-d|0);break k}if(h>>>0>=d>>>0){break k}h=i+(h<<2)|0;if((h|0)!=(c|0)){while(1){c=c+ -4|0;d=o[c>>2];o[c>>2]=0;if(d){l[o[o[d>>2]+4>>2]](d)}if((c|0)!=(h|0)){continue}break}}o[a+12>>2]=h}b=o[f>>2]+(b<<2)|0;a=o[b>>2];o[b>>2]=g;f=1;if(!a){break c}l[o[o[a>>2]+4>>2]](a);break c}l[o[o[g>>2]+4>>2]](g);f=0}R=e+80|0;return f|0}Nk();D()}Nk();D()}function La(a,b,c,d){var e=0,f=0,g=0,h=0,i=v(0),j=0;a:{b:{if(!d){break b}e=o[a+28>>2]+ -1|0;if(e>>>0>10){break b}c:{d:{e:{switch(e-1|0){default:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 0:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=p[b|0];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=p[b|0];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break c}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=d+f|0;i=s[b>>2];f:{if(v(w(i))(c|0)?c:e)<<24>>24){continue}break}break c;case 8:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=d+f|0;j=t[b>>3];g:{if(w(j)<2147483648){h=~~j;break g}h=-2147483648}m[e|0]=h;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break d;case 9:break e}}g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}ml(d+e|0,0,c-e|0);break b}if((e|0)>=(c|0)){break b}break a}if((e|0)>=(c|0)){break b}break a}return g}ml(d+e|0,0,c-e|0);return 1}function Na(a,b,c,d){var e=0,f=0,g=0,h=0,i=v(0),j=0;a:{b:{if(!d){break b}e=o[a+28>>2]+ -1|0;if(e>>>0>10){break b}c:{d:{e:{switch(e-1|0){default:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 0:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=p[b|0];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=p[b|0];b=b+2|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=o[b>>2];b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=o[b>>2];b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break c}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=d+f|0;i=s[b>>2];f:{if(i=v(0)){h=~~i>>>0;break f}h=0}m[e|0]=h;b=b+4|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break c;case 8:g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){e=d+f|0;j=t[b>>3];g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}m[e|0]=h;b=b+8|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break d;case 9:break e}}g=1;e=m[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=o[o[a>>2]>>2];b=o[a+48>>2]+Ol(o[a+40>>2],o[a+44>>2],b,0)|0;b=e+b|0;while(1){m[d+f|0]=p[b|0];b=b+1|0;f=f+1|0;e=m[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}ml(d+e|0,0,c-e|0);break b}if((e|0)>=(c|0)){break b}break a}if((e|0)>=(c|0)){break b}break a}return g}ml(d+e|0,0,c-e|0);return 1}function jl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a+ -8|0;c=o[a+ -4>>2];a=c&-8;f=d+a|0;b:{if(c&1){break b}if(!(c&3)){break a}c=o[d>>2];d=d-c|0;if(d>>>0>>0<=255){e=o[d+8>>2];c=c>>>3|0;b=o[d+12>>2];if((b|0)==(e|0)){i=13332,j=o[3333]&Sl(c),o[i>>2]=j;break b}o[e+12>>2]=b;o[b+8>>2]=e;break b}h=o[d+24>>2];c=o[d+12>>2];c:{if((c|0)!=(d|0)){b=o[d+8>>2];o[b+12>>2]=c;o[c+8>>2]=b;break c}d:{e=d+20|0;b=o[e>>2];if(b){break d}e=d+16|0;b=o[e>>2];if(b){break d}c=0;break c}while(1){g=e;c=b;e=c+20|0;b=o[e>>2];if(b){continue}e=c+16|0;b=o[c+16>>2];if(b){continue}break}o[g>>2]=0}if(!h){break b}e=o[d+28>>2];b=(e<<2)+13636|0;e:{if(o[b>>2]==(d|0)){o[b>>2]=c;if(c){break e}i=13336,j=o[3334]&Sl(e),o[i>>2]=j;break b}o[h+(o[h+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break b}}o[c+24>>2]=h;b=o[d+16>>2];if(b){o[c+16>>2]=b;o[b+24>>2]=c}b=o[d+20>>2];if(!b){break b}o[c+20>>2]=b;o[b+24>>2]=c;break b}c=o[f+4>>2];if((c&3)!=3){break b}o[3335]=a;o[f+4>>2]=c&-2;o[d+4>>2]=a|1;o[a+d>>2]=a;return}if(f>>>0<=d>>>0){break a}c=o[f+4>>2];if(!(c&1)){break a}f:{if(!(c&2)){if((f|0)==o[3339]){o[3339]=d;a=o[3336]+a|0;o[3336]=a;o[d+4>>2]=a|1;if(o[3338]!=(d|0)){break a}o[3335]=0;o[3338]=0;return}if((f|0)==o[3338]){o[3338]=d;a=o[3335]+a|0;o[3335]=a;o[d+4>>2]=a|1;o[a+d>>2]=a;return}a=(c&-8)+a|0;g:{if(c>>>0<=255){b=o[f+8>>2];c=c>>>3|0;e=o[f+12>>2];if((b|0)==(e|0)){i=13332,j=o[3333]&Sl(c),o[i>>2]=j;break g}o[b+12>>2]=e;o[e+8>>2]=b;break g}h=o[f+24>>2];c=o[f+12>>2];h:{if((f|0)!=(c|0)){b=o[f+8>>2];o[b+12>>2]=c;o[c+8>>2]=b;break h}i:{e=f+20|0;b=o[e>>2];if(b){break i}e=f+16|0;b=o[e>>2];if(b){break i}c=0;break h}while(1){g=e;c=b;e=c+20|0;b=o[e>>2];if(b){continue}e=c+16|0;b=o[c+16>>2];if(b){continue}break}o[g>>2]=0}if(!h){break g}e=o[f+28>>2];b=(e<<2)+13636|0;j:{if((f|0)==o[b>>2]){o[b>>2]=c;if(c){break j}i=13336,j=o[3334]&Sl(e),o[i>>2]=j;break g}o[h+((f|0)==o[h+16>>2]?16:20)>>2]=c;if(!c){break g}}o[c+24>>2]=h;b=o[f+16>>2];if(b){o[c+16>>2]=b;o[b+24>>2]=c}b=o[f+20>>2];if(!b){break g}o[c+20>>2]=b;o[b+24>>2]=c}o[d+4>>2]=a|1;o[a+d>>2]=a;if(o[3338]!=(d|0)){break f}o[3335]=a;return}o[f+4>>2]=c&-2;o[d+4>>2]=a|1;o[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;c=(a<<3)+13372|0;b=o[3333];a=1<>2]}o[c+8>>2]=d;o[a+12>>2]=d;o[d+12>>2]=c;o[d+8>>2]=a;return}o[d+16>>2]=0;o[d+20>>2]=0;c=d;e=a>>>8|0;b=0;l:{if(!e){break l}b=31;if(a>>>0>16777215){break l}b=e;e=e+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(g|(e|h))|0;b=(b<<1|a>>>b+21&1)+28|0}o[c+28>>2]=b;g=(b<<2)+13636|0;m:{n:{e=o[3334];c=1<>2]=d;o[d+24>>2]=g;break o}e=a<<((b|0)==31?0:25-(b>>>1|0)|0);c=o[g>>2];while(1){b=c;if((o[c+4>>2]&-8)==(a|0)){break n}c=e>>>29|0;e=e<<1;g=(b+(c&4)|0)+16|0;c=o[g>>2];if(c){continue}break}o[g>>2]=d;o[d+24>>2]=b}o[d+12>>2]=d;o[d+8>>2]=d;break m}a=o[b+8>>2];o[a+12>>2]=d;o[b+8>>2]=d;o[d+24>>2]=0;o[d+12>>2]=b;o[d+8>>2]=a}a=o[3341]+ -1|0;o[3341]=a;if(a){break a}d=13788;while(1){a=o[d>>2];d=a+8|0;if(a){continue}break}o[3341]=-1}}function Xi(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;o[a+56>>2]=o[a+52>>2];o[a+44>>2]=o[a+40>>2];a:{b:{c:{d=o[a+64>>2];if(o[d+28>>2]!=o[d+24>>2]){m=a+40|0;n=a+52|0;while(1){e=c;j=o[o[d+24>>2]+(l<<2)>>2];d:{if((j|0)==-1){break d}c=o[a+56>>2];b=o[a+60>>2];e:{if((c|0)!=(b|0)){o[c>>2]=e;o[a+56>>2]=c+4;break e}h=o[n>>2];i=c-h|0;f=i>>2;g=f+1|0;if(g>>>0>=1073741824){break c}d=b-h|0;b=d>>1;d=d>>2>>>0<536870911?b>>>0>>0?g:b:1073741823;c=0;f:{if(!d){break f}if(d>>>0>=1073741824){break a}c=yk(d<<2)}b=c+(f<<2)|0;o[b>>2]=e;d=c+(d<<2)|0;b=b+4|0;if((i|0)>=1){ll(c,h,i)}o[a+60>>2]=d;o[a+56>>2]=b;o[a+52>>2]=c;if(!h){break e}jl(h)}g:{if(!(o[o[a+12>>2]+(l>>>3&536870908)>>2]>>>(l&31)&1)){break g}c=j+1|0;c=(c>>>0)%3|0?c:j+ -2|0;if((c|0)==-1|o[o[a>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1){break g}b=o[o[o[a+64>>2]+12>>2]+(c<<2)>>2];if((b|0)==-1){break g}c=b+1|0;d=(c>>>0)%3|0?c:b+ -2|0;if((d|0)==-1){break g}while(1){c=d+1|0;j=d;c=(c>>>0)%3|0?c:d+ -2|0;if((c|0)==-1|o[o[a>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1){break g}b=o[o[o[a+64>>2]+12>>2]+(c<<2)>>2];if((b|0)==-1){break g}c=b+1|0;d=(c>>>0)%3|0?c:b+ -2|0;if((d|0)!=-1){continue}break}}o[o[a+28>>2]+(j<<2)>>2]=e;c=o[a+44>>2];b=o[a+48>>2];h:{if((c|0)!=(b|0)){o[c>>2]=j;o[a+44>>2]=c+4;break h}h=o[m>>2];i=c-h|0;f=i>>2;g=f+1|0;if(g>>>0>=1073741824){break b}d=b-h|0;b=d>>1;d=d>>2>>>0<536870911?b>>>0>>0?g:b:1073741823;c=0;i:{if(!d){break i}if(d>>>0>=1073741824){break a}c=yk(d<<2)}b=c+(f<<2)|0;o[b>>2]=j;d=c+(d<<2)|0;b=b+4|0;if((i|0)>=1){ll(c,h,i)}o[a+48>>2]=d;o[a+44>>2]=b;o[a+40>>2]=c;if(!h){break h}jl(h)}c=e+1|0;b=((j>>>0)%3|0?-1:2)+j|0;if((b|0)==-1){break d}b=o[o[o[a+64>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break d}d=b+((b>>>0)%3|0?-1:2)|0;if((d|0)==-1|(d|0)==(j|0)){break d}while(1){b=d+1|0;b=(b>>>0)%3|0?b:d+ -2|0;if(o[o[a>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1){e=o[a+56>>2];b=o[a+60>>2];j:{if((e|0)!=(b|0)){o[e>>2]=c;o[a+56>>2]=e+4;break j}k=o[n>>2];h=e-k|0;g=h>>2;i=g+1|0;if(i>>>0>=1073741824){break c}f=b-k|0;b=f>>1;f=f>>2>>>0<536870911?b>>>0>>0?i:b:1073741823;e=0;k:{if(!f){break k}if(f>>>0>=1073741824){break a}e=yk(f<<2)}b=e+(g<<2)|0;o[b>>2]=c;f=e+(f<<2)|0;b=b+4|0;if((h|0)>=1){ll(e,k,h)}o[a+60>>2]=f;o[a+56>>2]=b;o[a+52>>2]=e;if(!k){break j}jl(k)}b=c+1|0;e=o[a+44>>2];f=o[a+48>>2];l:{if((e|0)!=(f|0)){o[e>>2]=d;o[a+44>>2]=e+4;break l}i=o[m>>2];k=e-i|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break b}p=e<<2;g=f-i|0;f=g>>1;g=g>>2>>>0<536870911?f>>>0>>0?h:f:1073741823;e=0;m:{if(!g){break m}if(g>>>0>=1073741824){break a}e=yk(g<<2)}f=p+e|0;o[f>>2]=d;g=e+(g<<2)|0;f=f+4|0;if((k|0)>=1){ll(e,i,k)}o[a+48>>2]=g;o[a+44>>2]=f;o[a+40>>2]=e;if(!i){break l}jl(i)}e=c;c=b}o[o[a+28>>2]+(d<<2)>>2]=e;b=((d>>>0)%3|0?-1:2)+d|0;if((b|0)==-1){break d}b=o[o[o[a+64>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break d}d=b+((b>>>0)%3|0?-1:2)|0;if((d|0)==-1){break d}if((d|0)!=(j|0)){continue}break}}l=l+1|0;d=o[a+64>>2];if(l>>>0>2]-o[d+24>>2]>>2>>>0){continue}break}}return}Nk();D()}Nk();D()}db(10720);D()}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;f=R-96|0;R=f;e=o[a+16>>2];m[f+92|0]=1;o[f+88>>2]=b;o[f+84>>2]=b;o[f+80>>2]=e;d=-1;d=(b|0)!=-1?o[o[e>>2]+(b<<2)>>2]:d;g=o[a+20>>2];e=o[g>>2];a:{b:{c:{d:{if(o[g+4>>2]-e>>2>>>0>d>>>0){e=o[o[a+8>>2]+(o[e+(d<<2)>>2]<<2)>>2];d=o[a+4>>2];if(!p[d+84|0]){e=o[o[d+68>>2]+(e<<2)>>2]}o[f+72>>2]=0;o[f+76>>2]=0;g=f- -64|0;o[g>>2]=0;o[g+4>>2]=0;o[f+56>>2]=0;o[f+60>>2]=0;Re(d,e,m[d+24|0],f+56|0);if((b|0)==-1){break a}d=b+1|0;g=(d>>>0)%3|0?d:b+ -2|0;t=((b>>>0)%3|0?-1:2)+b|0;j=!o[a+28>>2];A=f+48|0;B=f+40|0;while(1){e=g;d=t;e:{if(j){break e}d=b+1|0;e=(d>>>0)%3|0?d:b+ -2|0;d=b+ -1|0;if((b>>>0)%3){break e}d=b+2|0}b=-1;b=(e|0)!=-1?o[o[o[a+16>>2]>>2]+(e<<2)>>2]:b;j=o[a+20>>2];e=o[j>>2];if(o[j+4>>2]-e>>2>>>0<=b>>>0){break d}e=o[o[a+8>>2]+(o[e+(b<<2)>>2]<<2)>>2];b=o[a+4>>2];if(!p[b+84|0]){e=o[o[b+68>>2]+(e<<2)>>2]}o[A>>2]=0;o[A+4>>2]=0;o[B>>2]=0;o[B+4>>2]=0;o[f+32>>2]=0;o[f+36>>2]=0;Re(b,e,m[b+24|0],f+32|0);b=-1;b=(d|0)!=-1?o[o[o[a+16>>2]>>2]+(d<<2)>>2]:b;e=o[a+20>>2];d=o[e>>2];if(o[e+4>>2]-d>>2>>>0<=b>>>0){break c}d=o[o[a+8>>2]+(o[d+(b<<2)>>2]<<2)>>2];b=o[a+4>>2];if(!p[b+84|0]){d=o[o[b+68>>2]+(d<<2)>>2]}e=f+24|0;o[e>>2]=0;o[e+4>>2]=0;j=f+16|0;k=j;o[k>>2]=0;o[k+4>>2]=0;o[f+8>>2]=0;o[f+12>>2]=0;Re(b,d,m[b+24|0],f+8|0);d=o[f+8>>2];b=o[f+56>>2];u=d-b|0;v=o[f+60>>2];k=o[f+12>>2]-(v+(d>>>0>>0)|0)|0;w=o[f+40>>2];d=o[f+64>>2];C=w-d|0;x=o[f+68>>2];w=o[f+44>>2]-(x+(w>>>0>>0)|0)|0;y=Ol(u,k,C,w);z=h-y|0;l=l-(T+(h>>>0>>0)|0)|0;h=o[j>>2];y=h-d|0;j=o[j+4>>2]-((h>>>0>>0)+x|0)|0;h=o[f+32>>2];x=h-b|0;v=o[f+36>>2]-((h>>>0>>0)+v|0)|0;d=Ol(y,j,x,v);h=d+z|0;b=T+l|0;b=h>>>0>>0?b+1|0:b;l=b;d=i;q=u;E=k;i=o[f+48>>2];b=o[f+72>>2];k=i-b|0;u=o[f+76>>2];z=o[f+52>>2]-(u+(i>>>0>>0)|0)|0;q=Ol(q,E,k,z);i=d+q|0;d=T+r|0;d=i>>>0>>0?d+1|0:d;r=i;i=o[e>>2];q=i-b|0;b=o[e+4>>2]-((i>>>0>>0)+u|0)|0;e=Ol(q,b,x,v);i=r-e|0;r=d-(T+(r>>>0>>0)|0)|0;d=Ol(y,j,k,z);e=n-d|0;s=s-(T+(n>>>0>>0)|0)|0;d=Ol(q,b,C,w);n=d+e|0;b=T+s|0;b=n>>>0>>0?b+1|0:b;s=b;of(f+80|0);k=o[a+28>>2];j=!k;b=o[f+88>>2];if((b|0)!=-1){continue}break}b=r;d=b>>31;a=b>>31;b=a+b|0;g=d+i|0;if(g>>>0>>0){b=b+1|0}d=d^g;j=a^b;b=s;a=b>>31;b=b>>31;g=a;t=s+a|0;e=b+n|0;if(e>>>0>>0){t=t+1|0}a=b^e;e=g^t;f:{if((l|0)<-1?1:(l|0)<=-1?h>>>0>4294967295?0:1:0){b=h;g=a+(d-b|0)|0;b=e+(j-((d>>>0>>0)+l|0)|0)|0;d=g;a=d>>>0>>0?b+1|0:b;if(!k){break f}break b}b=j+l|0;g=d;d=h;g=g+d|0;if(g>>>0>>0){b=b+1|0}d=a;g=d+g|0;a=b+e|0;a=g>>>0>>0?a+1|0:a;d=g;if(k){break b}}if((d|0)<536870913){break a}a=((a&536870911)<<3|d>>>29)&7;b=0;h=Pl(h,l,a,b);i=Pl(i,r,a,b);n=Pl(n,s,a,b);break a}Ok();D()}Ok();D()}Ok();D()}if((a|0)<0?1:(a|0)<=0?d>>>0>=536870913?0:1:0){break a}b=a>>>29|0;a=(a&536870911)<<3|d>>>29;h=Pl(h,l,a,b);i=Pl(i,r,a,b);n=Pl(n,s,a,b)}o[c+8>>2]=h;o[c+4>>2]=i;o[c>>2]=n;R=f+96|0}function Uh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((b|0)==-1){return 1}i=1;d=(b>>>0)/3|0;a:{if(o[o[a+24>>2]+(d>>>3&268435452)>>2]>>>(d&31)&1){break a}c=o[a+48>>2];o[a+52>>2]=c;b:{if((c|0)!=o[a+56>>2]){o[c>>2]=b;o[a+52>>2]=c+4;break b}e=yk(4);o[e>>2]=b;f=e+4|0;o[a+56>>2]=f;o[a+52>>2]=f;o[a+48>>2]=e;if(!c){break b}jl(c)}i=0;f=o[o[a+4>>2]+28>>2];c=b+1|0;e=(c>>>0)%3|0?c:b+ -2|0;c=o[f+(e<<2)>>2];if((c|0)==-1){break a}h=(b-u(d,3)|0?-1:2)+b|0;d=o[f+(h<<2)>>2];if((d|0)==-1){break a}b=o[a+36>>2];f=b+(c>>>3&536870908)|0;i=o[f>>2];g=1<<(c&31);if(!(i&g)){o[f>>2]=g|i;Eh(a+8|0,c,e);b=o[a+36>>2]}b=(d>>>3&536870908)+b|0;c=o[b>>2];e=1<<(d&31);if(!(c&e)){o[b>>2]=c|e;Eh(a+8|0,d,h)}c=o[a+52>>2];if((c|0)==o[a+48>>2]){return 1}j=a+48|0;k=a+8|0;while(1){c=c+ -4|0;b=o[c>>2];d=(b>>>0)/3|0;c:{d:{e:{if((b|0)==-1){break e}e=o[a+24>>2]+(d>>>3&268435452)|0;f=o[e>>2];d=1<<(d&31);if(f&d){break e}o[e>>2]=d|f;i=0;f=o[a+4>>2];d=o[o[f+28>>2]+(b<<2)>>2];if((d|0)==-1){break a}f:{while(1){g:{c=b;b=o[a+36>>2]+(d>>>3&536870908)|0;e=o[b>>2];h=1<<(d&31);h:{i:{if(e&h){break i}g=o[o[f+40>>2]+(d<<2)>>2];if((g|0)!=-1){j:{l=g+1|0;g=(l>>>0)%3|0?l:g+ -2|0;if((g|0)==-1|o[o[f>>2]+(g>>>3&536870908)>>2]>>>(g&31)&1){break j}f=o[o[o[f+64>>2]+12>>2]+(g<<2)>>2];if((f|0)==-1){break j}o[b>>2]=e|h;Eh(k,d,c);b=f+1|0;if((((b>>>0)%3|0?b:f+ -2|0)|0)==-1){break i}b=-1;f=o[a+4>>2];k:{if((c|0)==-1){break k}d=c+1|0;c=(d>>>0)%3|0?d:c+ -2|0;if((c|0)==-1|o[o[f>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1){break k}b=o[o[o[f+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;break h}}o[b>>2]=e|h;Eh(k,d,c)}if((c|0)==-1){break d}f=o[a+4>>2];d=-1;e=c+1|0;e=(e>>>0)%3|0?e:c+ -2|0;b=-1;l:{if((e|0)==-1){break l}b=-1;if(o[o[f>>2]+(e>>>3&536870908)>>2]>>>(e&31)&1){break l}b=o[o[o[f+64>>2]+12>>2]+(e<<2)>>2]}c=c+((c>>>0)%3|0?-1:2)|0;if(!((c|0)==-1|o[o[f>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1)){d=o[o[o[f+64>>2]+12>>2]+(c<<2)>>2]}h=(d|0)==-1;e=(d>>>0)/3|0;c=(b>>>0)/3|0;m:{g=(b|0)==-1;n:{if(!g){g=g?-1:c;g=o[o[a+24>>2]+(g>>>3&536870908)>>2]&1<<(g&31);if(h){break m}g=(g|0)!=0;break n}c=-1;g=1;if((d|0)==-1){break d}}h=h?-1:e;h=o[o[a+24>>2]+(h>>>3&536870908)>>2]&1<<(h&31);if(g){c=e;b=d;if(!h){break h}break d}if(h){break h}c=o[a+52>>2];o[c+ -4>>2]=d;h=o[a+56>>2];if((h|0)!=(c|0)){o[c>>2]=b;c=c+4|0;break e}e=o[j>>2];f=c-e|0;i=f>>2;c=i+1|0;if(c>>>0>=1073741824){break g}h=h-e|0;g=h>>1;c=h>>2>>>0<536870911?g>>>0>>0?c:g:1073741823;d=0;o:{if(!c){break o}if(c>>>0>=1073741824){break f}d=yk(c<<2)}h=d+(i<<2)|0;o[h>>2]=b;b=d+(c<<2)|0;c=h+4|0;if((f|0)>=1){ll(d,e,f)}o[a+56>>2]=b;o[a+52>>2]=c;o[a+48>>2]=d;if(!e){break c}jl(e);c=o[a+52>>2];break c}if(g){break d}}d=o[a+24>>2]+(c>>>3&536870908)|0;o[d>>2]=o[d>>2]|1<<(c&31);d=o[o[f+28>>2]+(b<<2)>>2];if((d|0)!=-1){continue}break a}break}Nk();D()}db(8832);D()}o[a+52>>2]=c;break c}c=o[a+52>>2]+ -4|0;o[a+52>>2]=c}i=1;if(o[j>>2]!=(c|0)){continue}break}}return i}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;e=R-96|0;R=e;d=o[a+16>>2];m[e+92|0]=1;o[e+88>>2]=b;o[e+84>>2]=b;o[e+80>>2]=d;g=o[a+20>>2];f=o[g>>2];d=o[o[d+28>>2]+(b<<2)>>2];a:{b:{c:{d:{if(o[g+4>>2]-f>>2>>>0>d>>>0){d=o[o[a+8>>2]+(o[f+(d<<2)>>2]<<2)>>2];f=o[a+4>>2];if(!p[f+84|0]){d=o[o[f+68>>2]+(d<<2)>>2]}o[e+72>>2]=0;o[e+76>>2]=0;g=e- -64|0;o[g>>2]=0;o[g+4>>2]=0;o[e+56>>2]=0;o[e+60>>2]=0;Re(f,d,m[f+24|0],e+56|0);if((b|0)==-1){break a}d=b+1|0;g=(d>>>0)%3|0?d:b+ -2|0;t=((b>>>0)%3|0?-1:2)+b|0;j=!o[a+28>>2];A=e+48|0;B=e+40|0;while(1){f=g;d=t;e:{if(j){break e}d=b+1|0;f=(d>>>0)%3|0?d:b+ -2|0;d=b+ -1|0;if((b>>>0)%3){break e}d=b+2|0}j=o[a+20>>2];b=o[j>>2];f=o[o[o[a+16>>2]+28>>2]+(f<<2)>>2];if(o[j+4>>2]-b>>2>>>0<=f>>>0){break d}f=o[o[a+8>>2]+(o[b+(f<<2)>>2]<<2)>>2];b=o[a+4>>2];if(!p[b+84|0]){f=o[o[b+68>>2]+(f<<2)>>2]}o[A>>2]=0;o[A+4>>2]=0;o[B>>2]=0;o[B+4>>2]=0;o[e+32>>2]=0;o[e+36>>2]=0;Re(b,f,m[b+24|0],e+32|0);f=o[a+20>>2];b=o[f>>2];d=o[o[o[a+16>>2]+28>>2]+(d<<2)>>2];if(o[f+4>>2]-b>>2>>>0<=d>>>0){break c}f=o[o[a+8>>2]+(o[b+(d<<2)>>2]<<2)>>2];b=o[a+4>>2];if(!p[b+84|0]){f=o[o[b+68>>2]+(f<<2)>>2]}j=e+24|0;d=j;o[d>>2]=0;o[d+4>>2]=0;k=e+16|0;d=k;o[d>>2]=0;o[d+4>>2]=0;o[e+8>>2]=0;o[e+12>>2]=0;Re(b,f,m[b+24|0],e+8|0);d=o[e+8>>2];b=o[e+56>>2];u=d-b|0;v=o[e+60>>2];f=o[e+12>>2]-(v+(d>>>0>>0)|0)|0;w=o[e+40>>2];d=o[e+64>>2];C=w-d|0;x=o[e+68>>2];w=o[e+44>>2]-(x+(w>>>0>>0)|0)|0;y=Ol(u,f,C,w);z=h-y|0;l=l-(T+(h>>>0>>0)|0)|0;h=o[k>>2];y=h-d|0;k=o[k+4>>2]-((h>>>0>>0)+x|0)|0;h=o[e+32>>2];x=h-b|0;v=o[e+36>>2]-((h>>>0>>0)+v|0)|0;d=Ol(y,k,x,v);h=d+z|0;b=T+l|0;b=h>>>0>>0?b+1|0:b;l=b;d=i;q=u;E=f;i=o[e+48>>2];b=o[e+72>>2];f=i-b|0;u=o[e+76>>2];z=o[e+52>>2]-(u+(i>>>0>>0)|0)|0;q=Ol(q,E,f,z);i=d+q|0;d=T+r|0;d=i>>>0>>0?d+1|0:d;r=i;i=o[j>>2];q=i-b|0;b=o[j+4>>2]-((i>>>0>>0)+u|0)|0;j=Ol(q,b,x,v);i=r-j|0;r=d-(T+(r>>>0>>0)|0)|0;d=Ol(y,k,f,z);f=n-d|0;s=s-(T+(n>>>0>>0)|0)|0;d=Ol(q,b,C,w);n=d+f|0;b=T+s|0;b=n>>>0>>0?b+1|0:b;s=b;$e(e+80|0);k=o[a+28>>2];j=!k;b=o[e+88>>2];if((b|0)!=-1){continue}break}b=r;d=b>>31;a=b>>31;b=a+b|0;g=d+i|0;if(g>>>0>>0){b=b+1|0}d=d^g;j=a^b;b=s;a=b>>31;b=b>>31;g=a;t=s+a|0;f=b+n|0;if(f>>>0>>0){t=t+1|0}a=b^f;f=g^t;f:{if((l|0)<-1?1:(l|0)<=-1?h>>>0>4294967295?0:1:0){b=h;g=a+(d-b|0)|0;b=f+(j-((d>>>0>>0)+l|0)|0)|0;d=g;a=d>>>0>>0?b+1|0:b;if(!k){break f}break b}b=j+l|0;g=d;d=h;g=g+d|0;if(g>>>0>>0){b=b+1|0}d=a;g=d+g|0;a=b+f|0;a=g>>>0>>0?a+1|0:a;d=g;if(k){break b}}if((d|0)<536870913){break a}a=((a&536870911)<<3|d>>>29)&7;b=0;h=Pl(h,l,a,b);i=Pl(i,r,a,b);n=Pl(n,s,a,b);break a}Ok();D()}Ok();D()}Ok();D()}if((a|0)<0?1:(a|0)<=0?d>>>0>=536870913?0:1:0){break a}b=a>>>29|0;a=(a&536870911)<<3|d>>>29;h=Pl(h,l,a,b);i=Pl(i,r,a,b);n=Pl(n,s,a,b)}o[c+8>>2]=h;o[c+4>>2]=i;o[c>>2]=n;R=e+96|0}function Oh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((b|0)==-1){return 1}i=1;d=(b>>>0)/3|0;a:{if(o[o[a+24>>2]+(d>>>3&268435452)>>2]>>>(d&31)&1){break a}c=o[a+48>>2];o[a+52>>2]=c;b:{if((c|0)!=o[a+56>>2]){o[c>>2]=b;o[a+52>>2]=c+4;break b}e=yk(4);o[e>>2]=b;g=e+4|0;o[a+56>>2]=g;o[a+52>>2]=g;o[a+48>>2]=e;if(!c){break b}jl(c)}c=o[a+4>>2];f=-1;i=0;e=b+1|0;e=(e>>>0)%3|0?e:b+ -2|0;if((e|0)!=-1){f=o[o[c>>2]+(e<<2)>>2]}d=(b-u(d,3)|0?-1:2)+b|0;if((d|0)==-1|(f|0)==-1){break a}c=o[o[c>>2]+(d<<2)>>2];if((c|0)==-1){break a}b=o[a+36>>2];g=b+(f>>>3&536870908)|0;i=o[g>>2];j=1<<(f&31);if(!(i&j)){o[g>>2]=i|j;Eh(a+8|0,f,e);b=o[a+36>>2]}b=(c>>>3&536870908)+b|0;e=o[b>>2];g=1<<(c&31);if(!(e&g)){o[b>>2]=e|g;Eh(a+8|0,c,d)}c=o[a+52>>2];if((c|0)==o[a+48>>2]){return 1}j=a+48|0;k=a+8|0;while(1){c=c+ -4|0;b=o[c>>2];d=(b>>>0)/3|0;c:{d:{e:{if((b|0)==-1){break e}e=o[a+24>>2]+(d>>>3&268435452)|0;g=o[e>>2];d=1<<(d&31);if(g&d){break e}o[e>>2]=d|g;f:{while(1){i=0;f=o[a+4>>2];c=o[o[f>>2]+(b<<2)>>2];if((c|0)==-1){break a}g:{d=o[a+36>>2]+(c>>>3&536870908)|0;e=o[d>>2];g=1<<(c&31);h:{i:{if(e&g){break i}h=o[o[f+24>>2]+(c<<2)>>2];if((h|0)!=-1){l=h+1|0;h=(l>>>0)%3|0?l:h+ -2|0;if((h|0)!=-1){f=o[o[f+12>>2]+(h<<2)>>2];if((f|0)!=-1){o[d>>2]=e|g;Eh(k,c,b);c=f+1|0;if((((c>>>0)%3|0?c:f+ -2|0)|0)==-1){break i}d=b+ -2|0;c=b+1|0;b=-1;c=(c>>>0)%3|0?c:d;if((c|0)!=-1){b=o[o[o[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;f=o[a+24>>2];break h}}}o[d>>2]=e|g;Eh(k,c,b)}c=o[a+4>>2];j:{k:{l:{m:{n:{d=b+1|0;e=(d>>>0)%3|0?d:b+ -2|0;o:{if((e|0)!=-1){d=((b>>>0)%3|0?-1:2)+b|0;c=o[c+12>>2];b=o[c+(e<<2)>>2];if((d|0)==-1){break n}d=o[c+(d<<2)>>2];if((b|0)!=-1){break m}b=d;break o}b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)==-1){break d}b=o[o[c+12>>2]+(b<<2)>>2]}if((b|0)==-1){break d}f=o[a+24>>2];h=1;e=-1;d=-1;c=(b>>>0)/3|0;break k}if((b|0)==-1){break d}c=(b>>>0)/3|0;d=-1;g=-1;break l}c=(b>>>0)/3|0;g=-1;if((d|0)==-1){d=-1;break l}g=(d>>>0)/3|0}f=o[a+24>>2];e=o[f+(c>>>3&268435452)>>2]&1<<(c&31);if((g|0)==-1){break j}h=(e|0)!=0;e=b;b=d;d=c;c=g}g=o[(c>>>3&536870908)+f>>2]&1<<(c&31);if(h){if(!g){break h}break d}if(g){c=d;b=e;break h}c=o[a+52>>2];o[c+ -4>>2]=b;f=o[a+56>>2];if((f|0)!=(c|0)){o[c>>2]=e;c=c+4|0;break e}d=o[j>>2];g=c-d|0;i=g>>2;c=i+1|0;if(c>>>0>=1073741824){break g}f=f-d|0;h=f>>1;c=f>>2>>>0<536870911?h>>>0>>0?c:h:1073741823;b=0;p:{if(!c){break p}if(c>>>0>=1073741824){break f}b=yk(c<<2)}f=b+(i<<2)|0;o[f>>2]=e;e=b+(c<<2)|0;c=f+4|0;if((g|0)>=1){ll(b,d,g)}o[a+56>>2]=e;o[a+52>>2]=c;o[a+48>>2]=b;if(!d){break c}jl(d);c=o[a+52>>2];break c}if(e){break d}}d=(c>>>3&536870908)+f|0;o[d>>2]=o[d>>2]|1<<(c&31);if((b|0)!=-1){continue}break a}break}Nk();D()}db(8832);D()}o[a+52>>2]=c;break c}c=o[a+52>>2]+ -4|0;o[a+52>>2]=c}i=1;if(o[j>>2]!=(c|0)){continue}break}}return i}function bf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;o[a+8>>2]=e;f=a+32|0;g=o[f>>2];d=o[a+36>>2]-g>>2;a:{if(d>>>0>>0){Ia(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}o[a+36>>2]=g+(e<<2)}r=o[a+52>>2];p=o[a+48>>2];d=0;f=(e&1073741823)!=(e|0)?-1:e<<2;n=ml(yk(f),0,f);f=o[a+8>>2];b:{if((f|0)<1){break b}while(1){f=d<<2;g=o[f+n>>2];j=o[a+16>>2];c:{if((g|0)>(j|0)){h=o[a+32>>2];o[f+h>>2]=j;break c}h=o[a+32>>2];f=f+h|0;j=o[a+12>>2];if((g|0)<(j|0)){o[f>>2]=j;break c}o[f>>2]=g}d=d+1|0;f=o[a+8>>2];if((d|0)<(f|0)){continue}break}if((f|0)<1){break b}g=0;while(1){f=g<<2;d=f+c|0;f=o[b+f>>2]+o[f+h>>2]|0;o[d>>2]=f;d:{if((f|0)>o[a+16>>2]){f=f-o[a+20>>2]|0}else{if((f|0)>=o[a+12>>2]){break d}f=f+o[a+20>>2]|0}o[d>>2]=f}g=g+1|0;f=o[a+8>>2];if((g|0)<(f|0)){continue}break}}d=o[a+56>>2];q=o[d>>2];d=o[d+4>>2]-q|0;if((d|0)>=5){d=d>>2;s=(d|0)>2?d:2;t=d>>>0>1?d:1;j=1;while(1){e:{f:{if((j|0)!=(t|0)){m=u(e,j);d=o[(j<<2)+q>>2];if((d|0)==-1){break f}d=o[o[p+12>>2]+(d<<2)>>2];if((d|0)==-1){break f}g=-1;i=o[r>>2];h=o[p>>2];k=o[i+(o[h+(d<<2)>>2]<<2)>>2];l=d+1|0;l=(l>>>0)%3|0?l:d+ -2|0;if((l|0)!=-1){l=o[h+(l<<2)>>2]}else{l=-1}d=d+((d>>>0)%3|0?-1:2)|0;if((d|0)!=-1){g=o[h+(d<<2)>>2]}if((k|0)>=(j|0)){break f}d=o[(l<<2)+i>>2];if((d|0)>=(j|0)){break f}g=o[i+(g<<2)>>2];if((g|0)>=(j|0)){break f}if((e|0)>=1){g=u(e,g);h=u(d,e);i=u(e,k);d=0;while(1){o[(d<<2)+n>>2]=(o[(d+g<<2)+c>>2]+o[(d+h<<2)+c>>2]|0)-o[(d+i<<2)+c>>2];d=d+1|0;if((e|0)!=(d|0)){continue}break}}if((f|0)<1){break e}d=0;while(1){f=d<<2;g=o[f+n>>2];i=o[a+16>>2];g:{if((g|0)>(i|0)){h=o[a+32>>2];o[f+h>>2]=i;break g}h=o[a+32>>2];f=f+h|0;i=o[a+12>>2];if((g|0)<(i|0)){o[f>>2]=i;break g}o[f>>2]=g}d=d+1|0;f=o[a+8>>2];if((d|0)<(f|0)){continue}break}g=0;if((f|0)<1){break e}d=m<<2;m=d+c|0;i=b+d|0;while(1){f=g<<2;d=f+m|0;f=o[f+i>>2]+o[f+h>>2]|0;o[d>>2]=f;h:{if((f|0)>o[a+16>>2]){f=f-o[a+20>>2]|0}else{if((f|0)>=o[a+12>>2]){break h}f=f+o[a+20>>2]|0}o[d>>2]=f}g=g+1|0;f=o[a+8>>2];if((g|0)<(f|0)){continue}break}break e}Ok();D()}if((f|0)<1){break e}i=(u(j+ -1|0,e)<<2)+c|0;d=0;while(1){f=d<<2;g=o[f+i>>2];k=o[a+16>>2];i:{if((g|0)>(k|0)){h=o[a+32>>2];o[f+h>>2]=k;break i}h=o[a+32>>2];f=f+h|0;k=o[a+12>>2];if((g|0)<(k|0)){o[f>>2]=k;break i}o[f>>2]=g}d=d+1|0;f=o[a+8>>2];if((d|0)<(f|0)){continue}break}g=0;if((f|0)<1){break e}d=m<<2;m=d+c|0;i=b+d|0;while(1){f=g<<2;d=f+m|0;f=o[f+i>>2]+o[f+h>>2]|0;o[d>>2]=f;j:{if((f|0)>o[a+16>>2]){f=f-o[a+20>>2]|0}else{if((f|0)>=o[a+12>>2]){break j}f=f+o[a+20>>2]|0}o[d>>2]=f}g=g+1|0;f=o[a+8>>2];if((g|0)<(f|0)){continue}break}}j=j+1|0;if((s|0)!=(j|0)){continue}break}}jl(n);return 1}function Be(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;o[a+8>>2]=e;f=a+32|0;g=o[f>>2];d=o[a+36>>2]-g>>2;a:{if(d>>>0>>0){Ia(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}o[a+36>>2]=g+(e<<2)}q=o[a+52>>2];n=o[a+48>>2];d=0;f=(e&1073741823)!=(e|0)?-1:e<<2;m=ml(yk(f),0,f);f=o[a+8>>2];b:{if((f|0)<1){break b}while(1){f=d<<2;g=o[f+m>>2];i=o[a+16>>2];c:{if((g|0)>(i|0)){h=o[a+32>>2];o[f+h>>2]=i;break c}h=o[a+32>>2];f=f+h|0;i=o[a+12>>2];if((g|0)<(i|0)){o[f>>2]=i;break c}o[f>>2]=g}d=d+1|0;f=o[a+8>>2];if((d|0)<(f|0)){continue}break}if((f|0)<1){break b}g=0;while(1){f=g<<2;d=f+c|0;f=o[b+f>>2]+o[f+h>>2]|0;o[d>>2]=f;d:{if((f|0)>o[a+16>>2]){f=f-o[a+20>>2]|0}else{if((f|0)>=o[a+12>>2]){break d}f=f+o[a+20>>2]|0}o[d>>2]=f}g=g+1|0;f=o[a+8>>2];if((g|0)<(f|0)){continue}break}}d=o[a+56>>2];p=o[d>>2];d=o[d+4>>2]-p|0;if((d|0)>=5){d=d>>2;r=(d|0)>2?d:2;s=d>>>0>1?d:1;i=1;while(1){e:{f:{if((i|0)!=(s|0)){l=u(e,i);d=o[(i<<2)+p>>2];if((d|0)==-1|o[o[n>>2]+(d>>>3&536870908)>>2]>>>(d&31)&1){break f}d=o[o[o[n+64>>2]+12>>2]+(d<<2)>>2];if((d|0)==-1){break f}h=o[q>>2];g=o[n+28>>2];j=o[h+(o[g+(d<<2)>>2]<<2)>>2];if((j|0)>=(i|0)){break f}k=d+1|0;k=o[h+(o[g+(((k>>>0)%3|0?k:d+ -2|0)<<2)>>2]<<2)>>2];if((k|0)>=(i|0)){break f}d=o[h+(o[g+(d+((d>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((d|0)>=(i|0)){break f}if((e|0)>=1){g=u(d,e);h=u(e,k);j=u(e,j);d=0;while(1){o[(d<<2)+m>>2]=(o[(d+g<<2)+c>>2]+o[(d+h<<2)+c>>2]|0)-o[(d+j<<2)+c>>2];d=d+1|0;if((e|0)!=(d|0)){continue}break}}if((f|0)<1){break e}d=0;while(1){f=d<<2;g=o[f+m>>2];j=o[a+16>>2];g:{if((g|0)>(j|0)){h=o[a+32>>2];o[f+h>>2]=j;break g}h=o[a+32>>2];f=f+h|0;j=o[a+12>>2];if((g|0)<(j|0)){o[f>>2]=j;break g}o[f>>2]=g}d=d+1|0;f=o[a+8>>2];if((d|0)<(f|0)){continue}break}g=0;if((f|0)<1){break e}d=l<<2;l=d+c|0;j=b+d|0;while(1){f=g<<2;d=f+l|0;f=o[f+j>>2]+o[f+h>>2]|0;o[d>>2]=f;h:{if((f|0)>o[a+16>>2]){f=f-o[a+20>>2]|0}else{if((f|0)>=o[a+12>>2]){break h}f=f+o[a+20>>2]|0}o[d>>2]=f}g=g+1|0;f=o[a+8>>2];if((g|0)<(f|0)){continue}break}break e}Ok();D()}if((f|0)<1){break e}j=(u(i+ -1|0,e)<<2)+c|0;d=0;while(1){f=d<<2;g=o[f+j>>2];k=o[a+16>>2];i:{if((g|0)>(k|0)){h=o[a+32>>2];o[f+h>>2]=k;break i}h=o[a+32>>2];f=f+h|0;k=o[a+12>>2];if((g|0)<(k|0)){o[f>>2]=k;break i}o[f>>2]=g}d=d+1|0;f=o[a+8>>2];if((d|0)<(f|0)){continue}break}g=0;if((f|0)<1){break e}d=l<<2;l=d+c|0;j=b+d|0;while(1){f=g<<2;d=f+l|0;f=o[f+j>>2]+o[f+h>>2]|0;o[d>>2]=f;j:{if((f|0)>o[a+16>>2]){f=f-o[a+20>>2]|0}else{if((f|0)>=o[a+12>>2]){break j}f=f+o[a+20>>2]|0}o[d>>2]=f}g=g+1|0;f=o[a+8>>2];if((g|0)<(f|0)){continue}break}}i=i+1|0;if((r|0)!=(i|0)){continue}break}}jl(m);return 1}function Gi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=R-48|0;R=d;if(b){u=a+12|0;k=o[a+4>>2];l=o[a>>2];h=k-l|0;g=h>>2;c=o[a+12>>2];e=o[a+16>>2]-c>>2;a:{if(g>>>0>e>>>0){Ji(u,g-e|0);k=o[a+4>>2];l=o[a>>2];h=k-l|0;g=h>>2;break a}if(g>>>0>=e>>>0){break a}o[a+16>>2]=c+(g<<2)}e=0;o[d+40>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;b:{c:{d:{if(!g){c=0;f=0;break d}if(g>>>0>=1073741824){break c}c=yk(h);o[d+36>>2]=c;o[d+32>>2]=c;o[d+40>>2]=(g<<2)+c;f=c}if(!h){break b}e=f;i=e;h=0;while(1){j=o[(h<<2)+l>>2];i=i-e>>2;if(j>>>0>=i>>>0){o[d+16>>2]=0;c=j+1|0;e:{if(c>>>0>i>>>0){Dd(d+32|0,c-i|0,d+16|0);l=o[a>>2];k=o[a+4>>2];break e}if(c>>>0>=i>>>0){break e}o[d+36>>2]=(c<<2)+e}c=o[d+32>>2];f=c}e=(j<<2)+c|0;o[e>>2]=o[e>>2]+1;h=h+1|0;e=k-l|0;g=e>>2;if(h>>>0>=g>>>0){break b}i=o[d+36>>2];e=c;continue}}db(10528);D()}o[d+24>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;h=0;f:{g:{if(e){if(g>>>0>=536870912){break g}h=yk(e<<1);o[d+16>>2]=h;j=g<<3;e=j+h|0;o[d+24>>2]=e;ml(h,255,j);o[d+20>>2]=e}o[d+8>>2]=0;o[d>>2]=0;o[d+4>>2]=0;f=o[d+36>>2]-f|0;n=f>>2;h:{if(f){if(n>>>0>=1073741824){break h}m=yk(f);o[d>>2]=m;e=(n<<2)+m|0;o[d+8>>2]=e;g=0;i=ml(m,0,f);o[d+4>>2]=e;j=n>>>0>1?n:1;e=0;while(1){f=e<<2;o[f+i>>2]=g;g=o[c+f>>2]+g|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}if((k|0)==(l|0)){break f}x=k-l>>2;j=0;v=o[d+32>>2];while(1){s=j<<2;r=o[s+l>>2];k=-1;e=j+1|0;c=(e>>>0)%3|0?e:j+ -2|0;if((c|0)!=-1){k=o[(c<<2)+l>>2]}p=-1;f=(j>>>0)%3|0;c=(f?-1:2)+j|0;if((c|0)!=-1){p=o[(c<<2)+l>>2]}i:{j:{if(f){break j}k:{if((k|0)==(p|0)){break k}c=o[l+s>>2];if((c|0)==(k|0)){break k}if((c|0)!=(p|0)){break j}}o[a+40>>2]=o[a+40>>2]+1;e=j+3|0;break i}c=p<<2;t=o[c+v>>2];l:{m:{if((t|0)<1){break m}c=o[c+m>>2];g=0;while(1){i=(c<<3)+h|0;f=o[i>>2];if((f|0)==-1){break m}n:{if((f|0)!=(k|0)){break n}q=o[i+4>>2];if((q|0)!=-1){f=o[(q<<2)+l>>2]}else{f=-1}if((f|0)==(r|0)){break n}while(1){o:{f=c;g=g+1|0;if((g|0)>=(t|0)){break o}w=(f<<3)+h|0;c=f+1|0;r=(c<<3)+h|0;i=o[r>>2];o[w>>2]=i;o[w+4>>2]=o[r+4>>2];if((i|0)!=-1){continue}}break}o[(f<<3)+h>>2]=-1;if((q|0)==-1){break m}c=o[u>>2];o[c+s>>2]=q;o[c+(q<<2)>>2]=j;break l}c=c+1|0;g=g+1|0;if((t|0)!=(g|0)){continue}break}}c=k<<2;f=o[c+v>>2];if((f|0)<1){break l}c=o[c+m>>2];g=0;while(1){i=(c<<3)+h|0;if(o[i>>2]==-1){o[i>>2]=p;o[i+4>>2]=j;break l}c=c+1|0;g=g+1|0;if((f|0)!=(g|0)){continue}break}}}j=e;if(j>>>0>>0){continue}break}break f}Nk();D()}Nk();D()}o[b>>2]=n;if(m){o[d+4>>2]=m;jl(m)}a=o[d+16>>2];if(a){o[d+20>>2]=a;jl(a)}a=o[d+32>>2];if(a){o[d+36>>2]=a;jl(a)}a=1}else{a=0}R=d+48|0;return a}function Ii(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0;h=R-48|0;R=h;o[a+36>>2]=b;n=a+24|0;e=o[a+24>>2];c=o[a+28>>2]-e>>2;a:{if(c>>>0>>0){Ji(n,b-c|0);break a}if(c>>>0<=b>>>0){break a}o[a+28>>2]=e+(b<<2)}m[h+16|0]=0;i=Ki(h+32|0,b,h+16|0);c=o[a>>2];e=o[a+4>>2];m[h+8|0]=0;p=Ki(h+16|0,e-c>>2,h+8|0);c=o[a>>2];b:{if(o[a+4>>2]-c>>2>>>0<3){break b}s=a+48|0;while(1){k=u(q,3);f=o[(k<<2)+c>>2];g=0;d=-1;e=k+1|0;c:{if((e|0)!=-1){d=o[(e<<2)+c>>2];g=k+2|0;e=-1;if((g|0)==-1){break c}}e=o[(g<<2)+c>>2]}d:{if(!((e|0)==(d|0)|(d|0)==(f|0)|(e|0)==(f|0))){j=o[p>>2];l=0;while(1){e=k+l|0;e:{if(o[(e>>>3&536870908)+j>>2]>>>(e&31)&1){break e}g=o[o[a>>2]+(e<<2)>>2];o[h+8>>2]=g;c=1<<(g&31);d=o[i>>2];g=g>>>5|0;j=o[d+(g<<2)>>2];f=0;f:{if(!(c&j)){break f}eh(n,10524);Li(s,h+8|0);c=o[i+4>>2];f=o[i+8>>2];if((c|0)==f<<5){if((c+1|0)<=-1){break d}d=i;if(c>>>0<=1073741822){c=c+32&-32;f=f<<6;c=f>>>0>>0?c:f}else{c=2147483647}fb(d,c);c=o[i+4>>2]}o[i+4>>2]=c+1;d=o[i>>2];f=d+(c>>>3&536870908)|0;g=o[f>>2];t=f,v=Sl(c)&g,o[t>>2]=v;o[h+8>>2]=b;c=1<<(b&31);g=b>>>5|0;j=o[(g<<2)+d>>2];b=b+1|0;f=1}o[(g<<2)+d>>2]=c|j;j=o[p>>2];c=e;g:{while(1){if((c|0)==-1){break g}d=(c>>>3&536870908)+j|0;o[d>>2]=o[d>>2]|1<<(c&31);d=o[h+8>>2];o[o[n>>2]+(d<<2)>>2]=c;if(f){o[o[a>>2]+(c<<2)>>2]=d}g=e;d=c+1|0;c=(d>>>0)%3|0?d:c+ -2|0;d=-1;h:{if((c|0)==-1){break h}c=o[o[a+12>>2]+(c<<2)>>2];d=-1;if((c|0)==-1){break h}d=c+1|0;d=(d>>>0)%3|0?d:c+ -2|0}c=d;if((g|0)!=(c|0)){continue}break}if((e|0)!=-1){break e}}c=e+((e>>>0)%3|0?-1:2)|0;if((c|0)==-1){break e}c=o[o[a+12>>2]+(c<<2)>>2];if((c|0)==-1){break e}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break e}while(1){e=(c>>>3&536870908)+j|0;o[e>>2]=o[e>>2]|1<<(c&31);if(f){o[o[a>>2]+(c<<2)>>2]=o[h+8>>2]}c=((c>>>0)%3|0?-1:2)+c|0;if((c|0)==-1){break e}c=o[o[a+12>>2]+(c<<2)>>2];if((c|0)==-1){break e}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)!=-1){continue}break}}l=l+1|0;if((l|0)!=3){continue}break}}q=q+1|0;c=o[a>>2];if(q>>>0<(o[a+4>>2]-c>>2>>>0)/3>>>0){continue}break b}break}Nk();D()}o[a+44>>2]=0;b=o[i>>2];c=o[i+4>>2];e=c>>>5|0;f=c&31;if(e|f){e=(e<<2)+b|0;d=b;c=0;while(1){if(!(o[d>>2]>>>c&1)){r=r+1|0;o[a+44>>2]=r}g=(c|0)==31;c=g?0:c+1|0;d=g?d+4|0:d;if((e|0)!=(d|0)|(c|0)!=(f|0)){continue}break}}a=o[p>>2];if(a){jl(a);b=o[i>>2]}if(b){jl(b)}R=h+48|0}function pj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{d=b;g=o[b>>2];if(g){c=o[b+4>>2];if(!c){break b}while(1){d=c;c=o[c>>2];if(c){continue}break}}g=o[d+4>>2];if(g){break b}g=0;e=0;break a}o[g+8>>2]=o[d+8>>2];e=1}f=o[d+8>>2];c=o[f>>2];c:{if((c|0)==(d|0)){o[f>>2]=g;if((a|0)==(d|0)){c=0;a=g;break c}c=o[f+4>>2];break c}o[f+4>>2]=g}d:{e:{f:{h=!p[d+12|0];if((b|0)!=(d|0)){f=o[b+8>>2];o[d+8>>2]=f;o[f+((o[o[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=o[b>>2];o[d>>2]=f;o[f+8>>2]=d;f=o[b+4>>2];o[d+4>>2]=f;if(f){o[f+8>>2]=d}m[d+12|0]=p[b+12|0];a=(a|0)==(b|0)?d:a}if(!(h|!a)){if(!e){while(1){b=p[c+12|0];g:{e=o[c+8>>2];if(o[e>>2]!=(c|0)){if(!b){m[c+12|0]=1;m[e+12|0]=0;d=o[e+4>>2];b=o[d>>2];o[e+4>>2]=b;if(b){o[b+8>>2]=e}o[d+8>>2]=o[e+8>>2];b=o[e+8>>2];o[(((e|0)!=o[b>>2])<<2)+b>>2]=d;o[d>>2]=e;o[e+8>>2]=d;b=o[c>>2];a=(b|0)==(a|0)?c:a;c=o[b+4>>2]}d=o[c>>2];if(!(p[d+12|0]?0:d)){b=o[c+4>>2];if(p[b+12|0]?0:b){break f}m[c+12|0]=0;c=o[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(p[c+12|0]){break g}}m[c+12|0]=1;return}b=o[c+4>>2];if(b){break f}break e}i:{if(b){b=c;break i}m[c+12|0]=1;m[e+12|0]=0;b=o[c+4>>2];o[e>>2]=b;if(b){o[b+8>>2]=e}o[c+8>>2]=o[e+8>>2];d=o[e+8>>2];j:{if((e|0)==o[d>>2]){o[d>>2]=c;b=o[e>>2];break j}o[d+4>>2]=c}o[c+4>>2]=e;o[e+8>>2]=c;a=(a|0)==(e|0)?c:a}d=o[b>>2];k:{if(!(!d|p[d+12|0])){c=b;break k}c=o[b+4>>2];if(!(p[c+12|0]?0:c)){m[b+12|0]=0;c=o[b+8>>2];if(p[c+12|0]?(c|0)!=(a|0):0){break g}m[c+12|0]=1;return}if(!(p[d+12|0]|!d)){c=b;break k}m[c+12|0]=1;m[b+12|0]=0;a=o[c>>2];o[b+4>>2]=a;if(a){o[a+8>>2]=b}o[c+8>>2]=o[b+8>>2];a=o[b+8>>2];o[((o[a>>2]!=(b|0))<<2)+a>>2]=c;o[c>>2]=b;o[b+8>>2]=c;d=b}a=c;c=o[c+8>>2];m[a+12|0]=p[c+12|0];m[c+12|0]=1;m[d+12|0]=1;b=o[c>>2];a=o[b+4>>2];o[c>>2]=a;if(a){o[a+8>>2]=c}o[b+8>>2]=o[c+8>>2];a=o[c+8>>2];o[(((c|0)!=o[a>>2])<<2)+a>>2]=b;o[b+4>>2]=c;o[c+8>>2]=b;return}b=o[c+8>>2];c=o[((o[b>>2]==(c|0))<<2)+b>>2];continue}}m[g+12|0]=1}return}if(p[b+12|0]){break e}d=c;break d}m[d+12|0]=1;m[c+12|0]=0;a=o[d+4>>2];o[c>>2]=a;if(a){o[a+8>>2]=c}o[d+8>>2]=o[c+8>>2];a=o[c+8>>2];o[((o[a>>2]!=(c|0))<<2)+a>>2]=d;o[d+4>>2]=c;o[c+8>>2]=d;b=c}c=o[d+8>>2];m[d+12|0]=p[c+12|0];m[c+12|0]=1;m[b+12|0]=1;b=o[c+4>>2];a=o[b>>2];o[c+4>>2]=a;if(a){o[a+8>>2]=c}o[b+8>>2]=o[c+8>>2];a=o[c+8>>2];o[(((c|0)!=o[a>>2])<<2)+a>>2]=b;o[b>>2]=c;o[c+8>>2]=b}function mf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;h=R-32|0;R=h;o[a+68>>2]=f;d=o[a+56>>2];e=o[d>>2];f=o[d+4>>2];o[h+24>>2]=0;o[h+16>>2]=0;o[h+20>>2]=0;f=f-e|0;a:{if((f|0)<1){break a}e=o[d>>2];if((e|0)!=o[d+4>>2]){m=a+60|0;d=f>>2;n=(d|0)>1?d:1;p=a+108|0;while(1){nf(m,o[(k<<2)+e>>2],h+16|0);e=o[h+20>>2];g=e>>31;f=o[h+16>>2];i=f>>31;l=o[h+24>>2];j=l>>31;d=0;j=j^j+l;g=j+((g^e+g)+(i^f+i)|0)|0;if(g>>>0>>0){d=1}b:{if(!(d|g)){o[h+16>>2]=o[a+104>>2];break b}i=o[a+104>>2];j=i>>31;e=Pl(Ol(i,j,e,e>>31),T,g,d);o[h+20>>2]=e;d=Pl(Ol(i,j,f,f>>31),T,g,d);o[h+16>>2]=d;f=d;d=d>>31;d=(i-(f+d^d)|0)+((e|0)<0?e:0-e|0)|0;if((l|0)>=0){o[h+24>>2]=d;break b}o[h+24>>2]=0-d}d=Uf(p);f=o[h+16>>2];c:{if(!d){e=o[h+20>>2];break c}o[h+24>>2]=0-o[h+24>>2];e=0-o[h+20>>2]|0;o[h+20>>2]=e;f=0-f|0;o[h+16>>2]=f}d:{if((f|0)>=0){d=o[a+104>>2];f=d+o[h+24>>2]|0;d=d+e|0;break d}e:{if((e|0)<=-1){f=o[h+24>>2];d=f>>31;d=d^d+f;break e}f=o[h+24>>2];d=f>>31;d=o[a+100>>2]-(d^d+f)|0}if((f|0)<=-1){f=e;e=e>>31;f=f+e^e;break d}f=e;e=e>>31;f=o[a+100>>2]-(f+e^e)|0}f:{if(!(d|f)){f=o[a+100>>2];e=f;break f}g=o[a+100>>2];g:{h:{i:{if(!d){if((f|0)==(g|0)){e=f;break f}e=0;if(f|g){break i}f=0;break f}if(!((d|0)!=(g|0)|f)){f=d;e=d;break f}if((d|0)!=(g|0)){break g}i=o[a+104>>2];break h}i=o[a+104>>2];if((i|0)<(f|0)){f=(i<<1)-f|0;break f}if(g){break g}}g=d;if((i|0)<=(f|0)){break g}f=(i<<1)-f|0;e=d;break f}j:{if((f|0)!=(g|0)){break j}e=o[a+104>>2];if((e|0)<=(d|0)){break j}e=(e<<1)-d|0;break f}if(f){e=d;break f}f=0;e=o[a+104>>2];if((e|0)>=(d|0)){e=d;break f}e=(e<<1)-d|0}o[h+12>>2]=f;o[h+8>>2]=e;k:{if(o[a+8>>2]<1){break k}f=0;while(1){g=o[a+16>>2];l:{if((e|0)>(g|0)){d=o[a+32>>2];o[d+(f<<2)>>2]=g;break l}d=o[a+32>>2];g=d+(f<<2)|0;i=o[a+12>>2];if((e|0)<(i|0)){o[g>>2]=i;break l}o[g>>2]=e}f=f+1|0;g=o[a+8>>2];if((f|0)<(g|0)){e=o[(h+8|0)+(f<<2)>>2];continue}break}e=0;if((g|0)<1){break k}f=k<<3;i=f+c|0;l=b+f|0;while(1){g=e<<2;f=g+i|0;g=o[g+l>>2]+o[d+g>>2]|0;o[f>>2]=g;m:{if((g|0)>o[a+16>>2]){g=g-o[a+20>>2]|0}else{if((g|0)>=o[a+12>>2]){break m}g=g+o[a+20>>2]|0}o[f>>2]=g}e=e+1|0;if((e|0)>2]){continue}break}}k=k+1|0;if((n|0)==(k|0)){break a}d=o[a+56>>2];e=o[d>>2];if(o[d+4>>2]-e>>2>>>0>k>>>0){continue}break}}Ok();D()}R=h+32|0;return 1}function Ye(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;h=R-32|0;R=h;o[a+68>>2]=f;d=o[a+56>>2];e=o[d>>2];f=o[d+4>>2];o[h+24>>2]=0;o[h+16>>2]=0;o[h+20>>2]=0;f=f-e|0;a:{if((f|0)<1){break a}e=o[d>>2];if((e|0)!=o[d+4>>2]){m=a+60|0;d=f>>2;n=(d|0)>1?d:1;p=a+108|0;while(1){Ze(m,o[(k<<2)+e>>2],h+16|0);e=o[h+20>>2];g=e>>31;f=o[h+16>>2];i=f>>31;l=o[h+24>>2];j=l>>31;d=0;j=j^j+l;g=j+((g^e+g)+(i^f+i)|0)|0;if(g>>>0>>0){d=1}b:{if(!(d|g)){o[h+16>>2]=o[a+104>>2];break b}i=o[a+104>>2];j=i>>31;e=Pl(Ol(i,j,e,e>>31),T,g,d);o[h+20>>2]=e;d=Pl(Ol(i,j,f,f>>31),T,g,d);o[h+16>>2]=d;f=d;d=d>>31;d=(i-(f+d^d)|0)+((e|0)<0?e:0-e|0)|0;if((l|0)>=0){o[h+24>>2]=d;break b}o[h+24>>2]=0-d}d=Uf(p);f=o[h+16>>2];c:{if(!d){e=o[h+20>>2];break c}o[h+24>>2]=0-o[h+24>>2];e=0-o[h+20>>2]|0;o[h+20>>2]=e;f=0-f|0;o[h+16>>2]=f}d:{if((f|0)>=0){d=o[a+104>>2];f=d+o[h+24>>2]|0;d=d+e|0;break d}e:{if((e|0)<=-1){f=o[h+24>>2];d=f>>31;d=d^d+f;break e}f=o[h+24>>2];d=f>>31;d=o[a+100>>2]-(d^d+f)|0}if((f|0)<=-1){f=e;e=e>>31;f=f+e^e;break d}f=e;e=e>>31;f=o[a+100>>2]-(f+e^e)|0}f:{if(!(d|f)){f=o[a+100>>2];e=f;break f}g=o[a+100>>2];g:{h:{i:{if(!d){if((f|0)==(g|0)){e=f;break f}e=0;if(f|g){break i}f=0;break f}if(!((d|0)!=(g|0)|f)){f=d;e=d;break f}if((d|0)!=(g|0)){break g}i=o[a+104>>2];break h}i=o[a+104>>2];if((i|0)<(f|0)){f=(i<<1)-f|0;break f}if(g){break g}}g=d;if((i|0)<=(f|0)){break g}f=(i<<1)-f|0;e=d;break f}j:{if((f|0)!=(g|0)){break j}e=o[a+104>>2];if((e|0)<=(d|0)){break j}e=(e<<1)-d|0;break f}if(f){e=d;break f}f=0;e=o[a+104>>2];if((e|0)>=(d|0)){e=d;break f}e=(e<<1)-d|0}o[h+12>>2]=f;o[h+8>>2]=e;k:{if(o[a+8>>2]<1){break k}f=0;while(1){g=o[a+16>>2];l:{if((e|0)>(g|0)){d=o[a+32>>2];o[d+(f<<2)>>2]=g;break l}d=o[a+32>>2];g=d+(f<<2)|0;i=o[a+12>>2];if((e|0)<(i|0)){o[g>>2]=i;break l}o[g>>2]=e}f=f+1|0;g=o[a+8>>2];if((f|0)<(g|0)){e=o[(h+8|0)+(f<<2)>>2];continue}break}e=0;if((g|0)<1){break k}f=k<<3;i=f+c|0;l=b+f|0;while(1){g=e<<2;f=g+i|0;g=o[g+l>>2]+o[d+g>>2]|0;o[f>>2]=g;m:{if((g|0)>o[a+16>>2]){g=g-o[a+20>>2]|0}else{if((g|0)>=o[a+12>>2]){break m}g=g+o[a+20>>2]|0}o[f>>2]=g}e=e+1|0;if((e|0)>2]){continue}break}}k=k+1|0;if((n|0)==(k|0)){break a}d=o[a+56>>2];e=o[d>>2];if(o[d+4>>2]-e>>2>>>0>k>>>0){continue}break}}Ok();D()}R=h+32|0;return 1}function te(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{b=b+ -1|0;e:{if(b>>>0>5){break e}f:{switch(b-1|0){default:b=yk(60);o[b+4>>2]=c;o[b>>2]=2732;c=o[d+8>>2];f=o[d+12>>2];g=o[d+16>>2];h=o[d+20>>2];i=o[d>>2];j=o[d+4>>2];o[b+40>>2]=0;o[b+32>>2]=0;o[b+36>>2]=0;o[b+24>>2]=g;o[b+28>>2]=h;o[b+16>>2]=c;o[b+20>>2]=f;o[b+8>>2]=i;o[b+12>>2]=j;f=o[d+24>>2];c=o[d+28>>2]-f|0;g:{if(!c){break g}g=c>>2;if(g>>>0>=1073741824){break d}d=yk(c);o[b+32>>2]=d;o[b+36>>2]=d;o[b+40>>2]=d+(g<<2);if((c|0)<1){break g}k=b,l=ll(d,f,c)+c|0,o[k+36>>2]=l}c=o[e+4>>2];o[b+44>>2]=o[e>>2];o[b+48>>2]=c;c=o[e+12>>2];o[b+52>>2]=o[e+8>>2];o[b+56>>2]=c;o[b>>2]=3928;break a;case 2:b=yk(112);o[b+4>>2]=c;o[b>>2]=2732;c=o[d+8>>2];f=o[d+12>>2];g=o[d+16>>2];h=o[d+20>>2];i=o[d>>2];j=o[d+4>>2];o[b+40>>2]=0;o[b+32>>2]=0;o[b+36>>2]=0;o[b+24>>2]=g;o[b+28>>2]=h;o[b+16>>2]=c;o[b+20>>2]=f;o[b+8>>2]=i;o[b+12>>2]=j;f=o[d+24>>2];c=o[d+28>>2]-f|0;h:{if(!c){break h}g=c>>2;if(g>>>0>=1073741824){break c}d=yk(c);o[b+32>>2]=d;o[b+36>>2]=d;o[b+40>>2]=d+(g<<2);if((c|0)<1){break h}k=b,l=ll(d,f,c)+c|0,o[k+36>>2]=l}c=o[e+4>>2];o[b+44>>2]=o[e>>2];o[b+48>>2]=c;c=o[e+12>>2];o[b+52>>2]=o[e+8>>2];o[b+56>>2]=c;o[b+60>>2]=0;o[b+64>>2]=0;o[b>>2]=4352;o[b+68>>2]=0;o[b+72>>2]=0;o[b+76>>2]=0;o[b+80>>2]=0;o[b+84>>2]=0;o[b+88>>2]=0;o[b+92>>2]=0;o[b+96>>2]=0;o[b+100>>2]=0;o[b+104>>2]=0;o[b+108>>2]=0;break a;case 3:b=yk(104);o[b+4>>2]=c;o[b>>2]=2732;c=o[d+8>>2];f=o[d+12>>2];g=o[d+16>>2];h=o[d+20>>2];i=o[d>>2];j=o[d+4>>2];o[b+40>>2]=0;o[b+32>>2]=0;o[b+36>>2]=0;o[b+24>>2]=g;o[b+28>>2]=h;o[b+16>>2]=c;o[b+20>>2]=f;o[b+8>>2]=i;o[b+12>>2]=j;f=o[d+24>>2];c=o[d+28>>2]-f|0;i:{if(!c){break i}g=c>>2;if(g>>>0>=1073741824){break b}d=yk(c);o[b+32>>2]=d;o[b+36>>2]=d;o[b+40>>2]=d+(g<<2);if((c|0)<1){break i}k=b,l=ll(d,f,c)+c|0,o[k+36>>2]=l}c=o[e+4>>2];o[b+44>>2]=o[e>>2];o[b+48>>2]=c;c=e+8|0;d=o[c>>2];f=o[c+4>>2];o[b+84>>2]=0;o[b+76>>2]=0;o[b+80>>2]=0;o[b+60>>2]=0;o[b+64>>2]=0;o[b>>2]=4588;o[b+52>>2]=d;o[b+56>>2]=f;d=o[e+4>>2];o[b+88>>2]=o[e>>2];o[b+92>>2]=d;d=o[c+4>>2];o[b+96>>2]=o[c>>2];o[b+100>>2]=d;break a;case 0:case 1:break e;case 4:break f}}f=yk(124);af(f,c,d,e)}o[a>>2]=f;return}Nk();D()}Nk();D()}Nk();D()}o[a>>2]=b}function se(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{b=b+ -1|0;e:{if(b>>>0>5){break e}f:{switch(b-1|0){default:b=yk(60);o[b+4>>2]=c;o[b>>2]=2732;c=o[d+8>>2];f=o[d+12>>2];g=o[d+16>>2];h=o[d+20>>2];i=o[d>>2];j=o[d+4>>2];o[b+40>>2]=0;o[b+32>>2]=0;o[b+36>>2]=0;o[b+24>>2]=g;o[b+28>>2]=h;o[b+16>>2]=c;o[b+20>>2]=f;o[b+8>>2]=i;o[b+12>>2]=j;f=o[d+24>>2];c=o[d+28>>2]-f|0;g:{if(!c){break g}g=c>>2;if(g>>>0>=1073741824){break d}d=yk(c);o[b+32>>2]=d;o[b+36>>2]=d;o[b+40>>2]=d+(g<<2);if((c|0)<1){break g}k=b,l=ll(d,f,c)+c|0,o[k+36>>2]=l}c=o[e+4>>2];o[b+44>>2]=o[e>>2];o[b+48>>2]=c;c=o[e+12>>2];o[b+52>>2]=o[e+8>>2];o[b+56>>2]=c;o[b>>2]=2024;break a;case 2:b=yk(112);o[b+4>>2]=c;o[b>>2]=2732;c=o[d+8>>2];f=o[d+12>>2];g=o[d+16>>2];h=o[d+20>>2];i=o[d>>2];j=o[d+4>>2];o[b+40>>2]=0;o[b+32>>2]=0;o[b+36>>2]=0;o[b+24>>2]=g;o[b+28>>2]=h;o[b+16>>2]=c;o[b+20>>2]=f;o[b+8>>2]=i;o[b+12>>2]=j;f=o[d+24>>2];c=o[d+28>>2]-f|0;h:{if(!c){break h}g=c>>2;if(g>>>0>=1073741824){break c}d=yk(c);o[b+32>>2]=d;o[b+36>>2]=d;o[b+40>>2]=d+(g<<2);if((c|0)<1){break h}k=b,l=ll(d,f,c)+c|0,o[k+36>>2]=l}c=o[e+4>>2];o[b+44>>2]=o[e>>2];o[b+48>>2]=c;c=o[e+12>>2];o[b+52>>2]=o[e+8>>2];o[b+56>>2]=c;o[b+60>>2]=0;o[b+64>>2]=0;o[b>>2]=2788;o[b+68>>2]=0;o[b+72>>2]=0;o[b+76>>2]=0;o[b+80>>2]=0;o[b+84>>2]=0;o[b+88>>2]=0;o[b+92>>2]=0;o[b+96>>2]=0;o[b+100>>2]=0;o[b+104>>2]=0;o[b+108>>2]=0;break a;case 3:b=yk(104);o[b+4>>2]=c;o[b>>2]=2732;c=o[d+8>>2];f=o[d+12>>2];g=o[d+16>>2];h=o[d+20>>2];i=o[d>>2];j=o[d+4>>2];o[b+40>>2]=0;o[b+32>>2]=0;o[b+36>>2]=0;o[b+24>>2]=g;o[b+28>>2]=h;o[b+16>>2]=c;o[b+20>>2]=f;o[b+8>>2]=i;o[b+12>>2]=j;f=o[d+24>>2];c=o[d+28>>2]-f|0;i:{if(!c){break i}g=c>>2;if(g>>>0>=1073741824){break b}d=yk(c);o[b+32>>2]=d;o[b+36>>2]=d;o[b+40>>2]=d+(g<<2);if((c|0)<1){break i}k=b,l=ll(d,f,c)+c|0,o[k+36>>2]=l}c=o[e+4>>2];o[b+44>>2]=o[e>>2];o[b+48>>2]=c;c=e+8|0;d=o[c>>2];f=o[c+4>>2];o[b+84>>2]=0;o[b+76>>2]=0;o[b+80>>2]=0;o[b+60>>2]=0;o[b+64>>2]=0;o[b>>2]=3036;o[b+52>>2]=d;o[b+56>>2]=f;d=o[e+4>>2];o[b+88>>2]=o[e>>2];o[b+92>>2]=d;d=o[c+4>>2];o[b+96>>2]=o[c>>2];o[b+100>>2]=d;break a;case 0:case 1:break e;case 4:break f}}f=yk(124);ue(f,c,d,e)}o[a>>2]=f;return}Nk();D()}Nk();D()}Nk();D()}o[a>>2]=b}function If(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;g=R-48|0;R=g;d=o[a+8>>2];if(d+ -2>>>0<=28){o[a+72>>2]=d;d=-1<>2]=e;o[a+76>>2]=d^-1;o[a+84>>2]=(e|0)/2}o[a+48>>2]=f;e=o[a+36>>2];d=o[e>>2];f=o[e+4>>2];o[g+16>>2]=0;o[g+8>>2]=0;o[g+12>>2]=0;f=f-d|0;a:{if((f|0)<1){break a}d=o[e>>2];if((d|0)!=o[e+4>>2]){m=a+8|0;n=a+40|0;e=f>>2;p=(e|0)>1?e:1;q=a+88|0;while(1){nf(n,o[(k<<2)+d>>2],g+8|0);e=o[g+12>>2];h=e>>31;f=o[g+8>>2];i=f>>31;l=o[g+16>>2];j=l>>31;d=0;j=j^j+l;h=j+((h^e+h)+(i^f+i)|0)|0;if(h>>>0>>0){d=1}b:{if(!(d|h)){o[g+8>>2]=o[a+84>>2];break b}i=o[a+84>>2];j=i>>31;e=Pl(Ol(i,j,e,e>>31),T,h,d);o[g+12>>2]=e;d=Pl(Ol(i,j,f,f>>31),T,h,d);o[g+8>>2]=d;f=d;d=d>>31;d=(i-(f+d^d)|0)+((e|0)<0?e:0-e|0)|0;if((l|0)>=0){o[g+16>>2]=d;break b}o[g+16>>2]=0-d}d=Uf(q);f=o[g+8>>2];c:{if(!d){e=o[g+12>>2];break c}o[g+16>>2]=0-o[g+16>>2];e=0-o[g+12>>2]|0;o[g+12>>2]=e;f=0-f|0;o[g+8>>2]=f}d:{if((f|0)>=0){d=o[a+84>>2];f=d+o[g+16>>2]|0;d=d+e|0;break d}e:{if((e|0)<=-1){f=o[g+16>>2];d=f>>31;d=d^d+f;break e}f=o[g+16>>2];d=f>>31;d=o[a+80>>2]-(d^d+f)|0}if((f|0)<=-1){f=e;e=e>>31;f=f+e^e;break d}f=e;e=e>>31;f=o[a+80>>2]-(f+e^e)|0}f:{if(!(d|f)){f=o[a+80>>2];e=f;break f}h=o[a+80>>2];g:{h:{i:{if(!d){if((f|0)==(h|0)){e=f;break f}e=0;if(f|h){break i}f=0;break f}if(!((d|0)!=(h|0)|f)){f=d;e=d;break f}if((d|0)!=(h|0)){break g}i=o[a+84>>2];break h}i=o[a+84>>2];if((i|0)<(f|0)){f=(i<<1)-f|0;break f}if(h){break g}}h=d;if((i|0)<=(f|0)){break g}f=(i<<1)-f|0;e=d;break f}j:{if((f|0)!=(h|0)){break j}e=o[a+84>>2];if((e|0)<=(d|0)){break j}e=(e<<1)-d|0;break f}if(f){e=d;break f}f=0;e=o[a+84>>2];if((e|0)>=(d|0)){e=d;break f}e=(e<<1)-d|0}d=k<<3;h=d+b|0;i=o[h+4>>2];h=o[h>>2];o[g+36>>2]=f;o[g+32>>2]=e;o[g+24>>2]=h;o[g+28>>2]=i;Ef(g+40|0,m,g+32|0,g+24|0);d=c+d|0;o[d>>2]=o[g+40>>2];o[d+4>>2]=o[g+44>>2];k=k+1|0;if((p|0)==(k|0)){break a}e=o[a+36>>2];d=o[e>>2];if(o[e+4>>2]-d>>2>>>0>k>>>0){continue}break}}Ok();D()}R=g+48|0;return 1}function Df(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;g=R-48|0;R=g;d=o[a+8>>2];if(d+ -2>>>0<=28){o[a+72>>2]=d;d=-1<>2]=e;o[a+76>>2]=d^-1;o[a+84>>2]=(e|0)/2}o[a+48>>2]=f;e=o[a+36>>2];d=o[e>>2];f=o[e+4>>2];o[g+16>>2]=0;o[g+8>>2]=0;o[g+12>>2]=0;f=f-d|0;a:{if((f|0)<1){break a}d=o[e>>2];if((d|0)!=o[e+4>>2]){m=a+8|0;n=a+40|0;e=f>>2;p=(e|0)>1?e:1;q=a+88|0;while(1){Ze(n,o[(k<<2)+d>>2],g+8|0);e=o[g+12>>2];h=e>>31;f=o[g+8>>2];i=f>>31;l=o[g+16>>2];j=l>>31;d=0;j=j^j+l;h=j+((h^e+h)+(i^f+i)|0)|0;if(h>>>0>>0){d=1}b:{if(!(d|h)){o[g+8>>2]=o[a+84>>2];break b}i=o[a+84>>2];j=i>>31;e=Pl(Ol(i,j,e,e>>31),T,h,d);o[g+12>>2]=e;d=Pl(Ol(i,j,f,f>>31),T,h,d);o[g+8>>2]=d;f=d;d=d>>31;d=(i-(f+d^d)|0)+((e|0)<0?e:0-e|0)|0;if((l|0)>=0){o[g+16>>2]=d;break b}o[g+16>>2]=0-d}d=Uf(q);f=o[g+8>>2];c:{if(!d){e=o[g+12>>2];break c}o[g+16>>2]=0-o[g+16>>2];e=0-o[g+12>>2]|0;o[g+12>>2]=e;f=0-f|0;o[g+8>>2]=f}d:{if((f|0)>=0){d=o[a+84>>2];f=d+o[g+16>>2]|0;d=d+e|0;break d}e:{if((e|0)<=-1){f=o[g+16>>2];d=f>>31;d=d^d+f;break e}f=o[g+16>>2];d=f>>31;d=o[a+80>>2]-(d^d+f)|0}if((f|0)<=-1){f=e;e=e>>31;f=f+e^e;break d}f=e;e=e>>31;f=o[a+80>>2]-(f+e^e)|0}f:{if(!(d|f)){f=o[a+80>>2];e=f;break f}h=o[a+80>>2];g:{h:{i:{if(!d){if((f|0)==(h|0)){e=f;break f}e=0;if(f|h){break i}f=0;break f}if(!((d|0)!=(h|0)|f)){f=d;e=d;break f}if((d|0)!=(h|0)){break g}i=o[a+84>>2];break h}i=o[a+84>>2];if((i|0)<(f|0)){f=(i<<1)-f|0;break f}if(h){break g}}h=d;if((i|0)<=(f|0)){break g}f=(i<<1)-f|0;e=d;break f}j:{if((f|0)!=(h|0)){break j}e=o[a+84>>2];if((e|0)<=(d|0)){break j}e=(e<<1)-d|0;break f}if(f){e=d;break f}f=0;e=o[a+84>>2];if((e|0)>=(d|0)){e=d;break f}e=(e<<1)-d|0}d=k<<3;h=d+b|0;i=o[h+4>>2];h=o[h>>2];o[g+36>>2]=f;o[g+32>>2]=e;o[g+24>>2]=h;o[g+28>>2]=i;Ef(g+40|0,m,g+32|0,g+24|0);d=c+d|0;o[d>>2]=o[g+40>>2];o[d+4>>2]=o[g+44>>2];k=k+1|0;if((p|0)==(k|0)){break a}e=o[a+36>>2];d=o[e>>2];if(o[e+4>>2]-d>>2>>>0>k>>>0){continue}break}}Ok();D()}R=g+48|0;return 1}function Hi(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,p=0,q=0,r=0,s=0;f=R-32|0;R=f;n=o[a>>2];c=o[a+4>>2];m[f|0]=0;p=Ki(f+16|0,c-n>>2,f);o[f+8>>2]=0;o[f>>2]=0;o[f+4>>2]=0;g=o[a>>2];b=o[a+4>>2];a:{b:{while(1){c:{r=0;j=0;if((b|0)==(g|0)){break c}while(1){h=o[p>>2];d:{if(o[h+(j>>>3&536870908)>>2]>>>(j&31)&1){break d}i=o[f>>2];o[f+4>>2]=i;b=j;while(1){e:{c=b+1|0;n=b;c=(c>>>0)%3|0?c:b+ -2|0;if((c|0)==-1){break e}d=o[o[a+12>>2]+(c<<2)>>2];if((d|0)==-1){break e}c=d+1|0;b=(c>>>0)%3|0?c:d+ -2|0;if((j|0)==(b|0)|(b|0)==-1){break e}if(!(o[(b>>>3&536870908)+h>>2]>>>(b&31)&1)){continue}}break}d=i;b=d;e=n;while(1){c=(e>>>3&536870908)+h|0;o[c>>2]=o[c>>2]|1<<(e&31);c=e+1|0;c=(c>>>0)%3|0?c:e+ -2|0;l=((e>>>0)%3|0?-1:2)+e|0;if((b|0)!=(d|0)){h=o[(c<<2)+g>>2];while(1){f:{if((h|0)!=o[b>>2]){break f}e=-1;k=o[b+4>>2];e=(l|0)!=-1?o[o[a+12>>2]+(l<<2)>>2]:e;if((k|0)==(e|0)){break f}d=-1;d=(k|0)!=-1?o[o[a+12>>2]+(k<<2)>>2]:d;if((e|0)!=-1){o[o[a+12>>2]+(e<<2)>>2]=-1}c=o[a+12>>2];if((d|0)!=-1){o[c+(d<<2)>>2]=-1}o[c+(l<<2)>>2]=-1;o[c+(k<<2)>>2]=-1;r=1;break d}b=b+8|0;if((d|0)!=(b|0)){continue}break}}k=l<<2;h=o[k+g>>2];b=o[f+8>>2];g:{if((b|0)!=(d|0)){o[d>>2]=h;o[d+4>>2]=c;o[f+4>>2]=o[f+4>>2]+8;break g}q=d-i|0;d=q>>3;g=d+1|0;if(g>>>0>=536870912){break b}s=d<<3;e=b-i|0;b=e>>2;g=e>>3>>>0<268435455?b>>>0>>0?g:b:536870911;d=0;h:{if(!g){break h}if(g>>>0>=536870912){break a}d=yk(g<<3)}e=s+d|0;b=e;o[b>>2]=h;o[b+4>>2]=c;b=d+(g<<3)|0;c=e+8|0;if((q|0)>=1){ll(d,i,q)}o[f+8>>2]=b;o[f+4>>2]=c;o[f>>2]=d;if(!i){break g}jl(i)}i:{if((l|0)==-1){break i}c=o[k+o[a+12>>2]>>2];if((c|0)==-1){break i}e=c+((c>>>0)%3|0?-1:2)|0;if((n|0)==(e|0)|(e|0)==-1){break i}g=o[a>>2];h=o[p>>2];d=o[f+4>>2];i=o[f>>2];b=i;continue}break}g=o[a>>2]}j=j+1|0;b=o[a+4>>2];if(j>>>0>2>>>0){continue}break}if(r){continue}}break}a=o[f>>2];if(a){o[f+4>>2]=a;jl(a)}a=o[p>>2];if(a){jl(a)}R=f+32|0;return}Nk();D()}db(10528);D()}function aj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0;d=R-48|0;R=d;c=yk(8);o[c+4>>2]=b;o[c>>2]=0;b=c+8|0;o[d+40>>2]=b;o[d+36>>2]=b;o[d+32>>2]=c;a:{b:{c:{d:{while(1){b=b+ -8|0;i=o[b+4>>2];n=o[b>>2];o[d+36>>2]=b;if(n){o[d+24>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;j=1;b=o[a>>2];g=o[b+16>>2];f=o[b+12>>2];c=o[b+20>>2];e:{if((f|0)<(c|0)?1:(f|0)<=(c|0)?r[b+8>>2]>g>>>0?0:1:0){break e}e=p[g+o[b>>2]|0];f=g+1|0;if(f>>>0<1){c=c+1|0}o[b+16>>2]=f;o[b+20>>2]=c;Gk(d+16|0,e);if(e){f=o[a>>2];l=Kk(d+16|0);h=o[f+12>>2];g=o[f+20>>2];k=o[f+16>>2];b=e;c=k+b|0;if(c>>>0>>0){g=g+1|0}if((h|0)<(g|0)?1:(h|0)<=(g|0)?r[f+8>>2]>=c>>>0?0:1:0){break e}ll(l,k+o[f>>2]|0,e);c=f;f=c;g=o[c+20>>2];e=b+o[c+16>>2]|0;if(e>>>0>>0){g=g+1|0}o[f+16>>2]=e;o[c+20>>2]=g}i=yk(24);b=i;o[b+4>>2]=0;o[b+8>>2]=0;o[b+16>>2]=0;o[b+20>>2]=0;o[b>>2]=b+4;o[b+12>>2]=b+16;o[d+8>>2]=b;oj(n,d+16|0,d+8|0);b=o[d+8>>2];j=0;o[d+8>>2]=0;if(!b){break e}Kc(b+12|0,o[b+16>>2]);Lc(b,o[b+4>>2]);jl(b)}if(m[d+27|0]<=-1){jl(o[d+16>>2])}if(j){break b}}if(!i){break b}o[d+16>>2]=0;if(!bj(1,d+16|0,o[a>>2])){break b}b=0;c=o[d+16>>2];if(c){while(1){if(!cj(a,i)){break b}b=b+1|0;if((c|0)!=(b|0)){continue}break}}o[d+4>>2]=0;if(!bj(1,d+4|0,o[a>>2])){break b}g=o[d+4>>2];if(g){j=0;while(1){b=o[d+36>>2];c=o[d+40>>2];f:{if(b>>>0>>0){o[b+4>>2]=0;o[b>>2]=i;o[d+36>>2]=o[d+36>>2]+8;break f}h=o[d+32>>2];l=b-h|0;b=l>>3;k=b+1|0;if(k>>>0>=536870912){break d}f=b<<3;e=c-h|0;c=e>>2;e=e>>3>>>0<268435455?c>>>0>>0?k:c:536870911;b=0;g:{if(!e){break g}if(e>>>0>=536870912){break c}b=yk(e<<3)}c=f+b|0;o[c+4>>2]=0;o[c>>2]=i;e=b+(e<<3)|0;c=c+8|0;if((l|0)>=1){ll(b,h,l)}o[d+40>>2]=e;o[d+36>>2]=c;o[d+32>>2]=b;if(!h){break f}jl(h)}j=j+1|0;if((g|0)!=(j|0)){continue}break}}b=o[d+36>>2];c=o[d+32>>2];if((b|0)!=(c|0)){continue}break}a=1;break a}Nk();D()}db(10856);D()}c=o[d+32>>2];a=0}if(c){o[d+36>>2]=c;jl(c)}R=d+48|0;return a}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,s=0,t=0;a:{q=l[o[o[a>>2]+44>>2]](a)|0;if((q|0)<1){break a}h=o[b+4>>2]-o[b>>2]>>2;le(a,h,q);d=o[a+16>>2];if(!o[d+80>>2]){break a}f=o[o[d>>2]>>2];if(!f){break a}j=o[c+8>>2];i=o[c+16>>2];g=o[c+12>>2];k=g;e=o[c+20>>2];if((k|0)<(e|0)?1:(k|0)<=(e|0)?j>>>0>i>>>0?0:1:0){break a}k=u(h,q);n=f+o[d+48>>2]|0;s=o[c>>2];t=p[s+i|0];h=c;d=e;f=i+1|0;if(f>>>0<1){d=d+1|0}m=f;f=d;o[h+16>>2]=m;o[h+20>>2]=d;b:{c:{d:{if(t){if(dg(k,q,c,n)){break d}break a}if((g|0)<(f|0)?1:(g|0)<=(f|0)?j>>>0>m>>>0?0:1:0){break a}h=p[m+s|0];d=e;e=i+2|0;if(e>>>0<2){d=d+1|0}o[c+16>>2]=e;o[c+20>>2]=d;d=xi(5);e=o[o[a+16>>2]+64>>2];e=o[e+4>>2]-o[e>>2]|0;e:{if((d|0)==(h|0)){h=k<<2;if(e>>>0>>0){break a}f=o[c+12>>2];d=o[c+20>>2];i=o[c+16>>2];e=h;g=i+e|0;if(g>>>0>>0){d=d+1|0}if((f|0)>(d|0)?1:(f|0)>=(d|0)?r[c+8>>2]>>0?0:1:0){break e}break a}if(e>>>0>>0){break a}i=o[c+12>>2];d=o[c+20>>2];j=o[c+8>>2];f=j;m=o[c+16>>2];g=m;e=h;t=f-g>>>0>=Ol(e,0,k,0)>>>0?0:1;f=i-(d+(f>>>0>>0)|0)|0;g=T;if((f|0)<(g|0)?1:(f|0)<=(g|0)?t:0){break a}f=0;if(!k){break c}g=0;f=j;j=e+m|0;if(j>>>0>>0){d=d+1|0}if((i|0)<(d|0)?1:(i|0)<=(d|0)?f>>>0>=j>>>0?0:1:0){break b}j=0;while(1){ll(n+(j<<2)|0,m+o[c>>2]|0,h);d=o[c+20>>2];m=e+o[c+16>>2]|0;if(m>>>0>>0){d=d+1|0}o[c+16>>2]=m;o[c+20>>2]=d;j=j+1|0;if((k|0)==(j|0)){break d}i=o[c+12>>2];s=e+m|0;if(s>>>0>>0){d=d+1|0}if((i|0)>(d|0)?1:(i|0)>=(d|0)?r[c+8>>2]>>0?0:1:0){continue}break}break b}ll(n,i+o[c>>2]|0,h);d=o[c+20>>2];f=e+o[c+16>>2]|0;if(f>>>0>>0){d=d+1|0}o[c+16>>2]=f;o[c+20>>2]=d}f=0;if(!k){break c}e=o[a+20>>2];if(e){f=1;if(l[o[o[e>>2]+32>>2]](e)){break c}}ni(n,k,n);f=1}e=o[a+20>>2];f:{if(!e){break f}if(!l[o[o[e>>2]+40>>2]](e,c)){break a}if(!f){break f}g=0;a=o[a+20>>2];if(!l[o[o[a>>2]+44>>2]](a,n,n,k,q,o[b>>2])){break b}}g=1}return g|0}return 0}function Qg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0;d=R+ -64|0;R=d;f=o[o[b+4>>2]+44>>2];e=yk(80);o[e+12>>2]=0;o[e+16>>2]=0;o[e>>2]=9408;o[e+4>>2]=0;o[e+76>>2]=0;o[e+72>>2]=c;o[e+68>>2]=f;o[e+64>>2]=0;o[e+56>>2]=0;o[e+60>>2]=0;o[e+8>>2]=9572;g=e+20|0;o[g>>2]=0;o[g+4>>2]=0;l=e+28|0;i=l;o[i>>2]=0;o[i+4>>2]=0;o[e+36>>2]=0;o[e+40>>2]=0;i=e+44|0;o[i>>2]=0;o[i+4>>2]=0;o[e+52>>2]=0;b=o[b+8>>2];n=d+40|0;j=n;o[j>>2]=0;o[j+4>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;j=d+16|0;h=j;o[h>>2]=0;o[h+4>>2]=0;o[d+56>>2]=0;o[d+24>>2]=0;o[d+28>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;o[d+48>>2]=0;o[d+52>>2]=0;o[d>>2]=9572;o[d+4>>2]=b;h=o[b>>2];k=o[b+4>>2];m[d+63|0]=0;eb(d+24|0,(k-h>>2>>>0)/3|0,d+63|0);h=o[d+4>>2];k=o[h+28>>2];h=o[h+24>>2];m[d+63|0]=0;eb(d+36|0,k-h>>2,d+63|0);o[d+20>>2]=e;o[j>>2]=f;f=d+12|0;o[f>>2]=c;o[d+8>>2]=b;o[l>>2]=e;b=o[f+4>>2];o[g>>2]=o[f>>2];o[g+4>>2]=b;b=o[d+8>>2];o[e+12>>2]=o[d+4>>2];o[e+16>>2]=b;a:{b:{c=e;b=o[d+28>>2];if(b){f=e+32|0;c:{if(b>>>0<=o[e+40>>2]<<5>>>0){g=b+ -1>>>5|0;b=o[f>>2];break c}f=o[f>>2];if(f){jl(f);o[e+40>>2]=0;o[e+32>>2]=0;o[e+36>>2]=0;b=o[d+28>>2]}if((b|0)<=-1){break b}g=b+ -1>>>5|0;f=g+1|0;b=yk(f<<2);o[e+40>>2]=f;o[e+36>>2]=0;o[e+32>>2]=b}nl(b,o[d+24>>2],(g<<2)+4|0);b=o[d+28>>2]}else{b=0}o[c+36>>2]=b;j=e;b=o[n>>2];if(b){d:{if(b>>>0<=o[e+52>>2]<<5>>>0){c=b+ -1>>>5|0;b=o[i>>2];break d}c=o[i>>2];if(c){jl(c);o[e+52>>2]=0;o[e+44>>2]=0;o[e+48>>2]=0;b=o[d+40>>2]}if((b|0)<=-1){break a}c=b+ -1>>>5|0;g=c+1|0;b=yk(g<<2);o[e+52>>2]=g;o[e+48>>2]=0;o[e+44>>2]=b}nl(b,o[d+36>>2],(c<<2)+4|0);b=o[d+40>>2]}else{b=0}o[j+48>>2]=b;yd(e+56|0,o[d+48>>2],o[d+52>>2]);o[a>>2]=e;o[d>>2]=9572;a=o[d+48>>2];if(a){o[d+52>>2]=a;jl(a)}o[d>>2]=9388;a=o[d+36>>2];if(a){jl(a)}a=o[d+24>>2];if(a){jl(a)}R=d- -64|0;return}Nk();D()}Nk();D()}function _i(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u(b,12)+a|0;k=d+12|0;m=d+8|0;o[k>>2]=o[m>>2];i=(c|0)==-1?-1:(c>>>0)/3|0;q=d+16|0;d=0;h=c;a:{b:{c:{while(1){d:{n=d;r=(d|0)!=1;if(!r){if((h|0)==-1){break d}if(($i(a,((h>>>0)%3|0?-1:2)+h|0)|0)==-1){break a}c=h+1|0;d=(c>>>0)%3|0?c:h+ -2|0;if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d+ -2|0;if((c|0)==-1){break a}d=o[o[o[a+4>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d+ -2|0;if((c|0)==-1){break a}i=(c>>>0)/3|0}j=o[a+56>>2]+(i>>>3&536870908)|0;g=o[j>>2];f=1<<(i&31);e:{if(g&f){break e}d=0;while(1){o[j>>2]=g|f;e=o[k>>2];f=o[q>>2];f:{if((e|0)!=(f|0)){o[e>>2]=i;o[k>>2]=e+4;break f}l=o[m>>2];p=e-l|0;e=p>>2;j=e+1|0;if(j>>>0>=1073741824){break c}s=e<<2;g=f-l|0;f=g>>1;g=g>>2>>>0<536870911?f>>>0>>0?j:f:1073741823;e=0;g:{if(!g){break g}if(g>>>0>=1073741824){break b}e=yk(g<<2)}f=s+e|0;o[f>>2]=i;g=e+(g<<2)|0;f=f+4|0;if((p|0)>=1){ll(e,l,p)}o[m>>2]=e;o[k>>2]=f;o[q>>2]=g;if(!l){break f}jl(l)}e=d+1|0;h:{if(!d){break h}if(e&1){if((c|0)==-1){c=-1;break h}d=c+1|0;c=(d>>>0)%3|0?d:c+ -2|0;break h}h=(n|0)==1?c:h;if((c|0)==-1){c=-1;break h}if((c>>>0)%3){c=c+ -1|0;break h}c=c+2|0}c=$i(a,c);if((c|0)!=-1){d=e;i=(c>>>0)/3|0;j=o[a+56>>2]+(i>>>3&268435452)|0;g=o[j>>2];f=1<<(i&31);if(!(g&f)){continue}}break}if(r|!(e&1)){break e}g=o[k>>2]+ -4|0;f=o[g>>2];e=o[a+56>>2]+(f>>>3&536870908)|0;d=o[e>>2];t=e,v=Sl(f)&d,o[t>>2]=v;o[k>>2]=g}d=1;if(!n){continue}break a}break}h=-1;$i(a,-1);break a}Nk();D()}db(10788);D()}o[((b<<2)+a|0)+44>>2]=h;b=o[k>>2];h=o[m>>2];if((b|0)!=(h|0)){b=b-h>>2;n=b>>>0>1?b:1;e=o[a+56>>2];c=0;while(1){d=o[h+(c<<2)>>2];b=e+(d>>>3&536870908)|0;a=o[b>>2];t=b,v=Sl(d)&a,o[t>>2]=v;c=c+1|0;if((n|0)!=(c|0)){continue}break}}}function Ef(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=o[b+12>>2];f=o[c+4>>2]-k|0;e=o[c>>2]-k|0;o[c>>2]=e;o[c+4>>2]=f;g=f>>31;h=g+f^g;g=e>>31;i=o[b+12>>2];l=(h+(g+e^g)|0)<=(i|0);if(!l){a:{b:{if((e|0)>=0){g=1;j=1;if((f|0)>-1){break a}h=1;g=-1;j=-1;if((e|0)>=1){break b}break a}h=-1;g=-1;j=-1;if((f|0)<1){break a}}g=(f|0)<1?-1:1;j=h}h=f<<1;f=u(g,i);h=h-f|0;o[c+4>>2]=h;i=u(i,j);e=(e<<1)-i|0;o[c>>2]=e;c:{if((u(g,j)|0)>=0){h=0-h|0;o[c>>2]=h;e=0-e|0;break c}o[c>>2]=h}f=(e+f|0)/2|0;o[c+4>>2]=f;e=(i+h|0)/2|0;o[c>>2]=e}d:{e:{f:{g:{h:{i:{j:{k:{if(!e){if(f){break j}i=1;j=0;break k}i=1;g=(e|0)<0&(f|0)<1;if((e|0)>=1){j=(f|0)>-1?2:1;if(g){break k}break i}j=(f|0)>0?3:0;if(!g){break i}}g=f;h=e;break d}if((f|0)>=1){break f}break h}g=j+ -1|0;if(g>>>0>2){g=f;f=e;j=0;break e}switch(g-1|0){case 0:break g;case 1:break f;default:break h}}g=0-e|0;j=1;break e}g=0-f|0;f=0-e|0;j=2;break e}g=e;f=0-f|0;j=3}e=c;h=f;o[e>>2]=f;o[e+4>>2]=g;i=0}f=o[d>>2]+h|0;o[a>>2]=f;e=o[d+4>>2]+g|0;o[a+4>>2]=e;g=o[b+12>>2];l:{if((g|0)<(f|0)){f=f-o[b+4>>2]|0;break l}if((f|0)>=(0-g|0)){break l}f=o[b+4>>2]+f|0}o[a>>2]=f;m:{if((g|0)<(e|0)){e=e-o[b+4>>2]|0;break m}if((e|0)>=(0-g|0)){break m}e=o[b+4>>2]+e|0}o[a+4>>2]=e;n:{if(i){c=e;e=f;break n}b=(4-j&3)+ -1|0;o:{if(b>>>0>2){c=e;e=f;break o}p:{switch(b-1|0){default:c=0-f|0;break o;case 0:c=0-e|0;e=0-f|0;break o;case 1:break p}}e=0-e|0;c=f}o[a>>2]=e;o[a+4>>2]=c}if(!l){q:{r:{if((e|0)>=0){b=1;i=1;if((c|0)>-1){break q}f=1;b=-1;i=-1;if((e|0)>=1){break r}break q}f=-1;b=-1;i=-1;if((c|0)<1){break q}}b=(c|0)<1?-1:1;i=f}d=c<<1;c=u(b,g);f=d-c|0;o[a+4>>2]=f;d=u(g,i);e=(e<<1)-d|0;o[a>>2]=e;s:{if((u(b,i)|0)>=0){f=0-f|0;o[a>>2]=f;e=0-e|0;break s}o[a>>2]=f}c=(c+e|0)/2|0;o[a+4>>2]=c;e=(d+f|0)/2|0;o[a>>2]=e}o[a>>2]=e+k;o[a+4>>2]=c+k}function Vh(a,b){var c=0,d=0,e=0;o[a>>2]=o[b>>2];o[a+4>>2]=o[b+4>>2];o[a+8>>2]=o[b+8>>2];c=b+12|0;o[a+12>>2]=o[c>>2];o[c>>2]=0;o[b+4>>2]=0;o[b+8>>2]=0;c=b+16|0;o[a+16>>2]=o[c>>2];o[a+20>>2]=o[b+20>>2];d=b+24|0;o[a+24>>2]=o[d>>2];o[d>>2]=0;o[c>>2]=0;o[c+4>>2]=0;d=p[b+28|0];e=a+40|0;o[e>>2]=0;c=a+32|0;o[c>>2]=0;o[c+4>>2]=0;m[a+28|0]=d;d=c;c=b+32|0;o[d>>2]=o[c>>2];o[a+36>>2]=o[b+36>>2];d=b+40|0;o[e>>2]=o[d>>2];o[d>>2]=0;o[c>>2]=0;o[c+4>>2]=0;d=a+52|0;o[d>>2]=0;c=a+44|0;o[c>>2]=0;o[c+4>>2]=0;e=c;c=b+44|0;o[e>>2]=o[c>>2];o[a+48>>2]=o[b+48>>2];e=d;d=b+52|0;o[e>>2]=o[d>>2];o[d>>2]=0;o[c>>2]=0;o[c+4>>2]=0;d=a- -64|0;o[d>>2]=0;c=a+56|0;o[c>>2]=0;o[c+4>>2]=0;e=c;c=b+56|0;o[e>>2]=o[c>>2];o[a+60>>2]=o[b+60>>2];e=d;d=b- -64|0;o[e>>2]=o[d>>2];o[d>>2]=0;o[c>>2]=0;o[c+4>>2]=0;o[a+68>>2]=o[b+68>>2];d=o[b+72>>2];e=a+84|0;o[e>>2]=0;c=a+76|0;o[c>>2]=0;o[c+4>>2]=0;o[a+72>>2]=d;d=c;c=b+76|0;o[d>>2]=o[c>>2];o[a+80>>2]=o[b+80>>2];d=b+84|0;o[e>>2]=o[d>>2];o[d>>2]=0;o[c>>2]=0;o[c+4>>2]=0;d=a+96|0;o[d>>2]=0;c=a+88|0;o[c>>2]=0;o[c+4>>2]=0;e=c;c=b+88|0;o[e>>2]=o[c>>2];o[a+92>>2]=o[b+92>>2];e=d;d=b+96|0;o[e>>2]=o[d>>2];o[d>>2]=0;o[c>>2]=0;o[c+4>>2]=0;c=p[b+100|0];d=a+112|0;o[d>>2]=0;o[a+104>>2]=0;o[a+108>>2]=0;m[a+100|0]=c;o[a+104>>2]=o[b+104>>2];o[a+108>>2]=o[b+108>>2];c=b+112|0;o[d>>2]=o[c>>2];o[c>>2]=0;o[b+104>>2]=0;o[b+108>>2]=0;d=a+124|0;o[d>>2]=0;c=a+116|0;o[c>>2]=0;o[c+4>>2]=0;e=c;c=b+116|0;o[e>>2]=o[c>>2];o[a+120>>2]=o[b+120>>2];e=d;d=b+124|0;o[e>>2]=o[d>>2];o[d>>2]=0;o[c>>2]=0;o[c+4>>2]=0;c=o[b+128>>2];d=a+140|0;o[d>>2]=0;o[a+132>>2]=0;o[a+136>>2]=0;o[a+128>>2]=c;o[a+132>>2]=o[b+132>>2];o[a+136>>2]=o[b+136>>2];c=b+140|0;o[d>>2]=o[c>>2];o[c>>2]=0;o[b+132>>2]=0;o[b+136>>2]=0;return a}function bh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;h=R-16|0;R=h;o[h>>2]=b;g=-1;a:{if((b|0)==-1){o[h+4>>2]=-1;break a}c=b+1|0;o[h+4>>2]=(c>>>0)%3|0?c:b+ -2|0;if((b>>>0)%3){g=b+ -1|0;break a}g=b+2|0}o[h+8>>2]=g;p=(b|0)==-1?-1:(b>>>0)/3|0;b:{c:{d:{e:{while(1){f:{g:{if((b|0)!=-1){c=o[o[o[a+8>>2]+12>>2]+(b<<2)>>2];if((c|0)!=-1){break g}}g=0;c=o[a+216>>2];if((c|0)==o[a+220>>2]){break f}while(1){f=u(g,144)+c|0;i=f+136|0;c=o[i>>2];k=f+140|0;d=o[k>>2];h:{if(c>>>0>>0){o[c>>2]=b;o[i>>2]=c+4;break h}l=f+132|0;f=o[l>>2];j=c-f|0;c=j>>2;e=c+1|0;if(e>>>0>=1073741824){break e}m=c<<2;d=d-f|0;c=d>>1;e=d>>2>>>0<536870911?c>>>0>>0?e:c:1073741823;c=0;i:{if(!e){break i}if(e>>>0>=1073741824){break d}c=yk(e<<2)}d=m+c|0;o[d>>2]=b;e=c+(e<<2)|0;d=d+4|0;if((j|0)>=1){ll(c,f,j)}o[l>>2]=c;o[i>>2]=d;o[k>>2]=e;if(!f){break h}jl(f)}g=g+1|0;c=o[a+216>>2];if(g>>>0<(o[a+220>>2]-c|0)/144>>>0){continue}break}break f}if((c>>>0)/3>>>0

>>0){break f}g=0;if(o[a+220>>2]==o[a+216>>2]){break f}while(1){j:{if(!Uf(o[a+368>>2]+(g<<4)|0)){break j}f=o[a+216>>2]+u(g,144)|0;i=f+136|0;c=o[i>>2];k=f+140|0;d=o[k>>2];if(c>>>0>>0){o[c>>2]=b;o[i>>2]=c+4;break j}l=f+132|0;f=o[l>>2];j=c-f|0;c=j>>2;e=c+1|0;if(e>>>0>=1073741824){break c}m=c<<2;d=d-f|0;c=d>>1;e=d>>2>>>0<536870911?c>>>0>>0?e:c:1073741823;c=0;k:{if(!e){break k}if(e>>>0>=1073741824){break b}c=yk(e<<2)}d=m+c|0;o[d>>2]=b;e=c+(e<<2)|0;d=d+4|0;if((j|0)>=1){ll(c,f,j)}o[l>>2]=c;o[i>>2]=d;o[k>>2]=e;if(!f){break j}jl(f)}g=g+1|0;if(g>>>0<(o[a+220>>2]-o[a+216>>2]|0)/144>>>0){continue}break}}n=n+1|0;if((n|0)!=3){b=o[(n<<2)+h>>2];continue}break}R=h+16|0;return 1}Nk();D()}db(8832);D()}Nk();D()}db(8832);D()}function yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{if((b|0)<0){break a}c=o[a+12>>2];d=o[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=o[d>>2];h=o[e+60>>2];f=o[e+56>>2];e=d+4|0;b:{if((e|0)!=(c|0)){while(1){i=o[e>>2];o[e>>2]=0;g=o[d>>2];o[d>>2]=i;if(g){Kb(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=o[a+12>>2];if((d|0)==(c|0)){break b}}while(1){c=c+ -4|0;e=o[c>>2];o[c>>2]=0;if(e){Kb(e)}if((c|0)!=(d|0)){continue}break}}o[a+12>>2]=d;c=o[a+4>>2];if(c){zj(c,h)}c:{if((f|0)>4){break c}d:{d=u(f,12)+a|0;c=o[d+20>>2];e=d+24|0;d=o[e>>2];if((c|0)==(d|0)){break d}while(1){if(o[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c+4|0;d=d-f|0;g=d>>2;if(d){nl(c,f,d)}o[e>>2]=(g<<2)+c}c=o[a+24>>2];d=o[a+20>>2];if((c|0)!=(d|0)){c=c-d>>2;e=c>>>0>1?c:1;c=0;while(1){f=d+(c<<2)|0;g=o[f>>2];if((g|0)>(b|0)){o[f>>2]=g+ -1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=o[a+36>>2];d=o[a+32>>2];if((c|0)!=(d|0)){c=c-d>>2;e=c>>>0>1?c:1;c=0;while(1){f=d+(c<<2)|0;g=o[f>>2];if((g|0)>(b|0)){o[f>>2]=g+ -1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=o[a+48>>2];d=o[a+44>>2];if((c|0)!=(d|0)){c=c-d>>2;e=c>>>0>1?c:1;c=0;while(1){f=d+(c<<2)|0;g=o[f>>2];if((g|0)>(b|0)){o[f>>2]=g+ -1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=o[a+60>>2];d=o[a+56>>2];if((c|0)!=(d|0)){c=c-d>>2;e=c>>>0>1?c:1;c=0;while(1){f=d+(c<<2)|0;g=o[f>>2];if((g|0)>(b|0)){o[f>>2]=g+ -1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=o[a+72>>2];a=o[a+68>>2];if((c|0)==(a|0)){break a}c=c-a>>2;d=c>>>0>1?c:1;c=0;while(1){e=a+(c<<2)|0;f=o[e>>2];if((f|0)>(b|0)){o[e>>2]=f+ -1}c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function pg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=R+ -64|0;R=d;o[d+48>>2]=0;o[d+40>>2]=0;o[d+44>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;o[d+24>>2]=0;o[d+28>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;o[d>>2]=0;o[d+4>>2]=0;a:{if(!yg(d,b)|(o[d+12>>2]?0:a)){break a}if(!sg(1,d+56|0,b)){break a}f=o[b+8>>2];l=o[b+16>>2];g=l;j=f-g|0;i=o[d+60>>2];e=i;k=o[b+20>>2];g=o[b+12>>2]-(k+(f>>>0>>0)|0)|0;f=o[d+56>>2];if((e|0)==(g|0)&f>>>0>j>>>0|e>>>0>g>>>0){break a}i=i+k|0;g=l;k=g+f|0;if(k>>>0>>0){i=i+1|0}o[b+16>>2]=k;o[b+20>>2]=i;if((f|0)<1){break a}j=l+o[b>>2]|0;o[d+40>>2]=j;g=d;b:{c:{d:{e:{f:{b=f+ -1|0;e=j+b|0;switch((p[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((f|0)<2){break a}b=f+ -2|0;o[d+44>>2]=b;e=(f+j|0)+ -2|0;e=p[e+1|0]<<8&16128|p[e|0];break b}if((f|0)<3){break a}b=f+ -3|0;o[d+44>>2]=b;e=(f+j|0)+ -3|0;e=p[e+1|0]<<8|p[e+2|0]<<16&4128768|p[e|0];break b}b=f+ -4|0;o[d+44>>2]=b;e=(f+j|0)+ -4|0;e=p[e+2|0]<<16|p[e+3|0]<<24&1056964608|p[e+1|0]<<8|p[e|0];break b}o[d+44>>2]=b;e=p[e|0]&63}h=e+4194304|0;o[g+48>>2]=h;m=h>>>0<1073741824;if(!a|h>>>0>1073741823){break a}k=o[d+28>>2];i=0;l=o[d+16>>2];while(1){g:{if(h>>>0>4194303){break g}while(1){if((b|0)<1){break g}b=b+ -1|0;o[d+44>>2]=b;h=p[b+j|0]|h<<8;o[d+48>>2]=h;if(h>>>0<4194304){continue}break}}f=h&1048575;e=o[(f<<2)+l>>2];g=(e<<3)+k|0;h=(u(o[g>>2],h>>>20|0)+f|0)-o[g+4>>2]|0;o[d+48>>2]=h;o[(i<<2)+c>>2]=e;m=1;i=i+1|0;if((i|0)!=(a|0)){continue}break}}a=o[d+28>>2];if(a){o[d+32>>2]=a;jl(a)}a=o[d+16>>2];if(a){o[d+20>>2]=a;jl(a)}a=o[d>>2];if(a){o[d+4>>2]=a;jl(a)}R=d- -64|0;return m}function ng(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=R+ -64|0;R=d;o[d+48>>2]=0;o[d+40>>2]=0;o[d+44>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;o[d+24>>2]=0;o[d+28>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;o[d>>2]=0;o[d+4>>2]=0;a:{if(!wg(d,b)|(o[d+12>>2]?0:a)){break a}if(!sg(1,d+56|0,b)){break a}f=o[b+8>>2];l=o[b+16>>2];g=l;j=f-g|0;i=o[d+60>>2];e=i;k=o[b+20>>2];g=o[b+12>>2]-(k+(f>>>0>>0)|0)|0;f=o[d+56>>2];if((e|0)==(g|0)&f>>>0>j>>>0|e>>>0>g>>>0){break a}i=i+k|0;g=l;k=g+f|0;if(k>>>0>>0){i=i+1|0}o[b+16>>2]=k;o[b+20>>2]=i;if((f|0)<1){break a}j=l+o[b>>2]|0;o[d+40>>2]=j;g=d;b:{c:{d:{e:{f:{b=f+ -1|0;e=j+b|0;switch((p[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((f|0)<2){break a}b=f+ -2|0;o[d+44>>2]=b;e=(f+j|0)+ -2|0;e=p[e+1|0]<<8&16128|p[e|0];break b}if((f|0)<3){break a}b=f+ -3|0;o[d+44>>2]=b;e=(f+j|0)+ -3|0;e=p[e+1|0]<<8|p[e+2|0]<<16&4128768|p[e|0];break b}b=f+ -4|0;o[d+44>>2]=b;e=(f+j|0)+ -4|0;e=p[e+2|0]<<16|p[e+3|0]<<24&1056964608|p[e+1|0]<<8|p[e|0];break b}o[d+44>>2]=b;e=p[e|0]&63}h=e- -1048576|0;o[g+48>>2]=h;m=h>>>0<268435456;if(!a|h>>>0>268435455){break a}k=o[d+28>>2];i=0;l=o[d+16>>2];while(1){g:{if(h>>>0>1048575){break g}while(1){if((b|0)<1){break g}b=b+ -1|0;o[d+44>>2]=b;h=p[b+j|0]|h<<8;o[d+48>>2]=h;if(h>>>0<1048576){continue}break}}f=h&262143;e=o[(f<<2)+l>>2];g=(e<<3)+k|0;h=(u(o[g>>2],h>>>18|0)+f|0)-o[g+4>>2]|0;o[d+48>>2]=h;o[(i<<2)+c>>2]=e;m=1;i=i+1|0;if((i|0)!=(a|0)){continue}break}}a=o[d+28>>2];if(a){o[d+32>>2]=a;jl(a)}a=o[d+16>>2];if(a){o[d+20>>2]=a;jl(a)}a=o[d>>2];if(a){o[d+4>>2]=a;jl(a)}R=d- -64|0;return m}function og(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=R+ -64|0;R=d;o[d+48>>2]=0;o[d+40>>2]=0;o[d+44>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;o[d+24>>2]=0;o[d+28>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;o[d>>2]=0;o[d+4>>2]=0;a:{if(!xg(d,b)|(o[d+12>>2]?0:a)){break a}if(!sg(1,d+56|0,b)){break a}f=o[b+8>>2];l=o[b+16>>2];g=l;j=f-g|0;i=o[d+60>>2];e=i;k=o[b+20>>2];g=o[b+12>>2]-(k+(f>>>0>>0)|0)|0;f=o[d+56>>2];if((e|0)==(g|0)&f>>>0>j>>>0|e>>>0>g>>>0){break a}i=i+k|0;g=l;k=g+f|0;if(k>>>0>>0){i=i+1|0}o[b+16>>2]=k;o[b+20>>2]=i;if((f|0)<1){break a}j=l+o[b>>2]|0;o[d+40>>2]=j;g=d;b:{c:{d:{e:{f:{b=f+ -1|0;e=j+b|0;switch((p[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((f|0)<2){break a}b=f+ -2|0;o[d+44>>2]=b;e=(f+j|0)+ -2|0;e=p[e+1|0]<<8&16128|p[e|0];break b}if((f|0)<3){break a}b=f+ -3|0;o[d+44>>2]=b;e=(f+j|0)+ -3|0;e=p[e+1|0]<<8|p[e+2|0]<<16&4128768|p[e|0];break b}b=f+ -4|0;o[d+44>>2]=b;e=(f+j|0)+ -4|0;e=p[e+2|0]<<16|p[e+3|0]<<24&1056964608|p[e+1|0]<<8|p[e|0];break b}o[d+44>>2]=b;e=p[e|0]&63}h=e+2097152|0;o[g+48>>2]=h;m=h>>>0<536870912;if(!a|h>>>0>536870911){break a}k=o[d+28>>2];i=0;l=o[d+16>>2];while(1){g:{if(h>>>0>2097151){break g}while(1){if((b|0)<1){break g}b=b+ -1|0;o[d+44>>2]=b;h=p[b+j|0]|h<<8;o[d+48>>2]=h;if(h>>>0<2097152){continue}break}}f=h&524287;e=o[(f<<2)+l>>2];g=(e<<3)+k|0;h=(u(o[g>>2],h>>>19|0)+f|0)-o[g+4>>2]|0;o[d+48>>2]=h;o[(i<<2)+c>>2]=e;m=1;i=i+1|0;if((i|0)!=(a|0)){continue}break}}a=o[d+28>>2];if(a){o[d+32>>2]=a;jl(a)}a=o[d+16>>2];if(a){o[d+20>>2]=a;jl(a)}a=o[d>>2];if(a){o[d+4>>2]=a;jl(a)}R=d- -64|0;return m}function mg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=R+ -64|0;R=d;o[d+48>>2]=0;o[d+40>>2]=0;o[d+44>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;o[d+24>>2]=0;o[d+28>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;o[d>>2]=0;o[d+4>>2]=0;a:{if(!vg(d,b)|(o[d+12>>2]?0:a)){break a}if(!sg(1,d+56|0,b)){break a}f=o[b+8>>2];l=o[b+16>>2];g=l;j=f-g|0;i=o[d+60>>2];e=i;k=o[b+20>>2];g=o[b+12>>2]-(k+(f>>>0>>0)|0)|0;f=o[d+56>>2];if((e|0)==(g|0)&f>>>0>j>>>0|e>>>0>g>>>0){break a}i=i+k|0;g=l;k=g+f|0;if(k>>>0>>0){i=i+1|0}o[b+16>>2]=k;o[b+20>>2]=i;if((f|0)<1){break a}j=l+o[b>>2]|0;o[d+40>>2]=j;g=d;b:{c:{d:{e:{f:{b=f+ -1|0;e=j+b|0;switch((p[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((f|0)<2){break a}b=f+ -2|0;o[d+44>>2]=b;e=(f+j|0)+ -2|0;e=p[e+1|0]<<8&16128|p[e|0];break b}if((f|0)<3){break a}b=f+ -3|0;o[d+44>>2]=b;e=(f+j|0)+ -3|0;e=p[e+1|0]<<8|p[e+2|0]<<16&4128768|p[e|0];break b}b=f+ -4|0;o[d+44>>2]=b;e=(f+j|0)+ -4|0;e=p[e+2|0]<<16|p[e+3|0]<<24&1056964608|p[e+1|0]<<8|p[e|0];break b}o[d+44>>2]=b;e=p[e|0]&63}h=e+262144|0;o[g+48>>2]=h;m=h>>>0<67108864;if(!a|h>>>0>67108863){break a}k=o[d+28>>2];i=0;l=o[d+16>>2];while(1){g:{if(h>>>0>262143){break g}while(1){if((b|0)<1){break g}b=b+ -1|0;o[d+44>>2]=b;h=p[b+j|0]|h<<8;o[d+48>>2]=h;if(h>>>0<262144){continue}break}}f=h&65535;e=o[(f<<2)+l>>2];g=(e<<3)+k|0;h=(u(o[g>>2],h>>>16|0)+f|0)-o[g+4>>2]|0;o[d+48>>2]=h;o[(i<<2)+c>>2]=e;m=1;i=i+1|0;if((i|0)!=(a|0)){continue}break}}a=o[d+28>>2];if(a){o[d+32>>2]=a;jl(a)}a=o[d+16>>2];if(a){o[d+20>>2]=a;jl(a)}a=o[d>>2];if(a){o[d+4>>2]=a;jl(a)}R=d- -64|0;return m}function lg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=R+ -64|0;R=d;o[d+48>>2]=0;o[d+40>>2]=0;o[d+44>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;o[d+24>>2]=0;o[d+28>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;o[d>>2]=0;o[d+4>>2]=0;a:{if(!ug(d,b)|(o[d+12>>2]?0:a)){break a}if(!sg(1,d+56|0,b)){break a}f=o[b+8>>2];l=o[b+16>>2];g=l;j=f-g|0;i=o[d+60>>2];e=i;k=o[b+20>>2];g=o[b+12>>2]-(k+(f>>>0>>0)|0)|0;f=o[d+56>>2];if((e|0)==(g|0)&f>>>0>j>>>0|e>>>0>g>>>0){break a}i=i+k|0;g=l;k=g+f|0;if(k>>>0>>0){i=i+1|0}o[b+16>>2]=k;o[b+20>>2]=i;if((f|0)<1){break a}j=l+o[b>>2]|0;o[d+40>>2]=j;g=d;b:{c:{d:{e:{f:{b=f+ -1|0;e=j+b|0;switch((p[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((f|0)<2){break a}b=f+ -2|0;o[d+44>>2]=b;e=(f+j|0)+ -2|0;e=p[e+1|0]<<8&16128|p[e|0];break b}if((f|0)<3){break a}b=f+ -3|0;o[d+44>>2]=b;e=(f+j|0)+ -3|0;e=p[e+1|0]<<8|p[e+2|0]<<16&4128768|p[e|0];break b}b=f+ -4|0;o[d+44>>2]=b;e=(f+j|0)+ -4|0;e=p[e+2|0]<<16|p[e+3|0]<<24&1056964608|p[e+1|0]<<8|p[e|0];break b}o[d+44>>2]=b;e=p[e|0]&63}h=e+131072|0;o[g+48>>2]=h;m=h>>>0<33554432;if(!a|h>>>0>33554431){break a}k=o[d+28>>2];i=0;l=o[d+16>>2];while(1){g:{if(h>>>0>131071){break g}while(1){if((b|0)<1){break g}b=b+ -1|0;o[d+44>>2]=b;h=p[b+j|0]|h<<8;o[d+48>>2]=h;if(h>>>0<131072){continue}break}}f=h&32767;e=o[(f<<2)+l>>2];g=(e<<3)+k|0;h=(u(o[g>>2],h>>>15|0)+f|0)-o[g+4>>2]|0;o[d+48>>2]=h;o[(i<<2)+c>>2]=e;m=1;i=i+1|0;if((i|0)!=(a|0)){continue}break}}a=o[d+28>>2];if(a){o[d+32>>2]=a;jl(a)}a=o[d+16>>2];if(a){o[d+20>>2]=a;jl(a)}a=o[d>>2];if(a){o[d+4>>2]=a;jl(a)}R=d- -64|0;return m}function kg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=R+ -64|0;R=d;o[d+48>>2]=0;o[d+40>>2]=0;o[d+44>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;o[d+24>>2]=0;o[d+28>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;o[d>>2]=0;o[d+4>>2]=0;a:{if(!tg(d,b)|(o[d+12>>2]?0:a)){break a}if(!sg(1,d+56|0,b)){break a}f=o[b+8>>2];l=o[b+16>>2];g=l;j=f-g|0;i=o[d+60>>2];e=i;k=o[b+20>>2];g=o[b+12>>2]-(k+(f>>>0>>0)|0)|0;f=o[d+56>>2];if((e|0)==(g|0)&f>>>0>j>>>0|e>>>0>g>>>0){break a}i=i+k|0;g=l;k=g+f|0;if(k>>>0>>0){i=i+1|0}o[b+16>>2]=k;o[b+20>>2]=i;if((f|0)<1){break a}j=l+o[b>>2]|0;o[d+40>>2]=j;g=d;b:{c:{d:{e:{f:{b=f+ -1|0;e=j+b|0;switch((p[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((f|0)<2){break a}b=f+ -2|0;o[d+44>>2]=b;e=(f+j|0)+ -2|0;e=p[e+1|0]<<8&16128|p[e|0];break b}if((f|0)<3){break a}b=f+ -3|0;o[d+44>>2]=b;e=(f+j|0)+ -3|0;e=p[e+1|0]<<8|p[e+2|0]<<16&4128768|p[e|0];break b}b=f+ -4|0;o[d+44>>2]=b;e=(f+j|0)+ -4|0;e=p[e+2|0]<<16|p[e+3|0]<<24&1056964608|p[e+1|0]<<8|p[e|0];break b}o[d+44>>2]=b;e=p[e|0]&63}h=e+32768|0;o[g+48>>2]=h;m=h>>>0<8388608;if(!a|h>>>0>8388607){break a}k=o[d+28>>2];i=0;l=o[d+16>>2];while(1){g:{if(h>>>0>32767){break g}while(1){if((b|0)<1){break g}b=b+ -1|0;o[d+44>>2]=b;h=p[b+j|0]|h<<8;o[d+48>>2]=h;if(h>>>0<32768){continue}break}}f=h&8191;e=o[(f<<2)+l>>2];g=(e<<3)+k|0;h=(u(o[g>>2],h>>>13|0)+f|0)-o[g+4>>2]|0;o[d+48>>2]=h;o[(i<<2)+c>>2]=e;m=1;i=i+1|0;if((i|0)!=(a|0)){continue}break}}a=o[d+28>>2];if(a){o[d+32>>2]=a;jl(a)}a=o[d+16>>2];if(a){o[d+20>>2]=a;jl(a)}a=o[d>>2];if(a){o[d+4>>2]=a;jl(a)}R=d- -64|0;return m}function ig(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=R+ -64|0;R=d;o[d+48>>2]=0;o[d+40>>2]=0;o[d+44>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;o[d+24>>2]=0;o[d+28>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;o[d>>2]=0;o[d+4>>2]=0;a:{if(!gg(d,b)|(o[d+12>>2]?0:a)){break a}if(!sg(1,d+56|0,b)){break a}f=o[b+8>>2];l=o[b+16>>2];g=l;j=f-g|0;i=o[d+60>>2];e=i;k=o[b+20>>2];g=o[b+12>>2]-(k+(f>>>0>>0)|0)|0;f=o[d+56>>2];if((e|0)==(g|0)&f>>>0>j>>>0|e>>>0>g>>>0){break a}i=i+k|0;g=l;k=g+f|0;if(k>>>0>>0){i=i+1|0}o[b+16>>2]=k;o[b+20>>2]=i;if((f|0)<1){break a}j=l+o[b>>2]|0;o[d+40>>2]=j;g=d;b:{c:{d:{e:{f:{b=f+ -1|0;e=j+b|0;switch((p[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((f|0)<2){break a}b=f+ -2|0;o[d+44>>2]=b;e=(f+j|0)+ -2|0;e=p[e+1|0]<<8&16128|p[e|0];break b}if((f|0)<3){break a}b=f+ -3|0;o[d+44>>2]=b;e=(f+j|0)+ -3|0;e=p[e+1|0]<<8|p[e+2|0]<<16&4128768|p[e|0];break b}b=f+ -4|0;o[d+44>>2]=b;e=(f+j|0)+ -4|0;e=p[e+2|0]<<16|p[e+3|0]<<24&1056964608|p[e+1|0]<<8|p[e|0];break b}o[d+44>>2]=b;e=p[e|0]&63}h=e+16384|0;o[g+48>>2]=h;m=h>>>0<4194304;if(!a|h>>>0>4194303){break a}k=o[d+28>>2];i=0;l=o[d+16>>2];while(1){g:{if(h>>>0>16383){break g}while(1){if((b|0)<1){break g}b=b+ -1|0;o[d+44>>2]=b;h=p[b+j|0]|h<<8;o[d+48>>2]=h;if(h>>>0<16384){continue}break}}f=h&4095;e=o[(f<<2)+l>>2];g=(e<<3)+k|0;h=(u(o[g>>2],h>>>12|0)+f|0)-o[g+4>>2]|0;o[d+48>>2]=h;o[(i<<2)+c>>2]=e;m=1;i=i+1|0;if((i|0)!=(a|0)){continue}break}}a=o[d+28>>2];if(a){o[d+32>>2]=a;jl(a)}a=o[d+16>>2];if(a){o[d+20>>2]=a;jl(a)}a=o[d>>2];if(a){o[d+4>>2]=a;jl(a)}R=d- -64|0;return m}function yg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{if(!q[b+38>>1]){break a}l=a+12|0;if(!qg(1,l,b)){break a}f=o[a+12>>2];c=o[a>>2];d=o[a+4>>2]-c>>2;b:{if(f>>>0>d>>>0){Ia(a,f-d|0);f=o[a+12>>2];break b}if(f>>>0>=d>>>0){break b}o[a+4>>2]=c+(f<<2)}if(!f){return 1}m=o[b+8>>2];i=o[b+12>>2];while(1){e=o[b+16>>2];d=o[b+20>>2];c=d;if((i|0)<(c|0)?1:(i|0)<=(c|0)?m>>>0>e>>>0?0:1:0){break a}n=o[b>>2];j=p[n+e|0];e=e+1|0;if(e>>>0<1){d=d+1|0}c=b;h=e;o[c+16>>2]=e;o[c+20>>2]=d;e=j>>>2|0;c:{d:{e:{k=j&3;if(k>>>0>3){c=0;break e}c=0;f:{switch(k-1|0){case 0:case 1:break e;case 2:break f;default:break d}}d=e+g|0;if(d>>>0>=f>>>0){break a}ml(o[a>>2]+(g<<2)|0,0,(j&252)+4|0);g=d;break c}while(1){if((i|0)<(d|0)?1:(i|0)<=(d|0)?m>>>0>h>>>0?0:1:0){break a}j=p[h+n|0];h=h+1|0;if(h>>>0<1){d=d+1|0}f=b;o[f+16>>2]=h;o[f+20>>2]=d;e=j<<(c<<3|6)|e;c=c+1|0;if((k|0)!=(c|0)){continue}break}}o[o[a>>2]+(g<<2)>>2]=e}g=g+1|0;f=o[l>>2];if(g>>>0>>0){continue}break}d=a+16|0;i=o[a>>2];b=o[a+16>>2];c=o[a+20>>2]-b|0;g=c>>2;g:{if(g>>>0<=1048575){Ia(d,1048576-g|0);break g}if((c|0)==4194304){break g}o[a+20>>2]=b+4194304}h:{c=a+28|0;b=o[c>>2];g=o[a+32>>2]-b>>3;if(f>>>0>g>>>0){rg(c,f-g|0);b=o[c>>2];break h}if(f>>>0>>0){o[a+32>>2]=(f<<3)+b}if(f){break h}break a}e=0;c=0;while(1){a=i+(e<<2)|0;g=o[a>>2];h=(e<<3)+b|0;o[h+4>>2]=c;o[h>>2]=g;a=o[a>>2]+c|0;if(a>>>0>1048576){break a}if(c>>>0>>0){g=o[d>>2];while(1){o[g+(c<<2)>>2]=e;c=c+1|0;if((a|0)!=(c|0)){continue}break}}c=a;e=e+1|0;if((f|0)!=(e|0)){continue}break}return(a|0)==1048576}return 0}function wg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{if(!q[b+38>>1]){break a}l=a+12|0;if(!qg(1,l,b)){break a}f=o[a+12>>2];c=o[a>>2];d=o[a+4>>2]-c>>2;b:{if(f>>>0>d>>>0){Ia(a,f-d|0);f=o[a+12>>2];break b}if(f>>>0>=d>>>0){break b}o[a+4>>2]=c+(f<<2)}if(!f){return 1}m=o[b+8>>2];i=o[b+12>>2];while(1){e=o[b+16>>2];d=o[b+20>>2];c=d;if((i|0)<(c|0)?1:(i|0)<=(c|0)?m>>>0>e>>>0?0:1:0){break a}n=o[b>>2];j=p[n+e|0];e=e+1|0;if(e>>>0<1){d=d+1|0}c=b;h=e;o[c+16>>2]=e;o[c+20>>2]=d;e=j>>>2|0;c:{d:{e:{k=j&3;if(k>>>0>3){c=0;break e}c=0;f:{switch(k-1|0){case 0:case 1:break e;case 2:break f;default:break d}}d=e+g|0;if(d>>>0>=f>>>0){break a}ml(o[a>>2]+(g<<2)|0,0,(j&252)+4|0);g=d;break c}while(1){if((i|0)<(d|0)?1:(i|0)<=(d|0)?m>>>0>h>>>0?0:1:0){break a}j=p[h+n|0];h=h+1|0;if(h>>>0<1){d=d+1|0}f=b;o[f+16>>2]=h;o[f+20>>2]=d;e=j<<(c<<3|6)|e;c=c+1|0;if((k|0)!=(c|0)){continue}break}}o[o[a>>2]+(g<<2)>>2]=e}g=g+1|0;f=o[l>>2];if(g>>>0>>0){continue}break}d=a+16|0;i=o[a>>2];b=o[a+16>>2];c=o[a+20>>2]-b|0;g=c>>2;g:{if(g>>>0<=262143){Ia(d,262144-g|0);break g}if((c|0)==1048576){break g}o[a+20>>2]=b- -1048576}h:{c=a+28|0;b=o[c>>2];g=o[a+32>>2]-b>>3;if(f>>>0>g>>>0){rg(c,f-g|0);b=o[c>>2];break h}if(f>>>0>>0){o[a+32>>2]=(f<<3)+b}if(f){break h}break a}e=0;c=0;while(1){a=i+(e<<2)|0;g=o[a>>2];h=(e<<3)+b|0;o[h+4>>2]=c;o[h>>2]=g;a=o[a>>2]+c|0;if(a>>>0>262144){break a}if(c>>>0>>0){g=o[d>>2];while(1){o[g+(c<<2)>>2]=e;c=c+1|0;if((a|0)!=(c|0)){continue}break}}c=a;e=e+1|0;if((f|0)!=(e|0)){continue}break}return(a|0)==262144}return 0}function xg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{if(!q[b+38>>1]){break a}l=a+12|0;if(!qg(1,l,b)){break a}f=o[a+12>>2];c=o[a>>2];d=o[a+4>>2]-c>>2;b:{if(f>>>0>d>>>0){Ia(a,f-d|0);f=o[a+12>>2];break b}if(f>>>0>=d>>>0){break b}o[a+4>>2]=c+(f<<2)}if(!f){return 1}m=o[b+8>>2];i=o[b+12>>2];while(1){e=o[b+16>>2];d=o[b+20>>2];c=d;if((i|0)<(c|0)?1:(i|0)<=(c|0)?m>>>0>e>>>0?0:1:0){break a}n=o[b>>2];j=p[n+e|0];e=e+1|0;if(e>>>0<1){d=d+1|0}c=b;h=e;o[c+16>>2]=e;o[c+20>>2]=d;e=j>>>2|0;c:{d:{e:{k=j&3;if(k>>>0>3){c=0;break e}c=0;f:{switch(k-1|0){case 0:case 1:break e;case 2:break f;default:break d}}d=e+g|0;if(d>>>0>=f>>>0){break a}ml(o[a>>2]+(g<<2)|0,0,(j&252)+4|0);g=d;break c}while(1){if((i|0)<(d|0)?1:(i|0)<=(d|0)?m>>>0>h>>>0?0:1:0){break a}j=p[h+n|0];h=h+1|0;if(h>>>0<1){d=d+1|0}f=b;o[f+16>>2]=h;o[f+20>>2]=d;e=j<<(c<<3|6)|e;c=c+1|0;if((k|0)!=(c|0)){continue}break}}o[o[a>>2]+(g<<2)>>2]=e}g=g+1|0;f=o[l>>2];if(g>>>0>>0){continue}break}d=a+16|0;i=o[a>>2];b=o[a+16>>2];c=o[a+20>>2]-b|0;g=c>>2;g:{if(g>>>0<=524287){Ia(d,524288-g|0);break g}if((c|0)==2097152){break g}o[a+20>>2]=b+2097152}h:{c=a+28|0;b=o[c>>2];g=o[a+32>>2]-b>>3;if(f>>>0>g>>>0){rg(c,f-g|0);b=o[c>>2];break h}if(f>>>0>>0){o[a+32>>2]=(f<<3)+b}if(f){break h}break a}e=0;c=0;while(1){a=i+(e<<2)|0;g=o[a>>2];h=(e<<3)+b|0;o[h+4>>2]=c;o[h>>2]=g;a=o[a>>2]+c|0;if(a>>>0>524288){break a}if(c>>>0>>0){g=o[d>>2];while(1){o[g+(c<<2)>>2]=e;c=c+1|0;if((a|0)!=(c|0)){continue}break}}c=a;e=e+1|0;if((f|0)!=(e|0)){continue}break}return(a|0)==524288}return 0}function vg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{if(!q[b+38>>1]){break a}l=a+12|0;if(!qg(1,l,b)){break a}f=o[a+12>>2];c=o[a>>2];d=o[a+4>>2]-c>>2;b:{if(f>>>0>d>>>0){Ia(a,f-d|0);f=o[a+12>>2];break b}if(f>>>0>=d>>>0){break b}o[a+4>>2]=c+(f<<2)}if(!f){return 1}m=o[b+8>>2];i=o[b+12>>2];while(1){e=o[b+16>>2];d=o[b+20>>2];c=d;if((i|0)<(c|0)?1:(i|0)<=(c|0)?m>>>0>e>>>0?0:1:0){break a}n=o[b>>2];j=p[n+e|0];e=e+1|0;if(e>>>0<1){d=d+1|0}c=b;h=e;o[c+16>>2]=e;o[c+20>>2]=d;e=j>>>2|0;c:{d:{e:{k=j&3;if(k>>>0>3){c=0;break e}c=0;f:{switch(k-1|0){case 0:case 1:break e;case 2:break f;default:break d}}d=e+g|0;if(d>>>0>=f>>>0){break a}ml(o[a>>2]+(g<<2)|0,0,(j&252)+4|0);g=d;break c}while(1){if((i|0)<(d|0)?1:(i|0)<=(d|0)?m>>>0>h>>>0?0:1:0){break a}j=p[h+n|0];h=h+1|0;if(h>>>0<1){d=d+1|0}f=b;o[f+16>>2]=h;o[f+20>>2]=d;e=j<<(c<<3|6)|e;c=c+1|0;if((k|0)!=(c|0)){continue}break}}o[o[a>>2]+(g<<2)>>2]=e}g=g+1|0;f=o[l>>2];if(g>>>0>>0){continue}break}d=a+16|0;i=o[a>>2];b=o[a+16>>2];c=o[a+20>>2]-b|0;g=c>>2;g:{if(g>>>0<=65535){Ia(d,65536-g|0);break g}if((c|0)==262144){break g}o[a+20>>2]=b+262144}h:{c=a+28|0;b=o[c>>2];g=o[a+32>>2]-b>>3;if(f>>>0>g>>>0){rg(c,f-g|0);b=o[c>>2];break h}if(f>>>0>>0){o[a+32>>2]=(f<<3)+b}if(f){break h}break a}e=0;c=0;while(1){a=i+(e<<2)|0;g=o[a>>2];h=(e<<3)+b|0;o[h+4>>2]=c;o[h>>2]=g;a=o[a>>2]+c|0;if(a>>>0>65536){break a}if(c>>>0>>0){g=o[d>>2];while(1){o[g+(c<<2)>>2]=e;c=c+1|0;if((a|0)!=(c|0)){continue}break}}c=a;e=e+1|0;if((f|0)!=(e|0)){continue}break}return(a|0)==65536}return 0}function ug(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{if(!q[b+38>>1]){break a}l=a+12|0;if(!qg(1,l,b)){break a}f=o[a+12>>2];c=o[a>>2];d=o[a+4>>2]-c>>2;b:{if(f>>>0>d>>>0){Ia(a,f-d|0);f=o[a+12>>2];break b}if(f>>>0>=d>>>0){break b}o[a+4>>2]=c+(f<<2)}if(!f){return 1}m=o[b+8>>2];i=o[b+12>>2];while(1){e=o[b+16>>2];d=o[b+20>>2];c=d;if((i|0)<(c|0)?1:(i|0)<=(c|0)?m>>>0>e>>>0?0:1:0){break a}n=o[b>>2];j=p[n+e|0];e=e+1|0;if(e>>>0<1){d=d+1|0}c=b;h=e;o[c+16>>2]=e;o[c+20>>2]=d;e=j>>>2|0;c:{d:{e:{k=j&3;if(k>>>0>3){c=0;break e}c=0;f:{switch(k-1|0){case 0:case 1:break e;case 2:break f;default:break d}}d=e+g|0;if(d>>>0>=f>>>0){break a}ml(o[a>>2]+(g<<2)|0,0,(j&252)+4|0);g=d;break c}while(1){if((i|0)<(d|0)?1:(i|0)<=(d|0)?m>>>0>h>>>0?0:1:0){break a}j=p[h+n|0];h=h+1|0;if(h>>>0<1){d=d+1|0}f=b;o[f+16>>2]=h;o[f+20>>2]=d;e=j<<(c<<3|6)|e;c=c+1|0;if((k|0)!=(c|0)){continue}break}}o[o[a>>2]+(g<<2)>>2]=e}g=g+1|0;f=o[l>>2];if(g>>>0>>0){continue}break}d=a+16|0;i=o[a>>2];b=o[a+16>>2];c=o[a+20>>2]-b|0;g=c>>2;g:{if(g>>>0<=32767){Ia(d,32768-g|0);break g}if((c|0)==131072){break g}o[a+20>>2]=b+131072}h:{c=a+28|0;b=o[c>>2];g=o[a+32>>2]-b>>3;if(f>>>0>g>>>0){rg(c,f-g|0);b=o[c>>2];break h}if(f>>>0>>0){o[a+32>>2]=(f<<3)+b}if(f){break h}break a}e=0;c=0;while(1){a=i+(e<<2)|0;g=o[a>>2];h=(e<<3)+b|0;o[h+4>>2]=c;o[h>>2]=g;a=o[a>>2]+c|0;if(a>>>0>32768){break a}if(c>>>0>>0){g=o[d>>2];while(1){o[g+(c<<2)>>2]=e;c=c+1|0;if((a|0)!=(c|0)){continue}break}}c=a;e=e+1|0;if((f|0)!=(e|0)){continue}break}return(a|0)==32768}return 0}function tg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{if(!q[b+38>>1]){break a}l=a+12|0;if(!qg(1,l,b)){break a}f=o[a+12>>2];c=o[a>>2];d=o[a+4>>2]-c>>2;b:{if(f>>>0>d>>>0){Ia(a,f-d|0);f=o[a+12>>2];break b}if(f>>>0>=d>>>0){break b}o[a+4>>2]=c+(f<<2)}if(!f){return 1}m=o[b+8>>2];i=o[b+12>>2];while(1){e=o[b+16>>2];d=o[b+20>>2];c=d;if((i|0)<(c|0)?1:(i|0)<=(c|0)?m>>>0>e>>>0?0:1:0){break a}n=o[b>>2];j=p[n+e|0];e=e+1|0;if(e>>>0<1){d=d+1|0}c=b;h=e;o[c+16>>2]=e;o[c+20>>2]=d;e=j>>>2|0;c:{d:{e:{k=j&3;if(k>>>0>3){c=0;break e}c=0;f:{switch(k-1|0){case 0:case 1:break e;case 2:break f;default:break d}}d=e+g|0;if(d>>>0>=f>>>0){break a}ml(o[a>>2]+(g<<2)|0,0,(j&252)+4|0);g=d;break c}while(1){if((i|0)<(d|0)?1:(i|0)<=(d|0)?m>>>0>h>>>0?0:1:0){break a}j=p[h+n|0];h=h+1|0;if(h>>>0<1){d=d+1|0}f=b;o[f+16>>2]=h;o[f+20>>2]=d;e=j<<(c<<3|6)|e;c=c+1|0;if((k|0)!=(c|0)){continue}break}}o[o[a>>2]+(g<<2)>>2]=e}g=g+1|0;f=o[l>>2];if(g>>>0>>0){continue}break}d=a+16|0;i=o[a>>2];b=o[a+16>>2];c=o[a+20>>2]-b|0;g=c>>2;g:{if(g>>>0<=8191){Ia(d,8192-g|0);break g}if((c|0)==32768){break g}o[a+20>>2]=b+32768}h:{c=a+28|0;b=o[c>>2];g=o[a+32>>2]-b>>3;if(f>>>0>g>>>0){rg(c,f-g|0);b=o[c>>2];break h}if(f>>>0>>0){o[a+32>>2]=(f<<3)+b}if(f){break h}break a}e=0;c=0;while(1){a=i+(e<<2)|0;g=o[a>>2];h=(e<<3)+b|0;o[h+4>>2]=c;o[h>>2]=g;a=o[a>>2]+c|0;if(a>>>0>8192){break a}if(c>>>0>>0){g=o[d>>2];while(1){o[g+(c<<2)>>2]=e;c=c+1|0;if((a|0)!=(c|0)){continue}break}}c=a;e=e+1|0;if((f|0)!=(e|0)){continue}break}return(a|0)==8192}return 0}function gg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{if(!q[b+38>>1]){break a}l=a+12|0;if(!qg(1,l,b)){break a}f=o[a+12>>2];c=o[a>>2];d=o[a+4>>2]-c>>2;b:{if(f>>>0>d>>>0){Ia(a,f-d|0);f=o[a+12>>2];break b}if(f>>>0>=d>>>0){break b}o[a+4>>2]=c+(f<<2)}if(!f){return 1}m=o[b+8>>2];i=o[b+12>>2];while(1){e=o[b+16>>2];d=o[b+20>>2];c=d;if((i|0)<(c|0)?1:(i|0)<=(c|0)?m>>>0>e>>>0?0:1:0){break a}n=o[b>>2];j=p[n+e|0];e=e+1|0;if(e>>>0<1){d=d+1|0}c=b;h=e;o[c+16>>2]=e;o[c+20>>2]=d;e=j>>>2|0;c:{d:{e:{k=j&3;if(k>>>0>3){c=0;break e}c=0;f:{switch(k-1|0){case 0:case 1:break e;case 2:break f;default:break d}}d=e+g|0;if(d>>>0>=f>>>0){break a}ml(o[a>>2]+(g<<2)|0,0,(j&252)+4|0);g=d;break c}while(1){if((i|0)<(d|0)?1:(i|0)<=(d|0)?m>>>0>h>>>0?0:1:0){break a}j=p[h+n|0];h=h+1|0;if(h>>>0<1){d=d+1|0}f=b;o[f+16>>2]=h;o[f+20>>2]=d;e=j<<(c<<3|6)|e;c=c+1|0;if((k|0)!=(c|0)){continue}break}}o[o[a>>2]+(g<<2)>>2]=e}g=g+1|0;f=o[l>>2];if(g>>>0>>0){continue}break}d=a+16|0;i=o[a>>2];b=o[a+16>>2];c=o[a+20>>2]-b|0;g=c>>2;g:{if(g>>>0<=4095){Ia(d,4096-g|0);break g}if((c|0)==16384){break g}o[a+20>>2]=b+16384}h:{c=a+28|0;b=o[c>>2];g=o[a+32>>2]-b>>3;if(f>>>0>g>>>0){rg(c,f-g|0);b=o[c>>2];break h}if(f>>>0>>0){o[a+32>>2]=(f<<3)+b}if(f){break h}break a}e=0;c=0;while(1){a=i+(e<<2)|0;g=o[a>>2];h=(e<<3)+b|0;o[h+4>>2]=c;o[h>>2]=g;a=o[a>>2]+c|0;if(a>>>0>4096){break a}if(c>>>0>>0){g=o[d>>2];while(1){o[g+(c<<2)>>2]=e;c=c+1|0;if((a|0)!=(c|0)){continue}break}}c=a;e=e+1|0;if((f|0)!=(e|0)){continue}break}return(a|0)==4096}return 0}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,s=0,t=0;f=R-96|0;R=f;a:{if(!Cd(1,f+92|0,b)){break a}c=o[f+92>>2];if(!c){break a}e=o[a+4>>2];d=o[a+8>>2]-e>>2;b:{if(c>>>0>d>>>0){Ia(a+4|0,c-d|0);break b}if(c>>>0>=d>>>0){break b}o[a+8>>2]=e+(c<<2)}t=c>>>0>1?c:1;q=a+16|0;r=o[a+32>>2];while(1){k=o[b+8>>2];j=o[b+16>>2];g=o[b+12>>2];c=g;d=o[b+20>>2];if((c|0)<(d|0)?1:(c|0)<=(d|0)?k>>>0>j>>>0?0:1:0){d=0;break a}l=o[b>>2];s=p[l+j|0];c=d;h=j+1|0;if(h>>>0<1){c=c+1|0}e=b;o[e+16>>2]=h;o[e+20>>2]=c;if((g|0)<(c|0)?1:(g|0)<=(c|0)?k>>>0>h>>>0?0:1:0){d=0;break a}h=p[h+l|0];c=d;i=j+2|0;if(i>>>0<2){c=c+1|0}o[b+16>>2]=i;o[e+20>>2]=c;if((g|0)<(c|0)?1:(g|0)<=(c|0)?k>>>0>i>>>0?0:1:0){d=0;break a}i=p[i+l|0];c=d;m=j+3|0;if(m>>>0<3){c=c+1|0}o[b+16>>2]=m;o[e+20>>2]=c;if((g|0)<(c|0)?1:(g|0)<=(c|0)?k>>>0>m>>>0?0:1:0){d=0;break a}g=p[m+l|0];c=d;d=j+4|0;if(d>>>0<4){c=c+1|0}o[b+16>>2]=d;o[e+20>>2]=c;if(s>>>0>4){d=0;break a}if((h+ -1&255)>>>0>10){d=0;break a}d=qd(f+24|0);c=u(xi(h),i);rd(d,s,i<<24>>24,h,(g|0)!=0,c,c>>31);Cd(1,f+20|0,b);e=o[f+20>>2];o[f+84>>2]=e;c=yk(96);vd(c,d);o[f+16>>2]=c;d=vj(r,f+16|0);c=o[f+16>>2];o[f+16>>2]=0;if(c){Kb(c)}g=d<<2;o[o[g+o[r+8>>2]>>2]+60>>2]=e;o[o[a+4>>2]+(n<<2)>>2]=d;c=o[a+16>>2];e=o[a+20>>2]-c>>2;c:{if((d|0)<(e|0)){break c}o[f+12>>2]=-1;d=d+1|0;if(d>>>0>e>>>0){Dd(q,d-e|0,f+12|0);c=o[q>>2];break c}if(d>>>0>=e>>>0){break c}o[a+20>>2]=(d<<2)+c}o[c+g>>2]=n;d=1;n=n+1|0;if((t|0)!=(n|0)){continue}break}}R=f+96|0;return d|0}function $d(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,q=0;e=R-16|0;R=e;b=1;g=l[o[o[a>>2]+24>>2]](a)|0;a:{if((g|0)<1){break a}q=a+48|0;while(1){b:{c:{if(!o[(l[o[o[a>>2]+28>>2]](a)|0)+40>>2]){break c}h=f<<2;b=o[h+o[a+36>>2]>>2];c=o[b+8>>2];i=Qd(b);if(!i){break c}j=o[(l[o[o[a>>2]+28>>2]](a)|0)+40>>2];k=o[c+56>>2];b=yk(32);o[e>>2]=b;o[e+4>>2]=24;o[e+8>>2]=-2147483616;m[b+24|0]=0;c=p[1764]|p[1765]<<8|(p[1766]<<16|p[1767]<<24);d=p[1760]|p[1761]<<8|(p[1762]<<16|p[1763]<<24);m[b+16|0]=d;m[b+17|0]=d>>>8;m[b+18|0]=d>>>16;m[b+19|0]=d>>>24;m[b+20|0]=c;m[b+21|0]=c>>>8;m[b+22|0]=c>>>16;m[b+23|0]=c>>>24;c=p[1756]|p[1757]<<8|(p[1758]<<16|p[1759]<<24);d=p[1752]|p[1753]<<8|(p[1754]<<16|p[1755]<<24);m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=p[1748]|p[1749]<<8|(p[1750]<<16|p[1751]<<24);d=p[1744]|p[1745]<<8|(p[1746]<<16|p[1747]<<24);m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;d:{e:{d=j+16|0;c=d;b=o[c>>2];if(!b){break e}while(1){n=o[b+16>>2]<(k|0);c=n?c:b;b=o[(n<<2)+b>>2];if(b){continue}break}if((c|0)==(d|0)|(k|0)>2]){break e}b=c+20|0;if(!ja(b,e)){break e}b=Bi(b,e);break d}b=Bi(j,e)}if(m[e+11|0]<=-1){jl(o[e>>2])}if(!b){break c}xd(o[o[o[a+36>>2]+h>>2]+8>>2],i);break b}b=o[o[a+36>>2]+(f<<2)>>2];if(l[o[o[b>>2]+24>>2]](b,q)){break b}b=0;break a}b=1;f=f+1|0;if((g|0)!=(f|0)){continue}break}}R=e+16|0;return b|0}function _g(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,s=0,t=0;j=R-16|0;R=j;n=-1;a:{b:{c:{if(!Xg(1,j+12|0,b)){break c}d=o[j+12>>2];if(d){c=o[a+8>>2];if(d>>>0>(o[c+4>>2]-o[c>>2]>>2>>>0)/3>>>0){break c}s=a+36|0;while(1){Xg(1,j+8|0,b);c=o[j+8>>2];Xg(1,j+8|0,b);h=c+h|0;c=o[j+8>>2];if(h>>>0>>0){break c}g=h-c|0;c=o[a+40>>2];i=o[a+44>>2];d:{if((c|0)!=(i|0)){o[c+4>>2]=h;o[c>>2]=g;o[a+40>>2]=o[a+40>>2]+12;break d}e=c;c=o[s>>2];k=e-c|0;e=(k|0)/12|0;f=e+1|0;if(f>>>0>=357913942){break b}t=u(e,12);i=(i-c|0)/12|0;e=i<<1;f=i>>>0<178956970?e>>>0>>0?f:e:357913941;e=0;e:{if(!f){break e}if(f>>>0>=357913942){break a}e=yk(u(f,12))}i=t+e|0;o[i+4>>2]=h;o[i>>2]=g;g=i+u((k|0)/-12|0,12)|0;e=e+u(f,12)|0;f=i+12|0;if((k|0)>=1){ll(g,c,k)}o[a+44>>2]=e;o[a+40>>2]=f;o[a+36>>2]=g;if(!c){break d}jl(c)}l=l+1|0;if((d|0)!=(l|0)){continue}break}h=0;ui(b,0,0);k=d>>>0>1?d:1;while(1){d=p[b+36|0];c=q[o[a+4>>2]+36>>1];f:{if((c<<24|c<<8&16711680)>>>16>>>0<=513){if(!d){break f}g=0;d=o[b+32>>2];l=d>>>3|0;e=o[b+24>>2];c=l+e|0;f=o[b+28>>2];g:{if(c>>>0>=f>>>0){c=d;break g}g=p[c|0];c=d+1|0;o[b+32>>2]=c;l=c>>>3|0;g=g>>>(d&7)&1}if(e+l>>>0>=f>>>0){break f}o[b+32>>2]=c+1;break f}if(!d){break f}g=0;d=o[b+32>>2];c=o[b+24>>2]+(d>>>3|0)|0;if(c>>>0>=r[b+28>>2]){break f}c=p[c|0];o[b+32>>2]=d+1;g=c>>>(d&7)&1}d=o[a+36>>2]+u(h,12)|0;m[d+8|0]=p[d+8|0]&254|g&1;h=h+1|0;if((k|0)!=(h|0)){continue}break}wi(b)}n=o[b+16>>2]}R=j+16|0;return n}Nk();D()}db(8832);D()}function bg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{b:{c:{d:{e:{l=a+4|0;f:{if((l|0)==(b|0)){break f}f=p[b+27|0];i=f<<24>>24<0;h=p[e+11|0];n=h<<24>>24;g=(n|0)<0;f=i?o[b+20>>2]:f;h=g?o[e+4>>2]:h;j=f>>>0>>0;k=j?f:h;if(k){g=g?o[e>>2]:e;m=b+16|0;i=i?o[m>>2]:m;m=Vj(g,i,k);if(!m){if(h>>>0>>0){break f}break e}if((m|0)>-1){break e}break f}if(h>>>0>=f>>>0){break d}}i=o[b>>2];g:{h:{if(o[a>>2]==(b|0)){f=b;break h}i:{if(!i){d=b;while(1){f=o[d+8>>2];h=o[f>>2]==(d|0);d=f;if(h){continue}break}break i}d=i;while(1){f=d;d=o[f+4>>2];if(d){continue}break}}g=p[e+11|0];d=g<<24>>24<0;j=p[f+27|0];h=j<<24>>24<0;j:{g=d?o[e+4>>2]:g;j=h?o[f+20>>2]:j;k=g>>>0>>0?g:j;if(k){l=f+16|0;d=Vj(h?o[l>>2]:l,d?o[e>>2]:e,k);if(d){break j}}if(j>>>0>>0){break h}break g}if((d|0)>-1){break g}}if(!i){o[c>>2]=b;return b}o[c>>2]=f;return f+4|0}return cg(a,c,e)}f=Vj(i,g,k);if(f){break c}}if(j){break b}break a}if((f|0)>-1){break a}}i=o[b+4>>2];k:{if(i){f=i;while(1){d=f;f=o[f>>2];if(f){continue}break}break k}d=o[b+8>>2];if(o[d>>2]==(b|0)){break k}f=b+8|0;while(1){g=o[f>>2];f=g+8|0;d=o[g+8>>2];if((g|0)!=o[d>>2]){continue}break}}l:{m:{if((d|0)==(l|0)){break m}g=p[d+27|0];f=g<<24>>24<0;n:{g=f?o[d+20>>2]:g;j=g>>>0>>0?g:h;if(j){k=d+16|0;f=Vj((n|0)<0?o[e>>2]:e,f?o[k>>2]:k,j);if(f){break n}}if(h>>>0>>0){break m}break l}if((f|0)>-1){break l}}if(!i){o[c>>2]=b;return b+4|0}o[c>>2]=d;return d}return cg(a,c,e)}o[c>>2]=b;o[d>>2]=b;return d}function kh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=R-16|0;R=h;a:{if(!Sf(a+80|0,a)){break a}if(!$g(a)){break a}c=o[a+4>>2];o[b>>2]=o[a>>2];o[b+4>>2]=c;c=o[a+36>>2];o[b+32>>2]=o[a+32>>2];o[b+36>>2]=c;c=o[a+28>>2];o[b+24>>2]=o[a+24>>2];o[b+28>>2]=c;c=o[a+20>>2];o[b+16>>2]=o[a+16>>2];o[b+20>>2]=c;c=o[a+12>>2];o[b+8>>2]=o[a+8>>2];o[b+12>>2]=c;o[a+176>>2]=2;o[a+180>>2]=7;c=o[a+152>>2];if((c|0)<0){break a}o[h+12>>2]=0;d=2;f=o[a+156>>2];g=o[a+160>>2]-f>>2;b:{if(c>>>0>g>>>0){Dd(a+156|0,c-g|0,h+12|0);d=o[a+176>>2];e=o[a+180>>2];break b}e=7;if(c>>>0>=g>>>0){break b}o[a+160>>2]=f+(c<<2)}g=a+184|0;e=(e-d|0)+1|0;c=o[a+188>>2];f=o[a+184>>2];d=(c-f|0)/12|0;c:{if(e>>>0>d>>>0){mh(g,e-d|0);e=o[a+188>>2];break c}if(e>>>0>=d>>>0){e=c;break c}e=f+u(e,12)|0;if((e|0)!=(c|0)){while(1){d=c+ -12|0;f=o[d>>2];if(f){o[c+ -8>>2]=f;jl(f)}c=d;if((c|0)!=(e|0)){continue}break}}o[a+188>>2]=e}k=a+196|0;c=o[a+184>>2];d=(e-c|0)/12|0;i=o[a+196>>2];f=o[a+200>>2]-i>>2;d:{if(d>>>0>f>>>0){Ia(k,d-f|0);c=o[a+184>>2];e=o[a+188>>2];break d}if(d>>>0>=f>>>0){break d}o[a+200>>2]=i+(d<<2)}d=1;if((c|0)==(e|0)){break a}c=0;while(1){Xg(1,h+8|0,b);d=o[h+8>>2];if(d){e=o[g>>2];l=u(c,12);f=e+l|0;i=o[f>>2];j=o[f+4>>2]-i>>2;e:{if(d>>>0>j>>>0){Ia(f,d-j|0);e=o[g>>2];break e}if(d>>>0>=j>>>0){break e}o[f+4>>2]=(d<<2)+i}dg(d,1,b,o[e+l>>2]);o[o[k>>2]+(c<<2)>>2]=d}d=1;c=c+1|0;if(c>>>0<(o[a+188>>2]-o[a+184>>2]|0)/12>>>0){continue}break}}R=h+16|0;return d}function Xf(a,b,c,d){var e=0,f=0,g=0;e=R-80|0;R=e;f=o[c+36>>2];o[e+72>>2]=o[c+32>>2];o[e+76>>2]=f;g=o[c+28>>2];f=e- -64|0;o[f>>2]=o[c+24>>2];o[f+4>>2]=g;f=o[c+20>>2];o[e+56>>2]=o[c+16>>2];o[e+60>>2]=f;f=o[c+12>>2];o[e+48>>2]=o[c+8>>2];o[e+52>>2]=f;f=o[c+4>>2];o[e+40>>2]=o[c>>2];o[e+44>>2]=f;gi(a,e+40|0,e+24|0);a:{if(o[a>>2]){break a}f=a+4|0;if(m[a+15|0]<=-1){jl(o[f>>2])}if(p[e+31|0]!=1){b=yk(32);o[e>>2]=b;o[e+4>>2]=20;o[e+8>>2]=-2147483616;m[b+20|0]=0;c=p[7916]|p[7917]<<8|(p[7918]<<16|p[7919]<<24);m[b+16|0]=c;m[b+17|0]=c>>>8;m[b+18|0]=c>>>16;m[b+19|0]=c>>>24;c=p[7912]|p[7913]<<8|(p[7914]<<16|p[7915]<<24);d=p[7908]|p[7909]<<8|(p[7910]<<16|p[7911]<<24);m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=p[7904]|p[7905]<<8|(p[7906]<<16|p[7907]<<24);d=p[7900]|p[7901]<<8|(p[7902]<<16|p[7903]<<24);m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;o[a>>2]=-1;Bk(f,e);if(m[e+11|0]>-1){break a}jl(o[e>>2]);break a}Vf(e,p[e+32|0]);g=o[e>>2];b:{if(g){o[a>>2]=g;Bk(f,e|4);break b}g=o[e+16>>2];o[e+16>>2]=0;o[g+44>>2]=d;ji(a,g,b,c,d);if(!o[a>>2]){if(m[f+11|0]<=-1){jl(o[f>>2])}o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0}if(!g){break b}l[o[o[g>>2]+4>>2]](g)}a=o[e+16>>2];o[e+16>>2]=0;if(a){l[o[o[a>>2]+4>>2]](a)}if(m[e+15|0]>-1){break a}jl(o[e+4>>2])}R=e+80|0}function pf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;o[a+8>>2]=e;h=a+32|0;g=o[h>>2];f=o[a+36>>2]-g>>2;a:{if(f>>>0>>0){Ia(h,e-f|0);break a}if(f>>>0<=e>>>0){break a}o[a+36>>2]=g+(e<<2)}h=0;f=(e&1073741823)!=(e|0)?-1:e<<2;m=ml(yk(f),0,f);g=o[a+8>>2];b:{if((g|0)<1){break b}while(1){f=h<<2;g=o[f+m>>2];i=o[a+16>>2];c:{if((g|0)>(i|0)){j=o[a+32>>2];o[f+j>>2]=i;break c}j=o[a+32>>2];f=f+j|0;i=o[a+12>>2];if((g|0)<(i|0)){o[f>>2]=i;break c}o[f>>2]=g}h=h+1|0;g=o[a+8>>2];if((h|0)<(g|0)){continue}break}if((g|0)<1){break b}i=0;while(1){h=i<<2;f=h+c|0;h=o[b+h>>2]+o[h+j>>2]|0;o[f>>2]=h;d:{if((h|0)>o[a+16>>2]){h=h-o[a+20>>2]|0}else{if((h|0)>=o[a+12>>2]){break d}h=h+o[a+20>>2]|0}o[f>>2]=h}i=i+1|0;g=o[a+8>>2];if((i|0)<(g|0)){continue}break}}if((e|0)<(d|0)){p=0-e<<2;f=e;while(1){e:{if((g|0)<1){break e}l=f<<2;n=l+c|0;q=n+p|0;h=0;while(1){g=h<<2;i=o[g+q>>2];k=o[a+16>>2];f:{if((i|0)>(k|0)){j=o[a+32>>2];o[g+j>>2]=k;break f}j=o[a+32>>2];g=g+j|0;k=o[a+12>>2];if((i|0)<(k|0)){o[g>>2]=k;break f}o[g>>2]=i}h=h+1|0;g=o[a+8>>2];if((h|0)<(g|0)){continue}break}i=0;if((g|0)<1){break e}l=b+l|0;while(1){g=i<<2;h=g+n|0;g=o[g+l>>2]+o[g+j>>2]|0;o[h>>2]=g;g:{if((g|0)>o[a+16>>2]){g=g-o[a+20>>2]|0}else{if((g|0)>=o[a+12>>2]){break g}g=g+o[a+20>>2]|0}o[h>>2]=g}i=i+1|0;g=o[a+8>>2];if((i|0)<(g|0)){continue}break}}f=e+f|0;if((f|0)<(d|0)){continue}break}}jl(m);return 1}function hi(a,b){var c=0,d=0,e=0;e=R-48|0;R=e;c=yk(36);o[c+4>>2]=0;o[c+8>>2]=0;o[c+16>>2]=0;o[c+20>>2]=0;o[c+32>>2]=0;o[c+24>>2]=0;o[c+28>>2]=0;o[c>>2]=c+4;o[c+12>>2]=c+16;o[e+40>>2]=c;d=e+32|0;o[d>>2]=0;a:{if(!dj(d,o[b+32>>2],c)){b=yk(32);o[e+16>>2]=b;o[e+20>>2]=26;o[e+24>>2]=-2147483616;m[b+26|0]=0;c=p[10238]|p[10239]<<8;m[b+24|0]=c;m[b+25|0]=c>>>8;c=p[10234]|p[10235]<<8|(p[10236]<<16|p[10237]<<24);d=p[10230]|p[10231]<<8|(p[10232]<<16|p[10233]<<24);m[b+16|0]=d;m[b+17|0]=d>>>8;m[b+18|0]=d>>>16;m[b+19|0]=d>>>24;m[b+20|0]=c;m[b+21|0]=c>>>8;m[b+22|0]=c>>>16;m[b+23|0]=c>>>24;c=p[10226]|p[10227]<<8|(p[10228]<<16|p[10229]<<24);d=p[10222]|p[10223]<<8|(p[10224]<<16|p[10225]<<24);m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=p[10218]|p[10219]<<8|(p[10220]<<16|p[10221]<<24);d=p[10214]|p[10215]<<8|(p[10216]<<16|p[10217]<<24);m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;o[a>>2]=-1;Bk(a+4|0,e+16|0);if(m[e+27|0]>-1){break a}jl(o[e+16>>2]);break a}b=o[b+4>>2];o[e+8>>2]=0;o[e+40>>2]=0;d=o[b+4>>2];o[b+4>>2]=c;b:{if(!d){o[e+8>>2]=0;break b}ii(d);b=o[e+8>>2];o[e+8>>2]=0;if(!b){break b}ii(b)}o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0}a=o[e+40>>2];o[e+40>>2]=0;if(a){ii(a)}R=e+48|0}function Rg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=R-112|0;R=d;j=o[o[b+4>>2]+44>>2];f=yk(120);e=f;o[e+12>>2]=0;o[e+16>>2]=0;o[e>>2]=8940;o[e+4>>2]=0;o[e+8>>2]=9152;o[e+116>>2]=0;o[e+112>>2]=c;o[e+108>>2]=j;o[e+104>>2]=0;o[e+96>>2]=0;o[e+100>>2]=0;o[e+20>>2]=0;o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;o[e+36>>2]=0;o[e+40>>2]=0;o[e+44>>2]=0;o[e+48>>2]=0;o[e+52>>2]=0;o[e+56>>2]=0;o[e+60>>2]=0;e=e- -64|0;o[e>>2]=0;o[e+4>>2]=0;o[f+72>>2]=0;o[f+76>>2]=0;o[f+80>>2]=0;o[f+84>>2]=0;o[f+88>>2]=0;b=o[b+8>>2];o[d+48>>2]=0;o[d+52>>2]=0;o[d+40>>2]=0;o[d+44>>2]=0;e=d+24|0;o[e>>2]=0;o[e+4>>2]=0;h=d- -64|0;o[h>>2]=0;o[h+4>>2]=0;o[d+72>>2]=0;o[d+76>>2]=0;h=d+80|0;g=h;o[g>>2]=0;o[g+4>>2]=0;o[d+88>>2]=0;o[d+104>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;o[d+56>>2]=0;o[d+60>>2]=0;o[d+8>>2]=9152;o[d+96>>2]=0;o[d+100>>2]=0;o[d+12>>2]=b;g=o[b>>2];i=o[b+4>>2];m[d+111|0]=0;eb(d+32|0,(i-g>>2>>>0)/3|0,d+111|0);g=o[d+12>>2];i=o[g+28>>2];g=o[g+24>>2];m[d+111|0]=0;eb(d+44|0,i-g>>2,d+111|0);o[d+28>>2]=f;o[e>>2]=j;o[d+20>>2]=c;o[d+16>>2]=b;Tg(f,d+8|0);o[a>>2]=f;o[d+8>>2]=9152;a=o[d+96>>2];if(a){o[d+100>>2]=a;jl(a)}a=o[h>>2];if(a){o[d+84>>2]=a;jl(a)}a=o[d+68>>2];if(a){o[d+72>>2]=a;jl(a)}a=o[d+56>>2];if(a){o[d+60>>2]=a;jl(a)}o[d+8>>2]=9388;a=o[d+44>>2];if(a){jl(a)}a=o[d+32>>2];if(a){jl(a)}R=d+112|0}function nh(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b+ -2|0;d=b+ -1|0;if((b>>>0)%3){break a}d=b+2|0}c=o[a+168>>2];b:{if(c>>>0>7){break b}c:{d:{switch(c-2|0){default:c=o[a+148>>2];e=1;b=o[a+156>>2];g=b+(((f|0)!=-1?o[o[c>>2]+(f<<2)>>2]:-1)<<2)|0;o[g>>2]=o[g>>2]+1;b=(((d|0)!=-1?o[o[c>>2]+(d<<2)>>2]:-1)<<2)+b|0;break c;case 3:e=o[a+148>>2];c=-1;c=((b|0)!=-1?o[o[e>>2]+(b<<2)>>2]:c)<<2;b=o[a+156>>2];c=c+b|0;o[c>>2]=o[c>>2]+1;c=(((f|0)!=-1?o[o[e>>2]+(f<<2)>>2]:-1)<<2)+b|0;o[c>>2]=o[c>>2]+1;c=-1;c=(d|0)!=-1?o[o[e>>2]+(d<<2)>>2]:c;e=2;b=b+(c<<2)|0;break c;case 1:e=o[a+148>>2];c=-1;c=((b|0)!=-1?o[o[e>>2]+(b<<2)>>2]:c)<<2;b=o[a+156>>2];c=c+b|0;o[c>>2]=o[c>>2]+1;c=(((f|0)!=-1?o[o[e>>2]+(f<<2)>>2]:-1)<<2)+b|0;o[c>>2]=o[c>>2]+2;b=(((d|0)!=-1?o[o[e>>2]+(d<<2)>>2]:-1)<<2)+b|0;e=1;break c;case 0:case 2:case 4:break b;case 5:break d}}e=o[a+148>>2];c=-1;c=((b|0)!=-1?o[o[e>>2]+(b<<2)>>2]:c)<<2;b=o[a+156>>2];c=c+b|0;o[c>>2]=o[c>>2]+2;c=(((f|0)!=-1?o[o[e>>2]+(f<<2)>>2]:-1)<<2)+b|0;o[c>>2]=o[c>>2]+2;c=-1;c=(d|0)!=-1?o[o[e>>2]+(d<<2)>>2]:c;e=2;b=b+(c<<2)|0}o[b>>2]=o[b>>2]+e}c=-1;c=(f|0)!=-1?o[o[o[a+148>>2]>>2]+(f<<2)>>2]:c;f=o[a+176>>2];b=f;d=a;c=o[o[a+156>>2]+(c<<2)>>2];if((c|0)>=(b|0)){a=o[a+180>>2];b=(c|0)>(a|0)?a:c}o[d+172>>2]=b-f}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=R-16|0;R=j;e=o[b+12>>2];c=o[b+20>>2];f=o[b+16>>2];d=f+4|0;if(d>>>0<4){c=c+1|0}g=d;d=c;a:{if((e|0)<(c|0)?1:(e|0)<=(c|0)?r[b+8>>2]>=g>>>0?0:1:0){break a}c=f+o[b>>2]|0;c=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=g;o[b+20>>2]=d;if((c|0)<0){break a}He(a+76|0,c);g=Rf(j);b:{if(!Sf(g,b)){break b}if((c|0)>=1){e=1;while(1){f=1<<(i&31);h=Uf(g);d=o[a+76>>2]+(i>>>3&536870908)|0;e=e^h;h=o[d>>2]|f;c:{if(!(e&1)){break c}h=o[d>>2]&(f^-1)}f=h;e=e^1;o[d>>2]=f;i=i+1|0;if((c|0)!=(i|0)){continue}break}}d=o[b+12>>2];i=d;c=o[b+20>>2];e=c;g=o[b+16>>2];f=g+4|0;if(f>>>0<4){c=c+1|0}k=o[b+8>>2];h=f;f=c;if((d|0)<(c|0)?1:(d|0)<=(c|0)?k>>>0>=h>>>0?0:1:0){break b}l=o[b>>2];c=l+g|0;d=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=h;o[b+20>>2]=f;c=e;e=g+8|0;if(e>>>0<8){c=c+1|0}f=e;e=c;if((i|0)<(c|0)?1:(i|0)<=(c|0)?k>>>0>=f>>>0?0:1:0){break b}c=h+l|0;c=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=f;o[b+20>>2]=e;if((d|0)>(c|0)){break b}o[a+16>>2]=c;o[a+12>>2]=d;b=d;d=(c>>31)-((c>>>0>>0)+(b>>31)|0)|0;b=c-b|0;if(!d&b>>>0>2147483646|d>>>0>0){break b}m=1;b=b+1|0;o[a+20>>2]=b;c=(b|0)/2|0;o[a+24>>2]=c;o[a+28>>2]=0-c;if(b&1){break b}o[a+24>>2]=c+ -1}}R=j+16|0;return m|0}function Nl(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{g=b;if(g){e=c;if(!e){break j}f=d;if(!f){break i}f=x(f)-x(g)|0;if(f>>>0<=31){break h}break b}if((d|0)==1&c>>>0>=0|d>>>0>1){break b}b=(a>>>0)/(c>>>0)|0;Kl(a-u(b,c)|0,0);T=0;return b}e=d;if(!a){break g}if(!e){break f}f=e+ -1|0;if(f&e){break f}Kl(a,f&g);a=g>>>(Tl(e)&31)|0;T=0;return a}f=e+ -1|0;if(!(f&e)){break e}j=(x(e)+33|0)-x(g)|0;h=0-j|0;break c}j=f+1|0;h=63-f|0;break c}a=(g>>>0)/(e>>>0)|0;Kl(0,g-u(a,e)|0);T=0;return a}f=x(e)-x(g)|0;if(f>>>0<31){break d}break b}Kl(a&f,0);if((e|0)==1){break a}c=a;a=Tl(e);d=a&31;if(32<=(a&63)>>>0){f=0;a=b>>>d|0}else{f=b>>>d|0;a=((1<>>d}T=f;return a}j=f+1|0;h=63-f|0}e=b;g=a;f=j&63;i=f&31;if(32<=(f&63)>>>0){f=0;l=e>>>i|0}else{f=e>>>i|0;l=((1<>>i}a=h&63;h=a&31;if(32<=(a&63)>>>0){e=g<>>32-h|b<>>0<4294967295){g=g+1|0}h=e;while(1){e=l;f=f<<1|e>>>31;e=e<<1;k=f;f=b>>>31|e;m=k;e=k;k=f;i=g-((h>>>0>>0)+e|0)|0;e=i>>31;i=i>>31;f=c&i;l=k-f|0;f=m-((d&e)+(k>>>0>>0)|0)|0;e=b<<1|a>>>31;a=n|a<<1;b=e|o;e=0;m=e;k=i&1;n=k;j=j+ -1|0;if(j){continue}break}}Kl(l,f);e=b<<1|a>>>31;a=k|a<<1;T=e|m;return a}Kl(a,b);a=0;b=0}T=b;return a}function me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=o[a+8>>2];c=o[d+28>>2]+ -1|0;if(c>>>0>5){return 0}a:{switch(c-1|0){case 2:ne(a,b);return 1;case 1:ne(a,b);return 1;case 4:f=m[d+24|0];h=f<<2;i=yk((f|0)!=(f&1073741823)?-1:h);c=o[a+16>>2];d=0;b:{if(!o[c+80>>2]){break b}d=o[o[c>>2]>>2]+o[c+48>>2]|0}if(b){while(1){c=j;e=0;if((f|0)>0){while(1){o[i+(e<<2)>>2]=o[d+(c<<2)>>2];c=c+1|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}j=j+f|0}ll(o[o[o[a+8>>2]+64>>2]>>2]+k|0,i,h);k=h+k|0;g=g+1|0;if((g|0)!=(b|0)){continue}break}}jl(i);return 1;case 3:f=m[d+24|0];h=f<<2;i=yk((f|0)!=(f&1073741823)?-1:h);c=o[a+16>>2];d=0;c:{if(!o[c+80>>2]){break c}d=o[o[c>>2]>>2]+o[c+48>>2]|0}if(b){while(1){c=j;e=0;if((f|0)>0){while(1){o[i+(e<<2)>>2]=o[d+(c<<2)>>2];c=c+1|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}j=j+f|0}ll(o[o[o[a+8>>2]+64>>2]>>2]+k|0,i,h);k=h+k|0;g=g+1|0;if((g|0)!=(b|0)){continue}break}}jl(i);return 1;default:break a}}g=m[d+24|0];h=yk((g|0)>-1?g:-1);c=o[a+16>>2];d=0;d:{if(!o[c+80>>2]){break d}d=o[o[c>>2]>>2]+o[c+48>>2]|0}if(b){while(1){c=j;e=0;if((g|0)>0){while(1){m[e+h|0]=o[d+(c<<2)>>2];c=c+1|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}j=g+j|0}ll(o[o[o[a+8>>2]+64>>2]>>2]+k|0,h,g);k=g+k|0;i=i+1|0;if((i|0)!=(b|0)){continue}break}}jl(h);return 1}function Zg(a,b){var c=0,d=0,e=0,f=0,g=0;a:{e=o[a+8>>2];c=o[a+4>>2];if((e-c|0)/144>>>0>=b>>>0){while(1){o[c>>2]=-1;Vi(c+4|0);o[c+104>>2]=0;o[c+108>>2]=0;m[c+100|0]=1;o[c+112>>2]=0;o[c+116>>2]=0;o[c+120>>2]=0;o[c+124>>2]=0;o[c+128>>2]=0;o[c+132>>2]=0;o[c+136>>2]=0;o[c+140>>2]=0;c=o[a+4>>2]+144|0;o[a+4>>2]=c;b=b+ -1|0;if(b){continue}break a}}d=c;c=o[a>>2];f=(d-c|0)/144|0;g=f+b|0;b:{c:{d:{if(g>>>0<29826162){e=(e-c|0)/144|0;c=e<<1;c=e>>>0<14913080?c>>>0>>0?g:c:29826161;d=0;e:{if(!c){break e}if(c>>>0>=29826162){break d}d=yk(u(c,144))}e=d+u(c,144)|0;f=d+u(f,144)|0;c=f;while(1){o[c>>2]=-1;Vi(c+4|0);o[c+104>>2]=0;o[c+108>>2]=0;m[c+100|0]=1;o[c+112>>2]=0;o[c+116>>2]=0;o[c+120>>2]=0;o[c+124>>2]=0;o[c+128>>2]=0;o[c+132>>2]=0;o[c+136>>2]=0;o[c+140>>2]=0;c=c+144|0;b=b+ -1|0;if(b){continue}break}d=d+u(g,144)|0;b=o[a+4>>2];c=o[a>>2];if((b|0)==(c|0)){break c}while(1){b=b+ -144|0;f=Vh(f+ -144|0,b);if((b|0)!=(c|0)){continue}break}c=o[a+4>>2];b=o[a>>2];break b}Nk();D()}db(8832);D()}b=c}o[a+8>>2]=e;o[a+4>>2]=d;o[a>>2]=f;if((b|0)!=(c|0)){while(1){a=o[c+ -12>>2];if(a){o[c+ -8>>2]=a;jl(a)}a=o[c+ -28>>2];if(a){o[c+ -24>>2]=a;jl(a)}a=c+ -144|0;d=o[c+ -40>>2];if(d){o[c+ -36>>2]=d;jl(d)}Yg(c+ -140|0);c=a;if((b|0)!=(c|0)){continue}break}}if(!b){break a}jl(b)}}function _f(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=R-32|0;R=e;f=a+16|0;d=o[f>>2];a:{b:{if(!d){break b}h=o[b>>2];c=f;while(1){g=o[d+16>>2]<(h|0);c=g?c:d;d=o[(g<<2)+d>>2];if(d){continue}break}if((c|0)==(f|0)){break b}if((h|0)>=o[c+16>>2]){break a}}j=yi(e+16|0);b=o[b>>2];i=e+8|0;o[i>>2]=0;o[i+4>>2]=0;o[e>>2]=b;o[e+4>>2]=i;c=o[j>>2];h=j+4|0;if((c|0)!=(h|0)){g=e|4;while(1){b=c;d=c+16|0;$f(g,i,d,d);d=o[c+4>>2];c:{if(!d){c=o[b+8>>2];if((b|0)==o[c>>2]){break c}d=b+8|0;while(1){b=o[d>>2];d=b+8|0;c=o[b+8>>2];if((b|0)!=o[c>>2]){continue}break}break c}while(1){c=d;d=o[c>>2];if(d){continue}break}}if((c|0)!=(h|0)){continue}break}}d=o[a+16>>2];d:{if(d){f=a+16|0;g=o[e>>2];while(1){b=o[d+16>>2];e:{if((g|0)<(b|0)){c=o[d>>2];if(c){break e}f=d;break d}if((b|0)>=(g|0)){break d}f=d+4|0;c=o[d+4>>2];if(!c){break d}d=f}f=d;d=c;continue}}d=f}c=o[f>>2];if(!c){c=yk(32);o[c+16>>2]=o[e>>2];o[c+20>>2]=o[e+4>>2];g=o[e+8>>2];o[c+24>>2]=g;b=o[e+12>>2];o[c+28>>2]=b;h=c+24|0;f:{if(!b){o[c+20>>2]=h;break f}o[g+8>>2]=h;o[e+8>>2]=0;o[e+12>>2]=0;o[e+4>>2]=i}o[c+8>>2]=d;o[c>>2]=0;o[c+4>>2]=0;o[f>>2]=c;d=o[o[a+12>>2]>>2];b=c;g:{if(!d){break g}o[a+12>>2]=d;b=o[f>>2]}ag(o[a+16>>2],b);a=a+20|0;o[a>>2]=o[a>>2]+1}Fc(e|4,o[e+8>>2]);Fc(j,o[j+4>>2])}R=e+32|0;return c+20|0}function Vf(a,b){var c=0,d=0,e=0;e=R-32|0;R=e;a:{if(b>>>0<=1){if(b-1){b=yk(48);zg(b);o[b>>2]=9880;o[a+8>>2]=0;o[a+12>>2]=0;o[a>>2]=0;o[a+4>>2]=0;o[a+16>>2]=b;break a}b=yk(52);zg(b);o[b+48>>2]=0;o[b>>2]=8120;o[a+8>>2]=0;o[a+12>>2]=0;o[a>>2]=0;o[a+4>>2]=0;o[a+16>>2]=b;break a}b=yk(32);o[e>>2]=b;o[e+4>>2]=28;o[e+8>>2]=-2147483616;m[b+28|0]=0;c=p[7868]|p[7869]<<8|(p[7870]<<16|p[7871]<<24);m[b+24|0]=c;m[b+25|0]=c>>>8;m[b+26|0]=c>>>16;m[b+27|0]=c>>>24;c=p[7864]|p[7865]<<8|(p[7866]<<16|p[7867]<<24);d=p[7860]|p[7861]<<8|(p[7862]<<16|p[7863]<<24);m[b+16|0]=d;m[b+17|0]=d>>>8;m[b+18|0]=d>>>16;m[b+19|0]=d>>>24;m[b+20|0]=c;m[b+21|0]=c>>>8;m[b+22|0]=c>>>16;m[b+23|0]=c>>>24;c=p[7856]|p[7857]<<8|(p[7858]<<16|p[7859]<<24);d=p[7852]|p[7853]<<8|(p[7854]<<16|p[7855]<<24);m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=p[7848]|p[7849]<<8|(p[7850]<<16|p[7851]<<24);d=p[7844]|p[7845]<<8|(p[7846]<<16|p[7847]<<24);m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;o[e+16>>2]=-1;b=Bk(e+16|4,e);o[a>>2]=o[e+16>>2];Bk(a+4|0,b);o[a+16>>2]=0;if(m[b+11|0]<=-1){jl(o[b>>2])}if(m[e+11|0]>-1){break a}jl(o[e>>2])}R=e+32|0}function cj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=R-32|0;R=d;o[d+24>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;a:{e=o[a>>2];c=e;g=o[c+16>>2];h=r[c+8>>2]>g>>>0?0:1;f=o[c+12>>2];c=o[c+20>>2];b:{if((f|0)<(c|0)?1:(f|0)<=(c|0)?h:0){break b}h=p[g+o[e>>2]|0];f=c;c=g+1|0;if(c>>>0<1){f=f+1|0}o[e+16>>2]=c;o[e+20>>2]=f;Gk(d+16|0,h);if(h){f=o[a>>2];j=Kk(d+16|0);l=o[f+12>>2];g=o[f+20>>2];k=o[f+16>>2];e=h;c=k+e|0;if(c>>>0>>0){g=g+1|0}if((l|0)<(g|0)?1:(l|0)<=(g|0)?r[f+8>>2]>=c>>>0?0:1:0){break b}ll(j,k+o[f>>2]|0,h);c=f;f=c;g=o[c+20>>2];h=e+o[c+16>>2]|0;if(h>>>0>>0){g=g+1|0}o[f+16>>2]=h;o[c+20>>2]=g}o[d+12>>2]=0;c=bj(1,d+12|0,o[a>>2]);e=o[d+12>>2];if(!e|!c){break b}o[d+8>>2]=0;o[d>>2]=0;o[d+4>>2]=0;if((e|0)<=-1){break a}i=yk(e);o[d>>2]=i;o[d+4>>2]=i;o[d+8>>2]=e+i;c=e;while(1){m[i|0]=0;i=o[d+4>>2]+1|0;o[d+4>>2]=i;c=c+ -1|0;if(c){continue}break}i=0;c=o[a>>2];a=o[c+8>>2];k=o[c+12>>2];f=a;j=o[c+20>>2];g=o[c+16>>2];a=e;h=g+e|0;if(h>>>0>>0){j=j+1|0}if((k|0)>(j|0)?1:(k|0)>=(j|0)?f>>>0>>0?0:1:0){ll(o[d>>2],g+o[c>>2]|0,e);e=c;h=c;f=o[c+20>>2];c=a+o[c+16>>2]|0;if(c>>>0>>0){f=f+1|0}o[h+16>>2]=c;o[e+20>>2]=f;nj(b,d+16|0,d);i=1}a=o[d>>2];if(!a){break b}o[d+4>>2]=a;jl(a)}if(m[d+27|0]<=-1){jl(o[d+16>>2])}R=d+32|0;return i}Nk();D()}function eg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=R+ -64|0;R=e;o[e+56>>2]=0;o[e+48>>2]=0;o[e+52>>2]=0;o[e+40>>2]=0;o[e+44>>2]=0;o[e+32>>2]=0;o[e+36>>2]=0;o[e+24>>2]=0;o[e+28>>2]=0;o[e+16>>2]=0;o[e+20>>2]=0;o[e+8>>2]=0;o[e+12>>2]=0;a:{if(!gg(e+8|0,c)){break a}if(!hg(e+8|0,c)){break a}b:{if(!a){ui(c,0,0);break b}if(!o[e+20>>2]){break a}ui(c,0,0);g=o[e+56>>2];s=o[e+36>>2];t=o[e+48>>2];v=o[e+24>>2];while(1){c:{if(g>>>0>16383){break c}f=o[e+52>>2];while(1){if((f|0)<1){break c}f=f+ -1|0;o[e+52>>2]=f;g=p[f+t|0]|g<<8;o[e+56>>2]=g;if(g>>>0<16384){continue}break}}h=g&4095;m=o[(h<<2)+v>>2];i=(m<<3)+s|0;g=(u(o[i>>2],g>>>12|0)+h|0)-o[i+4>>2]|0;o[e+56>>2]=g;if((b|0)>=1){j=0;i=q;if(!p[c+36|0]){break a}while(1){n=0;if((m|0)>=1){h=o[c+32>>2];w=o[c+28>>2];x=o[c+24>>2];f=0;while(1){k=(h>>>3|0)+x|0;d:{if(k>>>0>=w>>>0){l=0;break d}l=p[k|0];k=h+1|0;o[c+32>>2]=k;l=l>>>(h&7)&1;h=k}n=l<>2]=n;i=i+1|0;j=j+1|0;if((j|0)!=(b|0)){continue}break}q=b+q|0}r=b+r|0;if(r>>>0>>0){continue}break}}wi(c);j=1}a=o[e+36>>2];if(a){o[e+40>>2]=a;jl(a)}a=o[e+24>>2];if(a){o[e+28>>2]=a;jl(a)}a=o[e+8>>2];if(a){o[e+12>>2]=a;jl(a)}R=e- -64|0;return j}function Ca(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=R-16|0;R=e;o[a+68>>2]=o[a+68>>2]+1;d=u(b,12)+a|0;d=o[d+12>>2]-o[d+8>>2]|0;if((d|0)>=1){d=d>>2;j=(d|0)>1?d:1;d=o[((b<<2)+a|0)+44>>2];while(1){b=d;g=(b>>>0)/3|0;f=(b|0)==-1;d=f?-1:g;h=o[a+56>>2]+(d>>>3&536870908)|0;o[h>>2]=o[h>>2]|1<<(d&31);o[a+72>>2]=o[a+72>>2]+1;a:{b:{if(!i){o[e+12>>2]=(b|0)<0?-1:o[(o[o[a>>2]+96>>2]+u(g,12)|0)+((b>>>0)%3<<2)>>2];o[e+8>>2]=c;Ba(e+8|0,e+12|0);c:{if(!f){d=-1;g=e;f=b+1|0;f=(f>>>0)%3|0?f:b+ -2|0;if((f|0)>=0){h=(f>>>0)/3|0;f=o[(o[o[a>>2]+96>>2]+u(h,12)|0)+(f-u(h,3)<<2)>>2]}else{f=-1}o[g+12>>2]=f;o[e+8>>2]=c;Ba(e+8|0,e+12|0);g=((b>>>0)%3|0?-1:2)+b|0;if((g|0)<0){break c}d=(g>>>0)/3|0;d=o[(o[o[a>>2]+96>>2]+u(d,12)|0)+(g-u(d,3)<<2)>>2];break c}d=-1;o[e+12>>2]=-1;o[e+8>>2]=c;Ba(e+8|0,e+12|0)}o[a+76>>2]=d;o[e+12>>2]=d;o[e+8>>2]=c;Ba(e+8|0,e+12|0);break b}f=(b|0)<0?-1:o[(o[o[a>>2]+96>>2]+u(g,12)|0)+((b>>>0)%3<<2)>>2];o[a+76>>2]=f;o[e+12>>2]=f;o[e+8>>2]=c;Ba(e+8|0,e+12|0);if(i&1){d=-1;if((b|0)==-1){break a}if(b-u(g,3)){b=b+ -1|0;break b}b=b+2|0;break b}d=-1;if((b|0)==-1){break a}d=b+1|0;b=(d>>>0)%3|0?d:b+ -2|0}d=-1;if((b|0)==-1){break a}d=o[o[o[a+4>>2]+12>>2]+(b<<2)>>2]}i=i+1|0;if((j|0)!=(i|0)){continue}break}}R=e+16|0}function Zj(a,b,c,d){var e=0,h=0,i=0,j=0,k=0,l=0,m=0;i=R-32|0;R=i;e=d&2147483647;k=e;e=e+ -1006698496|0;j=c;h=c;if(c>>>0<0){e=e+1|0}l=h;h=e;e=k+ -1140785152|0;m=j;if(j>>>0<0){e=e+1|0}a:{if((e|0)==(h|0)&l>>>0>>0|h>>>0>>0){e=d<<4|c>>>28;c=c<<4|b>>>28;b=b&268435455;j=b;if((b|0)==134217728&a>>>0>=1|b>>>0>134217728){e=e+1073741824|0;a=c+1|0;if(a>>>0<1){e=e+1|0}h=a;break a}h=c;e=e-((c>>>0<0)+ -1073741824|0)|0;if(a|j^134217728){break a}a=h+(h&1)|0;if(a>>>0>>0){e=e+1|0}h=a;break a}if(!(!j&(k|0)==2147418112?!(a|b):(k|0)==2147418112&j>>>0<0|k>>>0<2147418112)){e=d<<4|c>>>28;h=c<<4|b>>>28;e=e&524287|2146959360;break a}h=0;e=2146435072;if((k|0)==1140785151&j>>>0>4294967295|k>>>0>1140785151){break a}e=0;j=k>>>16|0;if(j>>>0<15249){break a}e=d&65535|65536;Xj(i+16|0,a,b,c,e,j+ -15233|0);Yj(i,a,b,c,e,15361-j|0);c=o[i+4>>2];a=o[i+8>>2];e=o[i+12>>2]<<4|a>>>28;h=a<<4|c>>>28;a=c&268435455;c=a;b=o[i>>2]|((o[i+16>>2]|o[i+24>>2])!=0|(o[i+20>>2]|o[i+28>>2])!=0);if((a|0)==134217728&b>>>0>=1|a>>>0>134217728){a=h+1|0;if(a>>>0<1){e=e+1|0}h=a;break a}if(b|c^134217728){break a}a=h+(h&1)|0;if(a>>>0>>0){e=e+1|0}h=a}R=i+32|0;f(0,h|0);f(1,d&-2147483648|e);return+g()}function fh(a,b,c,d){var e=0,f=0,g=0,h=0,i=v(0),j=0,k=v(0),l=0,n=0;f=o[c>>2];l=a;a:{b:{e=o[b+4>>2];if(!e){break b}h=o[b>>2];j=Rl(e);g=f&e+ -1;c:{if(j>>>0<=1){break c}c=f;g=c;if(c>>>0>>0){break c}g=(f>>>0)%(e>>>0)|0}c=g;g=c;c=o[(c<<2)+h>>2];if(!c){break b}n=e+ -1|0;j=j>>>0>1;while(1){c=o[c>>2];if(!c){break b}h=o[c+4>>2];if((f|0)!=(h|0)){d:{if(!j){h=h&n;break d}if(h>>>0>>0){break d}h=(h>>>0)%(e>>>0)|0}if((h|0)!=(g|0)){break b}}if((f|0)!=o[c+8>>2]){continue}break}b=0;break a}c=yk(16);d=o[o[d>>2]>>2];o[c+12>>2]=0;o[c+8>>2]=d;o[c+4>>2]=f;o[c>>2]=0;i=s[b+16>>2];k=v(o[b+12>>2]+1>>>0);e:{if(v(i*v(e>>>0))>>0<3|e<<1;d=b;i=v(B(v(k/i)));f:{if(i=v(0)){g=~~i>>>0;break f}g=0}Wh(d,e>>>0>>0?g:e);e=o[b+4>>2];if(!(e&e+ -1)){g=f&e+ -1;break e}if(f>>>0>>0){g=f;break e}g=(f>>>0)%(e>>>0)|0}f=o[b>>2]+(g<<2)|0;d=o[f>>2];g:{h:{if(!d){o[c>>2]=o[b+8>>2];o[b+8>>2]=c;o[f>>2]=b+8;d=o[c>>2];if(!d){break g}d=o[d+4>>2];f=e+ -1|0;i:{if(!(f&e)){d=d&f;break i}if(d>>>0>>0){break i}d=(d>>>0)%(e>>>0)|0}d=o[b>>2]+(d<<2)|0;break h}o[c>>2]=o[d>>2]}o[d>>2]=c}o[b+12>>2]=o[b+12>>2]+1;b=1}m[l+4|0]=b;o[a>>2]=c}function ki(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b=o[a+32>>2];e=o[b+16>>2];g=o[b+12>>2];d=o[b+20>>2];b:{if((g|0)<(d|0)?1:(g|0)<=(d|0)?r[b+8>>2]>e>>>0?0:1:0){break b}h=p[e+o[b>>2]|0];i=e+1|0;if(i>>>0<1){d=d+1|0}o[b+16>>2]=i;o[b+20>>2]=d;c:{if(!h){break c}while(1){if(l[o[o[a>>2]+16>>2]](a,c)){c=c+1|0;if((h|0)!=(c|0)){continue}break c}break}return 0}c=o[a+8>>2];d=o[a+12>>2];if((c|0)!=(d|0)){while(1){b=o[c>>2];if(!l[o[o[b>>2]+8>>2]](b,a,o[a+4>>2])){break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}if(h){c=0;while(1){b=o[o[a+8>>2]+(c<<2)>>2];if(!l[o[o[b>>2]+12>>2]](b,o[a+32>>2])){break a}c=c+1|0;if((h|0)!=(c|0)){continue}break}g=a+20|0;while(1){c=0;i=j<<2;b=o[i+o[a+8>>2]>>2];d=l[o[o[b>>2]+24>>2]](b)|0;if((d|0)>0){while(1){b=o[o[a+8>>2]+i>>2];b=l[o[o[b>>2]+20>>2]](b,c)|0;k=o[a+20>>2];e=o[a+24>>2]-k>>2;d:{if(b>>>0>>0){break d}f=b+1|0;if(f>>>0>e>>>0){Ia(g,f-e|0);k=o[g>>2];break d}if(f>>>0>=e>>>0){break d}o[a+24>>2]=(f<<2)+k}o[(b<<2)+k>>2]=j;c=c+1|0;if((d|0)!=(c|0)){continue}break}}j=j+1|0;if((j|0)!=(h|0)){continue}break}}f=0;if(!l[o[o[a>>2]+28>>2]](a)){break b}f=l[o[o[a>>2]+32>>2]](a)|0}return f|0}return 0}function Ma(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=R-16|0;R=e;i=o[a+80>>2];g=m[b+24|0];f=u(i,g);a:{a=o[b+28>>2];b:{if(!(!p[b+84|0]|((a|0)!=2?(a|0)!=1:0))){h=o[b+48>>2];b=o[o[b>>2]>>2];o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;a=0;if(f){if((f|0)<=-1){break a}a=yk(f);o[e>>2]=a;d=a+f|0;o[e+8>>2]=d;ll(a,b+h|0,f);o[e+4>>2]=d}b=o[c>>2];if(b){o[c+4>>2]=b;jl(b);o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0}o[c+8>>2]=d;o[c+4>>2]=d;o[c>>2]=a;d=1;break b}o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;if(g){if((g|0)<=-1){break a}d=yk(g);o[e>>2]=d;o[e+4>>2]=d;o[e+8>>2]=d+g;a=g;while(1){m[d|0]=0;d=o[e+4>>2]+1|0;o[e+4>>2]=d;a=a+ -1|0;if(a){continue}break}}a=o[c>>2];h=o[c+4>>2]-a|0;c:{if(f>>>0>h>>>0){Ka(c,f-h|0);break c}if(f>>>0>=h>>>0){break c}o[c+4>>2]=a+f}d:{if(i){k=(g|0)<1;f=0;while(1){a=f;h=b;if(!p[b+84|0]){a=o[o[b+68>>2]+(f<<2)>>2]}l=a;a=o[e>>2];d=0;if(!Na(h,l,m[b+24|0],a)){break d}if(!k){m[o[c>>2]+j|0]=p[a|0];d=1;a=j;if((g|0)!=1){while(1){a=a+1|0;m[a+o[c>>2]|0]=p[o[e>>2]+d|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}}j=g+j|0}f=f+1|0;if((i|0)!=(f|0)){continue}break}}a=o[e>>2];d=1}if(!a){break b}o[e+4>>2]=a;jl(a)}R=e+16|0;return d}Nk();D()}function Ja(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=R-16|0;R=e;i=o[a+80>>2];g=m[b+24|0];f=u(i,g);a:{a=o[b+28>>2];b:{if(!(!p[b+84|0]|((a|0)!=2?(a|0)!=1:0))){h=o[b+48>>2];b=o[o[b>>2]>>2];o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;a=0;if(f){if((f|0)<=-1){break a}a=yk(f);o[e>>2]=a;d=a+f|0;o[e+8>>2]=d;ll(a,b+h|0,f);o[e+4>>2]=d}b=o[c>>2];if(b){o[c+4>>2]=b;jl(b);o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0}o[c+8>>2]=d;o[c+4>>2]=d;o[c>>2]=a;d=1;break b}o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;if(g){if((g|0)<=-1){break a}d=yk(g);o[e>>2]=d;o[e+4>>2]=d;o[e+8>>2]=d+g;a=g;while(1){m[d|0]=0;d=o[e+4>>2]+1|0;o[e+4>>2]=d;a=a+ -1|0;if(a){continue}break}}a=o[c>>2];h=o[c+4>>2]-a|0;c:{if(f>>>0>h>>>0){Ka(c,f-h|0);break c}if(f>>>0>=h>>>0){break c}o[c+4>>2]=a+f}d:{if(i){k=(g|0)<1;f=0;while(1){a=f;h=b;if(!p[b+84|0]){a=o[o[b+68>>2]+(f<<2)>>2]}l=a;a=o[e>>2];d=0;if(!La(h,l,m[b+24|0],a)){break d}if(!k){m[o[c>>2]+j|0]=p[a|0];d=1;a=j;if((g|0)!=1){while(1){a=a+1|0;m[a+o[c>>2]|0]=p[o[e>>2]+d|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}}j=g+j|0}f=f+1|0;if((i|0)!=(f|0)){continue}break}}a=o[e>>2];d=1}if(!a){break b}o[e+4>>2]=a;jl(a)}R=e+16|0;return d}Nk();D()}function Va(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=R-16|0;R=e;k=o[a+80>>2];h=m[b+24|0];i=u(k,h);a:{a=o[b+28>>2];b:{if(!(!p[b+84|0]|((a|0)!=6?(a|0)!=5:0))){j=o[b+48>>2];b=o[o[b>>2]>>2];o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;a=0;f=i<<2;c:{if(!f){break c}a=f>>2;if(a>>>0>=1073741824){break a}d=yk(f);o[e>>2]=d;o[e+4>>2]=d;g=(a<<2)+d|0;o[e+8>>2]=g;if((f|0)<1){a=d;break c}a=ll(d,b+j|0,f);d=a+f|0;o[e+4>>2]=d}b=o[c>>2];if(b){o[c+4>>2]=b;jl(b);o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0}o[c+8>>2]=g;o[c+4>>2]=d;o[c>>2]=a;a=1;break b}o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;if(h){if((h|0)<=-1){break a}d=h<<2;g=yk(d);o[e>>2]=g;a=d+g|0;o[e+8>>2]=a;ml(g,0,d);o[e+4>>2]=a}a=o[c>>2];d=o[c+4>>2]-a>>2;d:{if(i>>>0>d>>>0){Ia(c,i-d|0);break d}if(i>>>0>=d>>>0){break d}o[c+4>>2]=a+(i<<2)}e:{if(!k){a=1;break e}l=(h|0)<1;while(1){a=f;d=b;if(!p[d+84|0]){a=o[o[b+68>>2]+(f<<2)>>2]}if(!Wa(d,a,m[b+24|0],g)){a=0;break e}if(!l){i=o[c>>2];a=0;d=j;while(1){o[i+(d<<2)>>2]=o[(a<<2)+g>>2];d=d+1|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}j=h+j|0}a=1;f=f+1|0;if((k|0)!=(f|0)){continue}break}}if(!g){break b}o[e+4>>2]=g;jl(g)}R=e+16|0;return a}Nk();D()}function Ta(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=R-16|0;R=e;k=o[a+80>>2];h=m[b+24|0];i=u(k,h);a:{a=o[b+28>>2];b:{if(!(!p[b+84|0]|((a|0)!=6?(a|0)!=5:0))){j=o[b+48>>2];b=o[o[b>>2]>>2];o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;a=0;f=i<<2;c:{if(!f){break c}a=f>>2;if(a>>>0>=1073741824){break a}d=yk(f);o[e>>2]=d;o[e+4>>2]=d;g=(a<<2)+d|0;o[e+8>>2]=g;if((f|0)<1){a=d;break c}a=ll(d,b+j|0,f);d=a+f|0;o[e+4>>2]=d}b=o[c>>2];if(b){o[c+4>>2]=b;jl(b);o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0}o[c+8>>2]=g;o[c+4>>2]=d;o[c>>2]=a;a=1;break b}o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;if(h){if((h|0)<=-1){break a}d=h<<2;g=yk(d);o[e>>2]=g;a=d+g|0;o[e+8>>2]=a;ml(g,0,d);o[e+4>>2]=a}a=o[c>>2];d=o[c+4>>2]-a>>2;d:{if(i>>>0>d>>>0){Ia(c,i-d|0);break d}if(i>>>0>=d>>>0){break d}o[c+4>>2]=a+(i<<2)}e:{if(!k){a=1;break e}l=(h|0)<1;while(1){a=f;d=b;if(!p[d+84|0]){a=o[o[b+68>>2]+(f<<2)>>2]}if(!Ua(d,a,m[b+24|0],g)){a=0;break e}if(!l){i=o[c>>2];a=0;d=j;while(1){o[i+(d<<2)>>2]=o[(a<<2)+g>>2];d=d+1|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}j=h+j|0}a=1;f=f+1|0;if((k|0)!=(f|0)){continue}break}}if(!g){break b}o[e+4>>2]=g;jl(g)}R=e+16|0;return a}Nk();D()}function ll(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){O(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){m[c|0]=p[b|0];b=b+1|0;c=c+1|0;if(c>>>0>=e>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(c>>>0>f>>>0){break c}while(1){o[c>>2]=o[b>>2];o[c+4>>2]=o[b+4>>2];o[c+8>>2]=o[b+8>>2];o[c+12>>2]=o[b+12>>2];o[c+16>>2]=o[b+16>>2];o[c+20>>2]=o[b+20>>2];o[c+24>>2]=o[b+24>>2];o[c+28>>2]=o[b+28>>2];o[c+32>>2]=o[b+32>>2];o[c+36>>2]=o[b+36>>2];o[c+40>>2]=o[b+40>>2];o[c+44>>2]=o[b+44>>2];o[c+48>>2]=o[b+48>>2];o[c+52>>2]=o[b+52>>2];o[c+56>>2]=o[b+56>>2];o[c+60>>2]=o[b+60>>2];b=b- -64|0;c=c- -64|0;if(c>>>0<=f>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){o[c>>2]=o[b>>2];b=b+4|0;c=c+4|0;if(c>>>0>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e+ -4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){m[c|0]=p[b|0];m[c+1|0]=p[b+1|0];m[c+2|0]=p[b+2|0];m[c+3|0]=p[b+3|0];b=b+4|0;c=c+4|0;if(c>>>0<=d>>>0){continue}break}}if(c>>>0>>0){while(1){m[c|0]=p[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=R-32|0;R=i;a:{b:{while(1){if(!Ge(1,i+28|0,b)){break b}c=o[i+28>>2];if(c){f=(u(d,12)+a|0)+60|0;He(f,c);h=Rf(i+8|0);if(!Sf(h,b)){break b}g=0;while(1){j=1<<(g&31);k=Uf(h);e=o[f>>2]+(g>>>3&536870908)|0;l=e;if(k){e=o[e>>2]|j}else{e=o[e>>2]&(j^-1)}o[l>>2]=e;g=g+1|0;if((c|0)!=(g|0)){continue}break}}d=d+1|0;if((d|0)!=4){continue}break}g=0;d=o[b+12>>2];j=d;c=o[b+20>>2];e=c;h=o[b+16>>2];f=h+4|0;if(f>>>0<4){c=c+1|0}l=o[b+8>>2];k=f;f=c;if((d|0)<(c|0)?1:(d|0)<=(c|0)?l>>>0>=k>>>0?0:1:0){break a}m=o[b>>2];c=m+h|0;d=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=k;o[b+20>>2]=f;c=e;e=h+8|0;if(e>>>0<8){c=c+1|0}f=e;e=c;if((j|0)<(c|0)?1:(j|0)<=(c|0)?l>>>0>=f>>>0?0:1:0){break a}c=k+m|0;c=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=f;o[b+20>>2]=e;if((d|0)>(c|0)){break a}o[a+16>>2]=c;o[a+12>>2]=d;b=d;d=(c>>31)-((c>>>0>>0)+(b>>31)|0)|0;b=c-b|0;if(!d&b>>>0>2147483646|d>>>0>0){break a}g=1;b=b+1|0;o[a+20>>2]=b;c=(b|0)/2|0;o[a+24>>2]=c;o[a+28>>2]=0-c;if(b&1){break a}o[a+24>>2]=c+ -1;break a}g=0}R=i+32|0;return g|0}function oh(a){a=a|0;var b=0,c=0,d=0,e=0;o[a>>2]=8228;b=a+368|0;d=o[b>>2];o[b>>2]=0;if(d){c=d+ -4|0;b=o[c>>2];if(b){b=d+(b<<4)|0;while(1){b=b+ -16|0;if((d|0)!=(b|0)){continue}break}}jl(c)}d=o[a+216>>2];if(d){b=o[a+220>>2];c=d;a:{if((d|0)==(b|0)){break a}while(1){c=o[b+ -12>>2];if(c){o[b+ -8>>2]=c;jl(c)}c=o[b+ -28>>2];if(c){o[b+ -24>>2]=c;jl(c)}c=b+ -144|0;e=o[b+ -40>>2];if(e){o[b+ -36>>2]=e;jl(e)}Yg(b+ -140|0);b=c;if((d|0)!=(b|0)){continue}break}c=o[a+216>>2]}o[a+220>>2]=d;jl(c)}b=o[a+196>>2];if(b){o[a+200>>2]=b;jl(b)}b=o[a+184>>2];if(b){o[a+188>>2]=b;jl(b)}b=o[a+172>>2];if(b){o[a+176>>2]=b;jl(b)}b=o[a+160>>2];if(b){o[a+164>>2]=b;jl(b)}b=o[a+144>>2];if(b){while(1){d=o[b>>2];jl(b);b=d;if(b){continue}break}}b=o[a+136>>2];o[a+136>>2]=0;if(b){jl(b)}b=o[a+120>>2];if(b){jl(b)}b=o[a+108>>2];if(b){jl(b)}b=o[a+96>>2];if(b){jl(b)}b=o[a+72>>2];if(b){o[a+76>>2]=b;jl(b)}b=o[a+60>>2];if(b){jl(b)}b=o[a+48>>2];if(b){o[a+52>>2]=b;jl(b)}b=o[a+36>>2];if(b){o[a+40>>2]=b;jl(b)}b=o[a+24>>2];if(b){o[a+28>>2]=b;jl(b)}b=o[a+12>>2];if(b){o[a+16>>2]=b;jl(b)}b=o[a+8>>2];o[a+8>>2]=0;if(b){za(a+8|0,b)}return a|0}function Ra(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=R-16|0;R=e;k=o[a+80>>2];h=m[b+24|0];a=u(k,h);a:{g=o[b+28>>2];b:{if(!(!p[b+84|0]|((g|0)!=4?(g|0)!=3:0))){i=o[b+48>>2];j=o[o[b>>2]>>2];o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;b=0;a=a<<1;if(a){if((a|0)<=-1){break a}d=yk(a);o[e>>2]=d;f=(a>>1<<1)+d|0;o[e+8>>2]=f;b=ll(d,i+j|0,a)+a|0;o[e+4>>2]=b}a=o[c>>2];if(a){o[c+4>>2]=a;jl(a);o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0}o[c+8>>2]=f;o[c+4>>2]=b;o[c>>2]=d;a=1;break b}o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;if(h){if((h|0)<=-1){break a}d=h<<1;f=yk(d);o[e>>2]=f;g=d+f|0;o[e+8>>2]=g;ml(f,0,d);o[e+4>>2]=g}g=o[c>>2];d=o[c+4>>2]-g>>1;c:{if(a>>>0>d>>>0){Pa(c,a-d|0);break c}if(a>>>0>=d>>>0){break c}o[c+4>>2]=g+(a<<1)}d:{if(!k){a=1;break d}g=(h|0)<1;while(1){a=i;d=b;if(!p[d+84|0]){a=o[o[b+68>>2]+(i<<2)>>2]}if(!Sa(d,a,m[b+24|0],f)){a=0;break d}if(!g){l=o[c>>2];a=0;d=j;while(1){n[l+(d<<1)>>1]=q[(a<<1)+f>>1];d=d+1|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}j=h+j|0}a=1;i=i+1|0;if((k|0)!=(i|0)){continue}break}}if(!f){break b}o[e+4>>2]=f;jl(f)}R=e+16|0;return a}Nk();D()}function Oa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=R-16|0;R=e;k=o[a+80>>2];h=m[b+24|0];a=u(k,h);a:{g=o[b+28>>2];b:{if(!(!p[b+84|0]|((g|0)!=4?(g|0)!=3:0))){i=o[b+48>>2];j=o[o[b>>2]>>2];o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;b=0;a=a<<1;if(a){if((a|0)<=-1){break a}d=yk(a);o[e>>2]=d;f=(a>>1<<1)+d|0;o[e+8>>2]=f;b=ll(d,i+j|0,a)+a|0;o[e+4>>2]=b}a=o[c>>2];if(a){o[c+4>>2]=a;jl(a);o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0}o[c+8>>2]=f;o[c+4>>2]=b;o[c>>2]=d;a=1;break b}o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;if(h){if((h|0)<=-1){break a}d=h<<1;f=yk(d);o[e>>2]=f;g=d+f|0;o[e+8>>2]=g;ml(f,0,d);o[e+4>>2]=g}g=o[c>>2];d=o[c+4>>2]-g>>1;c:{if(a>>>0>d>>>0){Pa(c,a-d|0);break c}if(a>>>0>=d>>>0){break c}o[c+4>>2]=g+(a<<1)}d:{if(!k){a=1;break d}g=(h|0)<1;while(1){a=i;d=b;if(!p[d+84|0]){a=o[o[b+68>>2]+(i<<2)>>2]}if(!Qa(d,a,m[b+24|0],f)){a=0;break d}if(!g){l=o[c>>2];a=0;d=j;while(1){n[l+(d<<1)>>1]=q[(a<<1)+f>>1];d=d+1|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}j=h+j|0}a=1;i=i+1|0;if((k|0)!=(i|0)){continue}break}}if(!f){break b}o[e+4>>2]=f;jl(f)}R=e+16|0;return a}Nk();D()}function hf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;d=0;a:{if((e|0)!=2){break a}o[a+8>>2]=2;o[a- -64>>2]=f;d=a+32|0;e=o[d>>2];f=o[a+36>>2]-e|0;g=f>>2;b:{if(g>>>0<=1){Ia(d,2-g|0);break b}if((f|0)==8){break b}o[a+36>>2]=e+8}d=1;f=o[a+56>>2];e=o[f>>2];f=o[f+4>>2]-e|0;if((f|0)<1){break a}j=a+60|0;d=f>>2;k=(d|0)>1?d:1;while(1){if(!jf(j,o[(i<<2)+e>>2],c,i)){d=0;break a}c:{if(o[a+8>>2]<1){break c}e=0;while(1){d=e<<2;f=o[(d+a|0)+68>>2];h=o[a+16>>2];d:{if((f|0)>(h|0)){g=o[a+32>>2];o[d+g>>2]=h;break d}g=o[a+32>>2];d=d+g|0;h=o[a+12>>2];if((f|0)<(h|0)){o[d>>2]=h;break d}o[d>>2]=f}e=e+1|0;f=o[a+8>>2];if((e|0)<(f|0)){continue}break}d=0;if((f|0)<1){break c}e=i<<3;h=e+c|0;l=b+e|0;while(1){f=d<<2;e=f+h|0;f=o[f+l>>2]+o[f+g>>2]|0;o[e>>2]=f;e:{if((f|0)>o[a+16>>2]){f=f-o[a+20>>2]|0}else{if((f|0)>=o[a+12>>2]){break e}f=f+o[a+20>>2]|0}o[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}d=1;i=i+1|0;if((k|0)==(i|0)){break a}d=o[a+56>>2];e=o[d>>2];if(o[d+4>>2]-e>>2>>>0>i>>>0){continue}break}Ok();D()}return d|0}function Pe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;d=0;a:{if((e|0)!=2){break a}o[a+8>>2]=2;o[a- -64>>2]=f;d=a+32|0;e=o[d>>2];f=o[a+36>>2]-e|0;g=f>>2;b:{if(g>>>0<=1){Ia(d,2-g|0);break b}if((f|0)==8){break b}o[a+36>>2]=e+8}d=1;f=o[a+56>>2];e=o[f>>2];f=o[f+4>>2]-e|0;if((f|0)<1){break a}j=a+60|0;d=f>>2;k=(d|0)>1?d:1;while(1){if(!Qe(j,o[(i<<2)+e>>2],c,i)){d=0;break a}c:{if(o[a+8>>2]<1){break c}e=0;while(1){d=e<<2;f=o[(d+a|0)+68>>2];h=o[a+16>>2];d:{if((f|0)>(h|0)){g=o[a+32>>2];o[d+g>>2]=h;break d}g=o[a+32>>2];d=d+g|0;h=o[a+12>>2];if((f|0)<(h|0)){o[d>>2]=h;break d}o[d>>2]=f}e=e+1|0;f=o[a+8>>2];if((e|0)<(f|0)){continue}break}d=0;if((f|0)<1){break c}e=i<<3;h=e+c|0;l=b+e|0;while(1){f=d<<2;e=f+h|0;f=o[f+l>>2]+o[f+g>>2]|0;o[e>>2]=f;e:{if((f|0)>o[a+16>>2]){f=f-o[a+20>>2]|0}else{if((f|0)>=o[a+12>>2]){break e}f=f+o[a+20>>2]|0}o[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}d=1;i=i+1|0;if((k|0)==(i|0)){break a}d=o[a+56>>2];e=o[d>>2];if(o[d+4>>2]-e>>2>>>0>i>>>0){continue}break}Ok();D()}return d|0}function ag(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);m[b+12|0]=c;a:{if(c){break a}while(1){d=o[b+8>>2];if(p[d+12|0]){break a}b:{c=o[d+8>>2];e=o[c>>2];if((e|0)==(d|0)){e=o[c+4>>2];if(!(!e|p[e+12|0])){break b}c:{if(o[d>>2]==(b|0)){b=d;break c}b=o[d+4>>2];e=o[b>>2];o[d+4>>2]=e;a=b;if(e){o[e+8>>2]=d;c=o[d+8>>2]}o[a+8>>2]=c;a=o[d+8>>2];o[(((d|0)!=o[a>>2])<<2)+a>>2]=b;o[b>>2]=d;o[d+8>>2]=b;c=o[b+8>>2]}m[b+12|0]=1;m[c+12|0]=0;a=o[c>>2];b=o[a+4>>2];o[c>>2]=b;if(b){o[b+8>>2]=c}o[a+8>>2]=o[c+8>>2];b=o[c+8>>2];o[((o[b>>2]!=(c|0))<<2)+b>>2]=a;o[a+4>>2]=c;o[c+8>>2]=a;return}if(!(p[e+12|0]|!e)){break b}d:{if(o[d>>2]!=(b|0)){b=d;break d}e=o[b+4>>2];o[d>>2]=e;a=b;if(e){o[e+8>>2]=d;c=o[d+8>>2]}o[a+8>>2]=c;a=o[d+8>>2];o[(((d|0)!=o[a>>2])<<2)+a>>2]=b;o[b+4>>2]=d;o[d+8>>2]=b;c=o[b+8>>2]}m[b+12|0]=1;m[c+12|0]=0;a=o[c+4>>2];b=o[a>>2];o[c+4>>2]=b;if(b){o[b+8>>2]=c}o[a+8>>2]=o[c+8>>2];b=o[c+8>>2];o[((o[b>>2]!=(c|0))<<2)+b>>2]=a;o[a>>2]=c;o[c+8>>2]=a;break a}b=e+12|0;m[d+12|0]=1;m[c+12|0]=(a|0)==(c|0);m[b|0]=1;b=c;if((a|0)!=(b|0)){continue}break}}}function wf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;j=o[o[o[b+4>>2]+8>>2]+(d<<2)>>2];a:{b:{if((l[o[o[b>>2]+8>>2]](b)|0)!=1|c+ -1>>>0>5){break b}h=l[o[o[b>>2]+36>>2]](b)|0;f=l[o[o[b>>2]+44>>2]](b,d)|0;if(!h|!f){break b}g=f+12|0;i=l[o[o[b>>2]+40>>2]](b,d)|0;d=o[b+44>>2];c:{if(i){if((c|0)!=6){break c}b=yk(104);o[b+4>>2]=j;c=o[e+4>>2];o[b+8>>2]=o[e>>2];o[b+12>>2]=c;c=o[e+12>>2];o[b+16>>2]=o[e+8>>2];o[b+20>>2]=c;o[b+36>>2]=f;o[b+32>>2]=g;o[b+28>>2]=i;o[b+24>>2]=d;o[b+64>>2]=f;o[b+60>>2]=g;o[b+56>>2]=i;o[b+52>>2]=d;o[b+44>>2]=0;o[b+48>>2]=0;o[b>>2]=5700;o[b+72>>2]=-1;o[b+76>>2]=-1;o[b+68>>2]=1;o[b+40>>2]=6264;break a}if((c|0)!=6){break c}b=yk(104);o[b+4>>2]=j;c=o[e+4>>2];o[b+8>>2]=o[e>>2];o[b+12>>2]=c;c=o[e+12>>2];o[b+16>>2]=o[e+8>>2];o[b+20>>2]=c;o[b+36>>2]=f;o[b+32>>2]=g;o[b+28>>2]=h;o[b+24>>2]=d;o[b+64>>2]=f;o[b+60>>2]=g;o[b+56>>2]=h;o[b+52>>2]=d;o[b+44>>2]=0;o[b+48>>2]=0;o[b>>2]=6704;o[b+72>>2]=-1;o[b+76>>2]=-1;o[b+68>>2]=1;o[b+40>>2]=7124;break a}o[a>>2]=0}o[a>>2]=0;return}o[b+80>>2]=-1;o[b+84>>2]=-1;Rf(b+88|0);o[a>>2]=b}function hb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=o[b>>2];e=o[c+4>>2]+(o[c>>2]-f<<3)|0;c=o[b+4>>2];g=e-c|0;a:{if((g|0)<=0){c=o[d+4>>2];break a}b:{if(!c){c=o[d+4>>2];break b}e=o[d+4>>2];j=32-e|0;k=32-c|0;h=(g|0)<(k|0)?g:k;i=j>>>0>>0?j:h;l=o[d>>2];f=o[f>>2]&(-1<>>k-h);o[l>>2]=o[l>>2]&(-1<>>j-i^-1)|(e>>>0>c>>>0?f<>>c-e|0);e=e+i|0;c=e&31;o[d+4>>2]=c;j=l+(e>>>3&536870908)|0;o[d>>2]=j;e=h-i|0;if((e|0)>=1){o[j>>2]=o[j>>2]&(-1>>>32-e^-1)|f>>>i+o[b+4>>2];o[d+4>>2]=e;c=e}g=g-h|0;f=o[b>>2]+4|0;o[b>>2]=f}i=-1<>2];f=o[f>>2];o[e>>2]=j&o[e>>2]|f<>2]=e+4;o[e+4>>2]=i&o[e+4>>2]|f>>>h;f=o[b>>2]+4|0;o[b>>2]=f;k=(g|0)>63;e=g+ -32|0;g=e;if(k){continue}break}}if((e|0)<1){break a}b=o[d>>2];g=(h|0)<(e|0)?h:e;i=o[b>>2]&(i&-1>>>h-g^-1);h=o[f>>2]&-1>>>32-e;o[b>>2]=i|h<>2]=c;f=b+(f>>>3&536870908)|0;o[d>>2]=f;b=e-g|0;if((b|0)<1){break a}o[f>>2]=o[f>>2]&(-1>>>32-b^-1)|h>>>g;o[d+4>>2]=b;c=b}b=o[d>>2];o[a+4>>2]=c;o[a>>2]=b}function Wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,s=0;g=R-16|0;R=g;a:{if(!Bd(a,b)){break a}k=a+36|0;h=l[o[o[a>>2]+24>>2]](a)|0;e=o[a+40>>2];d=o[a+36>>2];c=e-d>>2;b:{if(h>>>0>c>>>0){Xd(k,h-c|0);break b}if(h>>>0>=c>>>0){break b}d=d+(h<<2)|0;if((d|0)!=(e|0)){while(1){e=e+ -4|0;c=o[e>>2];o[e>>2]=0;if(c){l[o[o[c>>2]+4>>2]](c)}if((e|0)!=(d|0)){continue}break}}o[a+40>>2]=d}j=1;if((h|0)<1){break a}j=0;e=0;while(1){f=o[b+16>>2];d=o[b+12>>2];c=o[b+20>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?r[b+8>>2]>f>>>0?0:1:0){break a}i=p[f+o[b>>2]|0];f=f+1|0;if(f>>>0<1){c=c+1|0}d=b;o[d+16>>2]=f;o[d+20>>2]=c;l[o[o[a>>2]+48>>2]](g+8|0,a,i);c=o[a+36>>2];d=o[g+8>>2];o[g+8>>2]=0;f=e<<2;i=c+f|0;c=o[i>>2];o[i>>2]=d;if(c){l[o[o[c>>2]+4>>2]](c)}c=o[g+8>>2];o[g+8>>2]=0;if(c){l[o[o[c>>2]+4>>2]](c)}c=o[o[k>>2]+f>>2];if(!c){break a}if(!(n=c,q=l[o[o[a>>2]+28>>2]](a)|0,s=l[o[o[a>>2]+20>>2]](a,e)|0,m=o[o[c>>2]+8>>2],l[m](n|0,q|0,s|0)|0)){break a}e=e+1|0;if((h|0)!=(e|0)){continue}break}j=1}R=g+16|0;return j|0}function Nf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=m[o[a+8>>2]+24|0];d=b<<2;b=yk((b|0)!=(b&1073741823)?-1:d);c=o[a+28>>2];o[a+28>>2]=b;if(c){jl(c)}c=o[o[a+4>>2]+32>>2];b=o[c+8>>2];i=o[c+12>>2];g=b;f=o[c+20>>2];h=o[c+16>>2];b=d;e=h+b|0;if(e>>>0>>0){f=f+1|0}a:{if((i|0)<(f|0)?1:(i|0)<=(f|0)?g>>>0>=e>>>0?0:1:0){break a}ll(o[a+28>>2],h+o[c>>2]|0,d);d=c;g=c;e=o[c+20>>2];c=b+o[c+16>>2]|0;if(c>>>0>>0){e=e+1|0}o[g+16>>2]=c;o[d+20>>2]=e;e=o[a+4>>2];d=o[e+32>>2];b=o[d+8>>2];f=o[d+12>>2];g=b;h=o[d+20>>2];c=o[d+16>>2];b=c+4|0;if(b>>>0<4){h=h+1|0}if((f|0)<(h|0)?1:(f|0)<=(h|0)?g>>>0>=b>>>0?0:1:0){break a}b=c+o[d>>2]|0;o[a+32>>2]=p[b|0]|p[b+1|0]<<8|(p[b+2|0]<<16|p[b+3|0]<<24);b=d;g=b;c=o[b+20>>2];d=o[b+16>>2]+4|0;if(d>>>0<4){c=c+1|0}o[g+16>>2]=d;o[b+20>>2]=c;b=o[e+32>>2];f=o[b+16>>2];e=o[b+12>>2];d=o[b+20>>2];c=d;if((e|0)<(c|0)?1:(e|0)<=(c|0)?r[b+8>>2]>f>>>0?0:1:0){break a}e=p[f+o[b>>2]|0];c=f+1|0;if(c>>>0<1){d=d+1|0}o[b+16>>2]=c;o[b+20>>2]=d;if(e>>>0>31){break a}o[a+24>>2]=e;j=1}return j|0}function qh(a){a=a|0;var b=0,c=0,d=0,e=0;o[a>>2]=8280;rh(a+232|0);e=o[a+216>>2];if(e){c=e;b=o[a+220>>2];d=c;a:{if((c|0)==(b|0)){break a}while(1){c=o[b+ -12>>2];if(c){o[b+ -8>>2]=c;jl(c)}c=o[b+ -28>>2];if(c){o[b+ -24>>2]=c;jl(c)}c=b+ -144|0;d=o[b+ -40>>2];if(d){o[b+ -36>>2]=d;jl(d)}Yg(b+ -140|0);b=c;if((e|0)!=(b|0)){continue}break}d=o[a+216>>2]}c=d;o[a+220>>2]=e;jl(c)}b=o[a+196>>2];if(b){o[a+200>>2]=b;jl(b)}b=o[a+184>>2];if(b){o[a+188>>2]=b;jl(b)}b=o[a+172>>2];if(b){o[a+176>>2]=b;jl(b)}b=o[a+160>>2];if(b){o[a+164>>2]=b;jl(b)}b=o[a+144>>2];if(b){while(1){c=o[b>>2];jl(b);b=c;if(b){continue}break}}b=o[a+136>>2];o[a+136>>2]=0;if(b){jl(b)}b=o[a+120>>2];if(b){jl(b)}b=o[a+108>>2];if(b){jl(b)}b=o[a+96>>2];if(b){jl(b)}b=o[a+72>>2];if(b){o[a+76>>2]=b;jl(b)}b=o[a+60>>2];if(b){jl(b)}b=o[a+48>>2];if(b){o[a+52>>2]=b;jl(b)}b=o[a+36>>2];if(b){o[a+40>>2]=b;jl(b)}b=o[a+24>>2];if(b){o[a+28>>2]=b;jl(b)}b=o[a+12>>2];if(b){o[a+16>>2]=b;jl(b)}b=o[a+8>>2];o[a+8>>2]=0;if(b){za(a+8|0,b)}return a|0}function He(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=R-32|0;R=d;a:{c=o[a+4>>2];b:{if(c>>>0>>0){g=o[a+8>>2];e=g<<5;f=b-c|0;c:{if(!(e>>>0>>0|c>>>0>e-f>>>0)){o[a+4>>2]=b;b=c&31;a=o[a>>2]+(c>>>3&536870908)|0;break c}o[d+24>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;if((b|0)<=-1){break a}c=d+16|0;if(e>>>0<=1073741822){b=b+31&-32;e=g<<6;b=e>>>0>>0?b:e}else{b=2147483647}fb(c,b);c=o[a+4>>2];o[d+20>>2]=c+f;b=o[d+16>>2];d:{if((c|0)<1){c=0;break d}g=o[a>>2];e=c>>>5<<2;b=nl(b,g,e)+e|0;c=c&31;if(!c){c=0;break d}h=-1>>>32-c|0;o[b>>2]=o[b>>2]&(h^-1)|o[e+g>>2]&h}o[d+12>>2]=c;o[d+8>>2]=b;c=o[d+8>>2];b=o[d+12>>2];e=o[a>>2];o[a>>2]=o[d+16>>2];o[d+16>>2]=e;g=o[a+4>>2];o[a+4>>2]=o[d+20>>2];o[d+20>>2]=g;g=o[a+8>>2];o[a+8>>2]=o[d+24>>2];o[d+24>>2]=g;if(e){jl(e)}a=c}if(!f){break b}if(b){c=32-b|0;e=c>>>0>f>>>0?f:c;o[a>>2]=o[a>>2]&(-1<>>c-e^-1);f=f-e|0;a=a+4|0}b=a;a=f>>>5<<2;b=ml(b,0,a);c=f&31;if(!c){break b}a=a+b|0;o[a>>2]=o[a>>2]&(-1>>>32-c^-1);break b}o[a+4>>2]=b}R=d+32|0;return}Nk();D()}function Sf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0;g=R-16|0;R=g;f=o[b+16>>2];d=o[b+12>>2];c=o[b+20>>2];a:{if((d|0)<(c|0)?1:(d|0)<=(c|0)?r[b+8>>2]>f>>>0?0:1:0){break a}m[a+12|0]=p[f+o[b>>2]|0];d=o[b+20>>2];c=o[b+16>>2]+1|0;if(c>>>0<1){d=d+1|0}o[b+16>>2]=c;o[b+20>>2]=d;if(!Tf(1,g+12|0,b)){break a}d=o[b+8>>2];h=o[b+16>>2];c=h;e=o[g+12>>2];f=e;i=d-c>>>0>=e>>>0?0:1;c=d>>>0>>0;d=o[b+20>>2];c=o[b+12>>2]-(c+d|0)|0;if(((c|0)<0?1:(c|0)<=0?i:0)|(e|0)<1){break a}c=h+o[b>>2]|0;o[a>>2]=c;j=e+ -1|0;k=j+c|0;l=p[k|0]>>>6|0;if((l|0)==3){break a}i=a;b:{c:{switch(l-1|0){default:o[a+4>>2]=j;a=p[k|0]&63;break b;case 0:if((e|0)<2){break a}o[a+4>>2]=e+ -2;a=(c+e|0)+ -2|0;a=p[a+1|0]<<8&16128|p[a|0];break b;case 1:break c}}if((e|0)<3){break a}o[a+4>>2]=e+ -3;a=(c+e|0)+ -3|0;a=p[a+1|0]<<8|p[a+2|0]<<16&4128768|p[a|0]}a=a+4096|0;o[i+8>>2]=a;if(a>>>0>1048575){break a}a=d;d=f+h|0;if(d>>>0>>0){a=a+1|0}o[b+16>>2]=d;o[b+20>>2]=a;n=1}R=g+16|0;return n}function Ch(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=R-16|0;R=f;b=o[a+4>>2];c=o[b>>2];a:{d=o[a+12>>2];e=o[d+28>>2]-o[d+24>>2]|0;d=e>>2;b:{if(o[b+8>>2]-c>>2>>>0>=d>>>0){break b}if(d>>>0>=1073741824){break a}g=o[b+4>>2];h=d<<2;d=yk(e);h=h+d|0;e=g-c|0;g=e+d|0;if((e|0)>=1){ll(d,c,e)}o[b+8>>2]=h;o[b+4>>2]=g;o[b>>2]=d;if(!c){break b}jl(c)}b=o[a+12>>2];c=o[b+28>>2];b=o[b+24>>2];o[f+12>>2]=0;b=c-b>>2;d=a+96|0;e=o[d>>2];c=o[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){Dd(d,b-c|0,f+12|0);break c}if(b>>>0>=c>>>0){break c}o[a+100>>2]=e+(b<<2)}e=a+8|0;d:{e:{b=o[a+116>>2];if(b){d=o[b>>2];c=1;if((d|0)==o[b+4>>2]){break d}b=0;while(1){if(!Dh(e,o[(b<<2)+d>>2])){break e}c=o[a+116>>2];d=o[c>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}c=1;break d}b=0;a=o[a+12>>2];a=(o[a+4>>2]-o[a>>2]>>2>>>0)/3|0;c=1;if((a|0)<=0){break d}while(1){if(!Dh(e,u(b,3))){break e}b=b+1|0;if((a|0)!=(b|0)){continue}break}c=1;break d}c=0}R=f+16|0;return c|0}db(8832);D()}function Wi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;h=R-16|0;R=h;a:{b:{if(b){o[a+88>>2]=0;o[a+92>>2]=0;c=a+84|0;d=o[c>>2];o[c>>2]=0;if(d){jl(d)}o[a+76>>2]=0;o[a+80>>2]=0;c=a+72|0;d=o[c>>2];o[c>>2]=0;if(d){jl(d)}d=o[b>>2];c=o[b+4>>2];m[h+15|0]=0;eb(a,c-d>>2,h+15|0);c=b+28|0;d=o[c>>2];e=o[b+24>>2];m[h+14|0]=0;eb(a+12|0,d-e>>2,h+14|0);Ni(a+28|0,o[b+4>>2]-o[b>>2]>>2,10716);d=o[a+52>>2];e=o[c>>2]-o[b+24>>2]|0;c=e>>2;c:{if(o[a+60>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break b}f=o[a+56>>2];g=c<<2;c=yk(e);g=g+c|0;e=f-d|0;f=e+c|0;if((e|0)>=1){ll(c,d,e)}o[a+60>>2]=g;o[a+56>>2]=f;o[a+52>>2]=c;if(!d){break c}jl(d)}d=o[a+40>>2];e=o[b+28>>2]-o[b+24>>2]|0;c=e>>2;d:{if(o[a+48>>2]-d>>2>>>0>=c>>>0){break d}if(c>>>0>=1073741824){break a}f=o[a+44>>2];g=c<<2;c=yk(e);g=g+c|0;e=f-d|0;f=e+c|0;if((e|0)>=1){ll(c,d,e)}o[a+48>>2]=g;o[a+44>>2]=f;o[a+40>>2]=c;if(!d){break d}jl(d)}m[a+24|0]=1;o[a+64>>2]=b}R=h+16|0;return}db(10720);D()}db(10720);D()}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0;l=o[a+12>>2];d=o[a+108>>2];e=o[d+80>>2];m[b+84|0]=0;f=o[b+68>>2];c=o[b+72>>2]-f>>2;a:{if(e>>>0>c>>>0){pd(b+68|0,e-c|0,9140);d=o[a+108>>2];e=o[d+80>>2];break a}if(e>>>0>=c>>>0){break a}o[b+72>>2]=f+(e<<2)}k=o[d+96>>2];c=o[d+100>>2]-k|0;d=(c|0)/12|0;if(!c){return 1}n=d>>>0>1?d:1;d=0;b:{while(1){c:{if((d|0)==1431655765){break c}c=o[l>>2]+(u(d,3)<<2)|0;h=o[c>>2];if((h|0)==-1){break c}f=u(d,12)+k|0;g=o[f>>2];if(g>>>0>=e>>>0){break c}j=o[o[a+112>>2]+12>>2];i=o[j+(h<<2)>>2];if(i>>>0>=e>>>0){break c}h=o[b+68>>2];o[h+(g<<2)>>2]=i;g=o[c+4>>2];if((g|0)==-1){break c}i=o[f+4>>2];if(i>>>0>=e>>>0){break c}g=o[(g<<2)+j>>2];if(g>>>0>=e>>>0){break c}o[h+(i<<2)>>2]=g;c=o[c+8>>2];if((c|0)==-1){break c}f=o[f+8>>2];if(f>>>0>=e>>>0){break c}c=o[(c<<2)+j>>2];if(c>>>0>=e>>>0){break c}o[h+(f<<2)>>2]=c;c=1;d=d+1|0;if((n|0)!=(d|0)){continue}break b}break}c=0}return c|0}function Mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0;l=o[a+12>>2];d=o[a+68>>2];e=o[d+80>>2];m[b+84|0]=0;f=o[b+68>>2];c=o[b+72>>2]-f>>2;a:{if(e>>>0>c>>>0){pd(b+68|0,e-c|0,9140);d=o[a+68>>2];e=o[d+80>>2];break a}if(e>>>0>=c>>>0){break a}o[b+72>>2]=f+(e<<2)}k=o[d+96>>2];c=o[d+100>>2]-k|0;d=(c|0)/12|0;if(!c){return 1}n=d>>>0>1?d:1;d=0;b:{while(1){c:{if((d|0)==1431655765){break c}c=o[l>>2]+(u(d,3)<<2)|0;h=o[c>>2];if((h|0)==-1){break c}f=u(d,12)+k|0;g=o[f>>2];if(g>>>0>=e>>>0){break c}j=o[o[a+72>>2]+12>>2];i=o[j+(h<<2)>>2];if(i>>>0>=e>>>0){break c}h=o[b+68>>2];o[h+(g<<2)>>2]=i;g=o[c+4>>2];if((g|0)==-1){break c}i=o[f+4>>2];if(i>>>0>=e>>>0){break c}g=o[(g<<2)+j>>2];if(g>>>0>=e>>>0){break c}o[h+(i<<2)>>2]=g;c=o[c+8>>2];if((c|0)==-1){break c}f=o[f+8>>2];if(f>>>0>=e>>>0){break c}c=o[(c<<2)+j>>2];if(c>>>0>=e>>>0){break c}o[h+(f<<2)>>2]=c;c=1;d=d+1|0;if((n|0)!=(d|0)){continue}break b}break}c=0}return c|0}function wj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+8|0;d=o[a+12>>2];h=o[a+8>>2];e=d-h>>2;a:{if((e|0)>(b|0)){break a}f=b+1|0;if(f>>>0>e>>>0){xj(i,f-e|0);break a}if(f>>>0>=e>>>0){break a}e=h+(f<<2)|0;if((e|0)!=(d|0)){while(1){d=d+ -4|0;f=o[d>>2];o[d>>2]=0;if(f){Kb(f)}if((d|0)!=(e|0)){continue}break}}o[a+12>>2]=e}b:{c:{d=o[o[c>>2]+56>>2];d:{if((d|0)>4){break d}d=u(d,12)+a|0;f=d+24|0;a=o[f>>2];j=d+28|0;g=o[j>>2];if((a|0)!=(g|0)){o[a>>2]=b;o[f>>2]=a+4;break d}k=d+20|0;d=o[k>>2];h=a-d|0;a=h>>2;e=a+1|0;if(e>>>0>=1073741824){break c}l=a<<2;g=g-d|0;a=g>>1;e=g>>2>>>0<536870911?a>>>0>>0?e:a:1073741823;a=0;e:{if(!e){break e}if(e>>>0>=1073741824){break b}a=yk(e<<2)}g=l+a|0;o[g>>2]=b;e=a+(e<<2)|0;g=g+4|0;if((h|0)>=1){ll(a,d,h)}o[k>>2]=a;o[f>>2]=g;o[j>>2]=e;if(!d){break d}jl(d)}d=o[c>>2];o[d+60>>2]=b;a=o[i>>2];o[c>>2]=0;b=a+(b<<2)|0;a=o[b>>2];o[b>>2]=d;if(a){Kb(a)}return}Nk();D()}db(11048);D()}function Sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0;h=o[a+12>>2];d=o[a+68>>2];e=o[d+80>>2];m[b+84|0]=0;g=o[b+68>>2];c=o[b+72>>2]-g>>2;a:{if(e>>>0>c>>>0){pd(b+68|0,e-c|0,9140);d=o[a+68>>2];e=o[d+80>>2];break a}if(e>>>0>=c>>>0){break a}o[b+72>>2]=g+(e<<2)}k=o[d+96>>2];c=o[d+100>>2]-k|0;d=(c|0)/12|0;if(!c){return 1}l=d>>>0>1?d:1;n=o[h+28>>2];d=0;b:{while(1){c:{c=(u(d,3)<<2)+n|0;g=o[c>>2];if((g|0)==-1){break c}h=u(d,12)+k|0;i=o[h>>2];if(i>>>0>=e>>>0){break c}f=g<<2;g=o[o[a+72>>2]+12>>2];f=o[f+g>>2];if(f>>>0>=e>>>0){break c}j=i<<2;i=o[b+68>>2];o[j+i>>2]=f;f=o[c+4>>2];if((f|0)==-1){break c}j=o[h+4>>2];if(j>>>0>=e>>>0){break c}f=o[g+(f<<2)>>2];if(f>>>0>=e>>>0){break c}o[i+(j<<2)>>2]=f;c=o[c+8>>2];if((c|0)==-1){break c}h=o[h+8>>2];if(h>>>0>=e>>>0){break c}c=o[g+(c<<2)>>2];if(c>>>0>=e>>>0){break c}o[i+(h<<2)>>2]=c;c=1;d=d+1|0;if((l|0)!=(d|0)){continue}break b}break}c=0}return c|0}function $e(a){var b=0,c=0,d=0;b=o[a+8>>2];d=o[a>>2];a:{if(p[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b+ -2|0;if((b|0)==-1|o[o[d>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1){break e}b=o[o[o[d+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}o[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b+ -2|0;o[a+8>>2]=b;if((b|0)!=-1){break b}}b=-1;c=o[a+4>>2];f:{if((c|0)==-1){break f}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1|o[o[d>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1){break f}d=o[o[o[d+64>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break f}if((d>>>0)%3){b=d+ -1|0;break f}b=d+2|0}m[a+12|0]=0;o[a+8>>2]=b;return}if((b|0)!=o[a+4>>2]){break a}o[a+8>>2]=-1;return}c=-1;g:{if((b|0)==-1){break g}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)==-1|o[o[d>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1){break g}b=o[o[o[d+64>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break g}if((b>>>0)%3){c=b+ -1|0;break g}c=b+2|0}o[a+8>>2]=c}}function ue(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;o[a+4>>2]=b;o[a>>2]=2732;b=c;e=o[b+8>>2];g=o[b+12>>2];h=o[b+16>>2];i=o[b+20>>2];j=o[b>>2];k=o[b+4>>2];o[a+40>>2]=0;f=a+32|0;o[f>>2]=0;o[f+4>>2]=0;o[a+24>>2]=h;o[a+28>>2]=i;o[a+16>>2]=e;o[a+20>>2]=g;o[a+8>>2]=j;o[a+12>>2]=k;a:{b=o[b+28>>2]-o[b+24>>2]|0;b:{if(!b){break b}e=b>>2;if(e>>>0>=1073741824){break a}b=yk(b);o[a+32>>2]=b;o[a+36>>2]=b;o[a+40>>2]=b+(e<<2);e=o[c+24>>2];c=o[c+28>>2]-e|0;if((c|0)<1){break b}l=a,m=ll(b,e,c)+c|0,o[l+36>>2]=m}o[a>>2]=2676;b=o[d+4>>2];o[a+44>>2]=o[d>>2];o[a+48>>2]=b;b=d+8|0;e=o[b+4>>2];o[a+52>>2]=o[b>>2];o[a+56>>2]=e;c=a- -64|0;o[c>>2]=0;o[c+4>>2]=0;o[a+60>>2]=3900;o[a>>2]=3272;c=o[d+4>>2];o[a+72>>2]=o[d>>2];o[a+76>>2]=c;c=o[b+4>>2];o[a+80>>2]=o[b>>2];o[a+84>>2]=c;o[a+92>>2]=-1;o[a+96>>2]=-1;o[a+88>>2]=1;o[a+60>>2]=3508;o[a+100>>2]=-1;o[a+104>>2]=-1;Rf(a+108|0);return}Nk();D()}function af(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;o[a+4>>2]=b;o[a>>2]=2732;b=c;e=o[b+8>>2];g=o[b+12>>2];h=o[b+16>>2];i=o[b+20>>2];j=o[b>>2];k=o[b+4>>2];o[a+40>>2]=0;f=a+32|0;o[f>>2]=0;o[f+4>>2]=0;o[a+24>>2]=h;o[a+28>>2]=i;o[a+16>>2]=e;o[a+20>>2]=g;o[a+8>>2]=j;o[a+12>>2]=k;a:{b=o[b+28>>2]-o[b+24>>2]|0;b:{if(!b){break b}e=b>>2;if(e>>>0>=1073741824){break a}b=yk(b);o[a+32>>2]=b;o[a+36>>2]=b;o[a+40>>2]=b+(e<<2);e=o[c+24>>2];c=o[c+28>>2]-e|0;if((c|0)<1){break b}l=a,m=ll(b,e,c)+c|0,o[l+36>>2]=m}o[a>>2]=4296;b=o[d+4>>2];o[a+44>>2]=o[d>>2];o[a+48>>2]=b;b=d+8|0;e=o[b+4>>2];o[a+52>>2]=o[b>>2];o[a+56>>2]=e;c=a- -64|0;o[c>>2]=0;o[c+4>>2]=0;o[a+60>>2]=5396;o[a>>2]=4812;c=o[d+4>>2];o[a+72>>2]=o[d>>2];o[a+76>>2]=c;c=o[b+4>>2];o[a+80>>2]=o[b>>2];o[a+84>>2]=c;o[a+92>>2]=-1;o[a+96>>2]=-1;o[a+88>>2]=1;o[a+60>>2]=5032;o[a+100>>2]=-1;o[a+104>>2]=-1;Rf(a+108|0);return}Nk();D()}function Yf(a){var b=0,c=0,d=0,e=0;e=R-16|0;R=e;b=yk(32);o[e>>2]=b;o[e+4>>2]=26;o[e+8>>2]=-2147483616;m[b+26|0]=0;c=p[7897]|p[7898]<<8;m[b+24|0]=c;m[b+25|0]=c>>>8;d=p[7893]|p[7894]<<8|(p[7895]<<16|p[7896]<<24);c=p[7889]|p[7890]<<8|(p[7891]<<16|p[7892]<<24);m[b+16|0]=c;m[b+17|0]=c>>>8;m[b+18|0]=c>>>16;m[b+19|0]=c>>>24;m[b+20|0]=d;m[b+21|0]=d>>>8;m[b+22|0]=d>>>16;m[b+23|0]=d>>>24;d=p[7885]|p[7886]<<8|(p[7887]<<16|p[7888]<<24);c=p[7881]|p[7882]<<8|(p[7883]<<16|p[7884]<<24);m[b+8|0]=c;m[b+9|0]=c>>>8;m[b+10|0]=c>>>16;m[b+11|0]=c>>>24;m[b+12|0]=d;m[b+13|0]=d>>>8;m[b+14|0]=d>>>16;m[b+15|0]=d>>>24;d=p[7877]|p[7878]<<8|(p[7879]<<16|p[7880]<<24);c=p[7873]|p[7874]<<8|(p[7875]<<16|p[7876]<<24);m[b|0]=c;m[b+1|0]=c>>>8;m[b+2|0]=c>>>16;m[b+3|0]=c>>>24;m[b+4|0]=d;m[b+5|0]=d>>>8;m[b+6|0]=d>>>16;m[b+7|0]=d>>>24;o[a>>2]=-1;Bk(a+4|0,e);if(m[e+11|0]<=-1){jl(o[e>>2])}R=e+16|0}function xd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;if(!o[a+64>>2]){d=yk(32);c=oi(d);e=o[a+64>>2];o[a+64>>2]=d;d=a;if(e){c=o[e>>2];if(c){o[e+4>>2]=c;jl(c)}jl(e);c=o[a+64>>2]}td(d,c,0,0)}a:{b:{if(!sd(a,b)){break b}m[a+84|0]=p[b+84|0];o[a+80>>2]=o[b+80>>2];if((a|0)!=(b|0)){yd(a+68|0,o[b+68>>2],o[b+72>>2])}c=o[b+88>>2];if(c){b=yk(40);d=o[c>>2];o[b+16>>2]=0;o[b+8>>2]=0;o[b+12>>2]=0;o[b>>2]=d;d=o[c+12>>2]-o[c+8>>2]|0;c:{if(!d){break c}if((d|0)<=-1){break a}e=yk(d);o[b+8>>2]=e;o[b+12>>2]=e;o[b+16>>2]=d+e;f=o[c+8>>2];d=o[c+12>>2]-f|0;if((d|0)<1){break c}g=b,h=ll(e,f,d)+d|0,o[g+12>>2]=h}d=o[c+36>>2];o[b+32>>2]=o[c+32>>2];o[b+36>>2]=d;d=o[c+28>>2];o[b+24>>2]=o[c+24>>2];o[b+28>>2]=d;c=o[a+88>>2];o[a+88>>2]=b;if(!c){break b}a=o[c+8>>2];if(a){o[c+12>>2]=a;jl(a)}jl(c);return}b=o[a+88>>2];o[a+88>>2]=0;if(!b){break b}a=o[b+8>>2];if(a){o[b+12>>2]=a;jl(a)}jl(b)}return}Nk();D()}function hg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=R-16|0;R=g;a:{if(!sg(1,g+8|0,b)){break a}c=o[b+8>>2];d=o[b+16>>2];h=c-d|0;e=o[g+12>>2];i=o[b+20>>2];f=o[b+12>>2]-(i+(c>>>0>>0)|0)|0;c=o[g+8>>2];if((e|0)==(f|0)&c>>>0>h>>>0|e>>>0>f>>>0){break a}e=e+i|0;f=c+d|0;if(f>>>0>>0){e=e+1|0}o[b+16>>2]=f;o[b+20>>2]=e;if((c|0)<1){break a}d=d+o[b>>2]|0;o[a+40>>2]=d;b=a;b:{c:{d:{e:{f:{f=c+ -1|0;h=d+f|0;switch((p[h|0]>>>6|0)-1|0){case 2:break c;case 1:break d;case 0:break e;default:break f}}o[a+44>>2]=f;a=p[h|0]&63;break b}if((c|0)<2){break a}o[a+44>>2]=c+ -2;a=(c+d|0)+ -2|0;a=p[a+1|0]<<8&16128|p[a|0];break b}if((c|0)<3){break a}o[a+44>>2]=c+ -3;a=(c+d|0)+ -3|0;a=p[a+1|0]<<8|p[a+2|0]<<16&4128768|p[a|0];break b}o[a+44>>2]=c+ -4;a=(c+d|0)+ -4|0;a=p[a+2|0]<<16|p[a+3|0]<<24&1056964608|p[a+1|0]<<8|p[a|0]}a=a+16384|0;o[b+48>>2]=a;j=a>>>0<4194304}R=g+16|0;return j}function Xh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{if(b){if(b>>>0>=1073741824){break a}c=yk(b<<2);d=o[a>>2];o[a>>2]=c;if(d){jl(d)}o[a+4>>2]=b;d=b>>>0>1?b:1;c=0;while(1){o[o[a>>2]+(c<<2)>>2]=0;c=c+1|0;if((d|0)!=(c|0)){continue}break}f=o[a+8>>2];if(!f){break b}d=a+8|0;g=o[f+4>>2];c=Rl(b);c:{if(c>>>0<=1){g=b+ -1&g;break c}if(g>>>0>>0){break c}g=(g>>>0)%(b>>>0)|0}o[o[a>>2]+(g<<2)>>2]=d;d=o[f>>2];if(!d){break b}j=b+ -1|0;k=c>>>0>1;while(1){e=o[d+4>>2];d:{if(!k){e=e&j;break d}if(e>>>0>>0){break d}e=(e>>>0)%(b>>>0)|0}e:{if((e|0)==(g|0)){f=d;break e}c=d;h=e<<2;i=h+o[a>>2]|0;if(!o[i>>2]){o[i>>2]=f;f=d;g=e;break e}while(1){e=c;c=o[c>>2];if(o[d+8>>2]==o[c+8>>2]?c:0){continue}break}o[f>>2]=c;o[e>>2]=o[o[o[a>>2]+h>>2]>>2];o[o[o[a>>2]+h>>2]>>2]=d}d=o[f>>2];if(d){continue}break}break b}b=o[a>>2];o[a>>2]=0;if(b){jl(b)}o[a+4>>2]=0}return}db(8832);D()}function ya(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=R-16|0;R=e;a:{if(!Aa(a,b)){break a}d=1;f=o[b+100>>2];g=o[b+96>>2];if((f|0)==(g|0)){break a}while(1){if(!(o[o[a+56>>2]+(i>>>3&536870908)>>2]>>>(i&31)&1)){d=u(i,3);_i(a,0,d);f=o[a+8>>2];g=o[a+12>>2];_i(a,1,d+1|0);h=o[a+20>>2];j=o[a+24>>2];_i(a,2,d+2|0);h=j-h>>2;f=g-f|0;g=f>>2;d=h>>>0>g>>>0;g=o[a+36>>2]-o[a+32>>2]>>2>>>0>(d?h:g)>>>0?2:d?1:f?0:-1;b:{if(o[a+68>>2]<1){break b}o[e+12>>2]=o[a+76>>2];o[e+8>>2]=c;Ba(e+8|0,e+12|0);f=e;h=o[((g<<2)+a|0)+44>>2];d=-1;c:{if((h|0)<0){break c}d=(h>>>0)/3|0;d=o[(o[o[a>>2]+96>>2]+u(d,12)|0)+(h-u(d,3)<<2)>>2]}o[f+12>>2]=d;o[e+8>>2]=c;Ba(e+8|0,e+12|0);f=o[a+72>>2]+2|0;o[a+72>>2]=f;if(!(f&1)){break b}o[e+12>>2]=d;o[e+8>>2]=c;Ba(e+8|0,e+12|0);o[a+72>>2]=o[a+72>>2]+1}Ca(a,g,c);g=o[b+96>>2];f=o[b+100>>2]}d=1;i=i+1|0;if(i>>>0<(f-g|0)/12>>>0){continue}break}}R=e+16|0;return d}function ih(a){o[a>>2]=8280;ml(a+4|0,0,80);o[a+96>>2]=0;o[a+100>>2]=0;o[a+92>>2]=-1;o[a+84>>2]=-1;o[a+88>>2]=-1;o[a+104>>2]=0;o[a+108>>2]=0;o[a+112>>2]=0;o[a+116>>2]=0;o[a+120>>2]=0;o[a+124>>2]=0;o[a+128>>2]=0;o[a+132>>2]=0;o[a+136>>2]=0;o[a+140>>2]=0;o[a+144>>2]=0;o[a+148>>2]=0;o[a+156>>2]=0;o[a+160>>2]=0;o[a+152>>2]=1065353216;o[a+164>>2]=0;o[a+168>>2]=0;o[a+172>>2]=0;o[a+176>>2]=0;o[a+180>>2]=0;o[a+184>>2]=0;o[a+188>>2]=0;o[a+192>>2]=0;o[a+196>>2]=0;o[a+200>>2]=0;o[a+204>>2]=0;o[a+208>>2]=0;o[a+212>>2]=-1;o[a+216>>2]=0;o[a+220>>2]=0;o[a+224>>2]=0;si(a+232|0);si(a+272|0);Rf(a+312|0);si(a+328|0);o[a+392>>2]=0;o[a+396>>2]=0;o[a+384>>2]=0;o[a+388>>2]=0;o[a+376>>2]=0;o[a+380>>2]=0;o[a+368>>2]=0;o[a+372>>2]=0;o[a+416>>2]=0;o[a+420>>2]=0;o[a+408>>2]=2;o[a+412>>2]=7;o[a+400>>2]=-1;o[a+404>>2]=-1;o[a+424>>2]=0;o[a+428>>2]=0;o[a+432>>2]=0;o[a+436>>2]=0}function Yi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=o[a>>2];c=e+(b>>>3&536870908)|0;o[c>>2]=o[c>>2]|1<<(b&31);g=o[a+64>>2];f=(b|0)==-1;c=-1;a:{if(f){break a}d=b+1|0;d=(d>>>0)%3|0?d:b+ -2|0;c=-1;if((d|0)==-1){break a}c=o[o[g>>2]+(d<<2)>>2]}d=o[a+12>>2];h=(c>>>3&536870908)+d|0;o[h>>2]=o[h>>2]|1<<(c&31);b:{c:{if(!f){c=-1;f=((b>>>0)%3|0?-1:2)+b|0;if((f|0)!=-1){c=o[o[g>>2]+(f<<2)>>2]}f=d+(c>>>3&536870908)|0;o[f>>2]=o[f>>2]|1<<(c&31);b=o[o[g+12>>2]+(b<<2)>>2];if((b|0)==-1){break b}m[a+24|0]=0;a=(b>>>3&536870908)+e|0;o[a>>2]=o[a>>2]|1<<(b&31);a=-1;c=-1;e=b+1|0;e=(e>>>0)%3|0?e:b+ -2|0;if((e|0)!=-1){c=o[o[g>>2]+(e<<2)>>2]}e=d+(c>>>3&536870908)|0;o[e>>2]=o[e>>2]|1<<(c&31);b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){a=o[o[g>>2]+(b<<2)>>2]}b=1<<(a&31);a=d+(a>>>3&536870908)|0;c=o[a>>2];break c}a=d+536870908|0;b=o[d+536870908>>2];c=-2147483648}o[a>>2]=b|c}}function jg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=R+ -64|0;R=d;o[d+56>>2]=0;o[d+48>>2]=0;o[d+52>>2]=0;o[d+40>>2]=0;o[d+44>>2]=0;o[d+32>>2]=0;o[d+36>>2]=0;o[d+24>>2]=0;o[d+28>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;a:{if(!gg(d+8|0,b)){break a}if(a){if(!o[d+20>>2]){break a}if(!hg(d+8|0,b)){break a}b=o[d+56>>2];i=o[d+36>>2];j=o[d+48>>2];k=o[d+24>>2];while(1){b:{if(b>>>0>16383){break b}e=o[d+52>>2];while(1){if((e|0)<1){break b}e=e+ -1|0;o[d+52>>2]=e;b=p[e+j|0]|b<<8;o[d+56>>2]=b;if(b>>>0<16384){continue}break}}e=b&4095;g=o[(e<<2)+k>>2];h=(g<<3)+i|0;b=(u(o[h>>2],b>>>12|0)+e|0)-o[h+4>>2]|0;o[d+56>>2]=b;o[(f<<2)+c>>2]=g;e=1;f=f+1|0;if((f|0)!=(a|0)){continue}break}break a}e=hg(d+8|0,b)}a=o[d+36>>2];if(a){o[d+40>>2]=a;jl(a)}a=o[d+24>>2];if(a){o[d+28>>2]=a;jl(a)}a=o[d+8>>2];if(a){o[d+12>>2]=a;jl(a)}R=d- -64|0;return e}function Zf(a,b){var c=0,d=0,e=0;e=R-16|0;R=e;o[e+12>>2]=b;b=yk(32);o[e>>2]=b;o[e+4>>2]=24;o[e+8>>2]=-2147483616;m[b+24|0]=0;c=p[7941]|p[7942]<<8|(p[7943]<<16|p[7944]<<24);d=p[7937]|p[7938]<<8|(p[7939]<<16|p[7940]<<24);m[b+16|0]=d;m[b+17|0]=d>>>8;m[b+18|0]=d>>>16;m[b+19|0]=d>>>24;m[b+20|0]=c;m[b+21|0]=c>>>8;m[b+22|0]=c>>>16;m[b+23|0]=c>>>24;c=p[7933]|p[7934]<<8|(p[7935]<<16|p[7936]<<24);d=p[7929]|p[7930]<<8|(p[7931]<<16|p[7932]<<24);m[b+8|0]=d;m[b+9|0]=d>>>8;m[b+10|0]=d>>>16;m[b+11|0]=d>>>24;m[b+12|0]=c;m[b+13|0]=c>>>8;m[b+14|0]=c>>>16;m[b+15|0]=c>>>24;c=p[7925]|p[7926]<<8|(p[7927]<<16|p[7928]<<24);d=p[7921]|p[7922]<<8|(p[7923]<<16|p[7924]<<24);m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;m[b+4|0]=c;m[b+5|0]=c>>>8;m[b+6|0]=c>>>16;m[b+7|0]=c>>>24;zi(_f(a,e+12|0),e);if(m[e+11|0]<=-1){jl(o[e>>2])}R=e+16|0}function mh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=o[a+8>>2];c=o[a+4>>2];if((e-c|0)/12>>>0>=b>>>0){d=a;a=u(b,12);j=d,k=ml(c,0,a)+a|0,o[j+4>>2]=k;return}f=o[a>>2];g=(c-f|0)/12|0;d=g+b|0;a:{if(d>>>0<357913942){g=u(g,12);e=(e-f|0)/12|0;h=e<<1;e=e>>>0<178956970?h>>>0>>0?d:h:357913941;if(e){if(e>>>0>=357913942){break a}i=yk(u(e,12))}d=g+i|0;b=u(b,12);b=ml(d,0,b)+b|0;e=u(e,12)+i|0;if((c|0)!=(f|0)){while(1){d=d+ -12|0;o[d+8>>2]=0;o[d>>2]=0;o[d+4>>2]=0;c=c+ -12|0;o[d>>2]=o[c>>2];o[d+4>>2]=o[c+4>>2];o[d+8>>2]=o[c+8>>2];o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0;if((c|0)!=(f|0)){continue}break}f=o[a>>2];c=o[a+4>>2]}o[a+8>>2]=e;o[a+4>>2]=b;o[a>>2]=d;if((c|0)!=(f|0)){while(1){a=c+ -12|0;b=o[a>>2];if(b){o[c+ -8>>2]=b;jl(b)}c=a;if((c|0)!=(f|0)){continue}break}}if(f){jl(f)}return}Nk();D()}db(8832);D()}function gb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=R-32|0;R=f;h=o[c+4>>2];d=o[b+4>>2];i=o[c>>2];g=o[b>>2];b=(h-d|0)+(i-g<<3)|0;c=o[a+4>>2];e=b+c|0;o[a+4>>2]=e;a:{if(!(!c|(e+ -1^c+ -1)>>>0>31)){a=o[a>>2];break a}a=o[a>>2];if(e>>>0<=32){o[a>>2]=0;break a}o[(e+ -1>>>3&536870908)+a>>2]=0}a=(c>>>3&536870908)+a|0;c=c&31;b:{if((c|0)==(d|0)){c:{if((b|0)<1){break c}d:{if(!d){c=0;break d}e=32-d|0;c=(b|0)<(e|0)?b:e;e=-1<>>e-c;o[a>>2]=o[a>>2]&(e^-1)|e&o[g>>2];b=b-c|0;d=c+d|0;c=d&31;a=(d>>>3&536870908)+a|0;g=g+4|0}d=(b|0)/32|0;e=d<<2;a=nl(a,g,e)+e|0;d=b-(d<<5)|0;if((d|0)<1){d=c;break c}b=-1>>>32-d|0;o[a>>2]=o[a>>2]&(b^-1)|b&o[e+g>>2]}o[f+4>>2]=d;o[f>>2]=a;break b}o[f+28>>2]=d;o[f+24>>2]=g;o[f+20>>2]=h;o[f+16>>2]=i;o[f+12>>2]=c;o[f+8>>2]=a;hb(f,f+24|0,f+16|0,f+8|0)}R=f+32|0}function nl(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}b:{if(b+c>>>0>a>>>0){e=a+c|0;if(e>>>0>b>>>0){break b}}return ll(a,b,c)}d=(a^b)&3;c:{d:{if(a>>>0>>0){if(d){d=a;break c}if(!(a&3)){d=a;break d}d=a;while(1){if(!c){break a}m[d|0]=p[b|0];b=b+1|0;c=c+ -1|0;d=d+1|0;if(d&3){continue}break}break d}e:{if(d){break e}if(e&3){while(1){if(!c){break a}c=c+ -1|0;d=c+a|0;m[d|0]=p[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break e}while(1){c=c+ -4|0;o[c+a>>2]=o[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c+ -1|0;m[c+a|0]=p[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break c}while(1){o[d>>2]=o[b>>2];b=b+4|0;d=d+4|0;c=c+ -4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){m[d|0]=p[b|0];d=d+1|0;b=b+1|0;c=c+ -1|0;if(c){continue}break}}return a}function ej(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=R-16|0;R=d;g=o[a+24>>2];l=o[a+28>>2];a:{if((g|0)!=(l|0)){n=d+8|0;while(1){o[n>>2]=0;o[d>>2]=0;o[d+4>>2]=0;a=mj(o[g>>2],b,d);h=p[d+11|0];k=h<<24>>24;b:{c:{d:{if(!a){a=3;break d}a=0;e=p[c+11|0];f=e<<24>>24;j=(k|0)<0?o[d+4>>2]:h;if((j|0)!=(((f|0)<0?o[c+4>>2]:e)|0)){break d}i=(f|0)<0?o[c>>2]:c;f=o[d>>2];e=(k|0)<0;e:{if(!e){if(!j){break e}e=d;if(p[i|0]!=(f&255)){break d}while(1){h=h+ -1|0;if(!h){break e}f=p[i+1|0];i=i+1|0;e=e+1|0;if((f|0)==p[e|0]){continue}break}break d}if(!j){break e}if(Vj(e?f:d,i,j)){break c}}m=o[g>>2];a=1}if((k|0)>-1){break b}}jl(o[d>>2])}if(a>>>0>3){break a}f:{switch(a-1|0){case 0:case 1:break a;default:break f}}g=g+4|0;if((l|0)!=(g|0)){continue}break}}m=0}R=d+16|0;return m}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;o[b>>2]=1;f=b+8|0;c=o[b+8>>2];d=o[b+12>>2]-c|0;if(d>>>0<=4294967291){ri(f,d+4|0);c=o[f>>2]}d=c+d|0;c=p[a+4|0]|p[a+5|0]<<8|(p[a+6|0]<<16|p[a+7|0]<<24);m[d|0]=c;m[d+1|0]=c>>>8;m[d+2|0]=c>>>16;m[d+3|0]=c>>>24;c=o[a+8>>2];if((c|0)!=o[a+12>>2]){while(1){d=(g<<2)+c|0;c=o[b+8>>2];e=o[b+12>>2]-c|0;if(e>>>0<=4294967291){ri(f,e+4|0);c=o[f>>2]}e=c+e|0;c=p[d|0]|p[d+1|0]<<8|(p[d+2|0]<<16|p[d+3|0]<<24);m[e|0]=c;m[e+1|0]=c>>>8;m[e+2|0]=c>>>16;m[e+3|0]=c>>>24;g=g+1|0;c=o[a+8>>2];if(g>>>0>2]-c>>2>>>0){continue}break}}c=o[b+12>>2];b=o[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){ri(f,c+4|0);b=o[f>>2]}b=b+c|0;a=p[a+20|0]|p[a+21|0]<<8|(p[a+22|0]<<16|p[a+23|0]<<24);m[b|0]=a;m[b+1|0]=a>>>8;m[b+2|0]=a>>>16;m[b+3|0]=a>>>24}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=o[b+12>>2];g=d;c=o[b+20>>2];f=c;h=o[b+16>>2];e=h+4|0;if(e>>>0<4){c=c+1|0}j=o[b+8>>2];i=e;e=c;a:{if((d|0)<(c|0)?1:(d|0)<=(c|0)?j>>>0>=i>>>0?0:1:0){break a}k=o[b>>2];c=k+h|0;d=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=i;o[b+20>>2]=e;c=f;f=h+8|0;if(f>>>0<8){c=c+1|0}e=f;f=c;if((g|0)<(c|0)?1:(g|0)<=(c|0)?j>>>0>=e>>>0?0:1:0){break a}c=i+k|0;c=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=e;o[b+20>>2]=f;if((d|0)>(c|0)){break a}o[a+16>>2]=c;o[a+12>>2]=d;g=d;d=(c>>31)-((d>>31)+(c>>>0>>0)|0)|0;c=c-g|0;if(!d&c>>>0>2147483646|d>>>0>0){break a}c=c+1|0;o[a+20>>2]=c;d=(c|0)/2|0;o[a+24>>2]=d;o[a+28>>2]=0-d;if(!(c&1)){o[a+24>>2]=d+ -1}l=Sf(a+108|0,b)}return l|0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=o[b+12>>2];i=d;c=o[b+20>>2];f=c;g=o[b+16>>2];e=g+4|0;if(e>>>0<4){c=c+1|0}j=o[b+8>>2];h=e;e=c;a:{if((d|0)<(c|0)?1:(d|0)<=(c|0)?j>>>0>=h>>>0?0:1:0){break a}k=o[b>>2];c=k+g|0;d=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=h;o[b+20>>2]=e;c=f;f=g+8|0;if(f>>>0<8){c=c+1|0}e=f;f=c;if((i|0)<(c|0)?1:(i|0)<=(c|0)?j>>>0>=e>>>0?0:1:0){break a}c=h+k|0;c=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=e;o[b+20>>2]=f;if((d|0)>(c|0)){break a}o[a+16>>2]=c;o[a+12>>2]=d;b=d;d=(c>>31)-((c>>>0>>0)+(b>>31)|0)|0;b=c-b|0;if(!d&b>>>0>2147483646|d>>>0>0){break a}l=1;b=b+1|0;o[a+20>>2]=b;c=(b|0)/2|0;o[a+24>>2]=c;o[a+28>>2]=0-c;if(b&1){break a}o[a+24>>2]=c+ -1}return l|0}function of(a){var b=0,c=0,d=0;b=o[a+8>>2];d=o[a>>2];a:{if(p[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b+ -2|0;if((b|0)==-1){break e}b=o[o[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}o[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b+ -2|0;o[a+8>>2]=b;if((b|0)!=-1){break b}}c=o[a+4>>2];b=-1;f:{if((c|0)==-1){break f}c=c+((c>>>0)%3|0?-1:2)|0;b=-1;if((c|0)==-1){break f}c=o[o[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c+ -1|0;if((c>>>0)%3){break f}b=c+2|0}m[a+12|0]=0;o[a+8>>2]=b;return}if((b|0)!=o[a+4>>2]){break a}o[a+8>>2]=-1;return}c=-1;g:{if((b|0)==-1){break g}b=b+((b>>>0)%3|0?-1:2)|0;c=-1;if((b|0)==-1){break g}b=o[o[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break g}c=b+ -1|0;if((b>>>0)%3){break g}c=b+2|0}o[a+8>>2]=c}}function gh(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;a:{b:{f=o[a+8>>2];d=o[a+4>>2];c:{if((f-d|0)/12>>>0>=b>>>0){while(1){e=o[c+4>>2];o[d>>2]=o[c>>2];o[d+4>>2]=e;o[d+8>>2]=o[c+8>>2];d=o[a+4>>2]+12|0;o[a+4>>2]=d;b=b+ -1|0;if(b){continue}break c}}e=d;d=o[a>>2];g=(e-d|0)/12|0;h=g+b|0;if(h>>>0>=357913942){break b}d=(f-d|0)/12|0;f=d<<1;d=d>>>0<178956970?f>>>0>>0?h:f:357913941;e=0;d:{if(!d){break d}if(d>>>0>=357913942){break a}e=yk(u(d,12))}f=e+u(d,12)|0;g=e+u(g,12)|0;d=g;while(1){i=o[c+4>>2];o[d>>2]=o[c>>2];o[d+4>>2]=i;o[d+8>>2]=o[c+8>>2];d=d+12|0;b=b+ -1|0;if(b){continue}break}d=e+u(h,12)|0;b=o[a>>2];c=o[a+4>>2]-b|0;e=g+u((c|0)/-12|0,12)|0;if((c|0)>=1){ll(e,b,c)}o[a+8>>2]=f;o[a+4>>2]=d;o[a>>2]=e;if(!b){break c}jl(b)}return}Nk();D()}db(8832);D()}function Ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=R-16|0;R=f;a:{g=m[b+24|0];i=o[a+80>>2];b:{if((u(g,i)|0)!=(c|0)){break b}if(!(!p[b+84|0]|o[b+28>>2]!=1)){ll(d,o[o[b>>2]>>2]+o[b+48>>2]|0,c);e=1;break b}o[f+8>>2]=0;o[f>>2]=0;o[f+4>>2]=0;if(g){if((g|0)<=-1){break a}e=yk(g);o[f>>2]=e;o[f+4>>2]=e;o[f+8>>2]=e+g;c=g;while(1){m[e|0]=0;e=o[f+4>>2]+1|0;o[f+4>>2]=e;c=c+ -1|0;if(c){continue}break}}c:{if(!i){e=1;a=o[f>>2];break c}a=o[f>>2];k=(g|0)<1;while(1){c=h;e=b;if(!p[e+84|0]){c=o[o[b+68>>2]+(h<<2)>>2]}if(!La(e,c,m[b+24|0],a)){e=0;break c}e=0;c=j;if(!k){while(1){m[c+d|0]=p[a+e|0];c=c+1|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}j=g+j|0}e=1;h=h+1|0;if((i|0)!=(h|0)){continue}break}}if(!a){break b}o[f+4>>2]=a;jl(a)}R=f+16|0;return e}Nk();D()}function $a(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=R-16|0;R=f;a:{g=m[b+24|0];i=o[a+80>>2];b:{if((u(g,i)|0)!=(c|0)){break b}if(!(!p[b+84|0]|o[b+28>>2]!=2)){ll(d,o[o[b>>2]>>2]+o[b+48>>2]|0,c);e=1;break b}o[f+8>>2]=0;o[f>>2]=0;o[f+4>>2]=0;if(g){if((g|0)<=-1){break a}e=yk(g);o[f>>2]=e;o[f+4>>2]=e;o[f+8>>2]=e+g;c=g;while(1){m[e|0]=0;e=o[f+4>>2]+1|0;o[f+4>>2]=e;c=c+ -1|0;if(c){continue}break}}c:{if(!i){e=1;a=o[f>>2];break c}a=o[f>>2];k=(g|0)<1;while(1){c=h;e=b;if(!p[e+84|0]){c=o[o[b+68>>2]+(h<<2)>>2]}if(!Na(e,c,m[b+24|0],a)){e=0;break c}e=0;c=j;if(!k){while(1){m[c+d|0]=p[a+e|0];c=c+1|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}j=g+j|0}e=1;h=h+1|0;if((i|0)!=(h|0)){continue}break}}if(!a){break b}o[f+4>>2]=a;jl(a)}R=f+16|0;return e}Nk();D()}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,p=0;f=R-16|0;R=f;j=o[c+8>>2];g=o[c+16>>2];h=o[c+12>>2];d=h;e=o[c+20>>2];a:{if((d|0)<(e|0)?1:(d|0)<=(e|0)?j>>>0>g>>>0?0:1:0){break a}k=o[c>>2];n=m[k+g|0];d=e;i=g+1|0;if(i>>>0<1){d=d+1|0}o[c+16>>2]=i;o[c+20>>2]=d;b:{if((n|0)==-2){break b}if((h|0)<(d|0)?1:(h|0)<=(d|0)?j>>>0>i>>>0?0:1:0){break a}h=m[i+k|0];g=g+2|0;if(g>>>0<2){e=e+1|0}d=c;o[d+16>>2]=g;o[d+20>>2]=e;l[o[o[a>>2]+40>>2]](f+8|0,a,n,h);e=o[f+8>>2];o[f+8>>2]=0;d=o[a+20>>2];o[a+20>>2]=e;if(!d){o[f+8>>2]=0;break b}l[o[o[d>>2]+4>>2]](d);d=o[f+8>>2];o[f+8>>2]=0;if(!d){break b}l[o[o[d>>2]+4>>2]](d)}d=o[a+20>>2];if(d){if(!l[o[o[a>>2]+28>>2]](a,d)){break a}}p=l[o[o[a>>2]+36>>2]](a,b,c)|0}R=f+16|0;return p|0}function oa(a,b,c){var d=0,e=0,f=0;a:{if(o[a+12>>2]==(b|0)){break a}d=o[a>>2];e=o[a+4>>2];if((d|0)!=(e|0)){while(1){f=e+ -12|0;if(m[e+ -1|0]<=-1){jl(o[f>>2])}e=f;if((e|0)!=(d|0)){continue}break}}o[a+12>>2]=b;o[a+4>>2]=d;e=o[b>>2];f=b+4|0;if((e|0)==(f|0)){break a}while(1){b=e+16|0;b:{if(o[a+8>>2]!=(d|0)){Bk(d,b);o[a+4>>2]=o[a+4>>2]+12;break b}pa(a,b)}d=o[e+4>>2];c:{if(!d){b=o[e+8>>2];if(o[b>>2]==(e|0)){break c}e=e+8|0;while(1){d=o[e>>2];e=d+8|0;b=o[d+8>>2];if((d|0)!=o[b>>2]){continue}break}break c}while(1){b=d;d=o[d>>2];if(d){continue}break}}if((b|0)==(f|0)){break a}d=o[a+4>>2];e=b;continue}}d=0;d:{if((c|0)<0){break d}b=o[a+4>>2];a=o[a>>2];if((b-a|0)/12>>>0<=c>>>0){break d}d=a+u(c,12)|0;if(m[d+11|0]>-1){break d}d=o[d>>2]}return d}function ml(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}d=a+c|0;m[d+ -1|0]=b;m[a|0]=b;if(c>>>0<3){break a}m[d+ -2|0]=b;m[a+1|0]=b;m[d+ -3|0]=b;m[a+2|0]=b;if(c>>>0<7){break a}m[d+ -4|0]=b;m[a+3|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=u(b&255,16843009);o[e>>2]=b;c=c-d&-4;d=c+e|0;o[d+ -4>>2]=b;if(c>>>0<9){break a}o[e+8>>2]=b;o[e+4>>2]=b;o[d+ -8>>2]=b;o[d+ -12>>2]=b;if(c>>>0<25){break a}o[e+24>>2]=b;o[e+20>>2]=b;o[e+16>>2]=b;o[e+12>>2]=b;o[d+ -16>>2]=b;o[d+ -20>>2]=b;o[d+ -24>>2]=b;o[d+ -28>>2]=b;g=e&4|24;c=c-g|0;if(c>>>0<32){break a}d=b;f=b;b=e+g|0;while(1){o[b+24>>2]=f;o[b+28>>2]=d;o[b+16>>2]=f;o[b+20>>2]=d;o[b+8>>2]=f;o[b+12>>2]=d;o[b>>2]=f;o[b+4>>2]=d;b=b+32|0;c=c+ -32|0;if(c>>>0>31){continue}break}}return a}function Th(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=o[a+4>>2];e=o[b>>2];a:{c=o[a+12>>2];d=o[c+56>>2]-o[c+52>>2]|0;c=d>>2;b:{if(o[b+8>>2]-e>>2>>>0>=c>>>0){break b}if(c>>>0>=1073741824){break a}f=o[b+4>>2];g=c<<2;c=yk(d);g=g+c|0;d=f-e|0;f=d+c|0;if((d|0)>=1){ll(c,e,d)}o[b+8>>2]=g;o[b+4>>2]=f;o[b>>2]=c;if(!e){break b}jl(e)}c=a+8|0;c:{d:{b=o[a+76>>2];if(b){e=o[b>>2];d=1;if((e|0)==o[b+4>>2]){break c}b=0;while(1){if(!Uh(c,o[(b<<2)+e>>2])){break d}d=o[a+76>>2];e=o[d>>2];b=b+1|0;if(b>>>0>2]-e>>2>>>0){continue}break}return 1}b=0;a=o[o[a+12>>2]+64>>2];a=(o[a+4>>2]-o[a>>2]>>2>>>0)/3|0;if((a|0)<=0){return 1}while(1){if(!Uh(c,u(b,3))){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}return 1}d=0}return d|0}db(8832);D()}function $i(a,b){var c=0,d=0,e=0,f=0,g=0;d=-1;f=-1;e=-1;a:{b:{if((b|0)==-1){break b}g=1;f=o[o[o[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b+ -2|0;if((c|0)>=0){e=(c>>>0)/3|0;e=o[(o[o[a>>2]+96>>2]+u(e,12)|0)+(c-u(e,3)<<2)>>2]}c:{if((f|0)==-1){break c}g=0;c=((f>>>0)%3|0?-1:2)+f|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=o[(o[o[a>>2]+96>>2]+u(d,12)|0)+(c-u(d,3)<<2)>>2]}c=-1;if((d|0)!=(e|0)){break a}e=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=o[(o[o[a>>2]+96>>2]+u(d,12)|0)+(b-u(d,3)<<2)>>2];if(g){break b}break d}d=-1;if(!g){break d}break b}b=f+1|0;b=(b>>>0)%3|0?b:f+ -2|0;if((b|0)<0){break b}e=o[o[a>>2]+96>>2];a=(b>>>0)/3|0;e=o[(e+u(a,12)|0)+(b-u(a,3)<<2)>>2]}c=(d|0)==(e|0)?f:-1}return c}function Nh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=o[a+4>>2];e=o[b>>2];a:{c=o[a+12>>2];d=o[c+28>>2]-o[c+24>>2]|0;c=d>>2;b:{if(o[b+8>>2]-e>>2>>>0>=c>>>0){break b}if(c>>>0>=1073741824){break a}f=o[b+4>>2];g=c<<2;c=yk(d);g=g+c|0;d=f-e|0;f=d+c|0;if((d|0)>=1){ll(c,e,d)}o[b+8>>2]=g;o[b+4>>2]=f;o[b>>2]=c;if(!e){break b}jl(e)}c=a+8|0;c:{d:{b=o[a+76>>2];if(b){e=o[b>>2];d=1;if((e|0)==o[b+4>>2]){break c}b=0;while(1){if(!Oh(c,o[(b<<2)+e>>2])){break d}d=o[a+76>>2];e=o[d>>2];b=b+1|0;if(b>>>0>2]-e>>2>>>0){continue}break}return 1}b=0;a=o[a+12>>2];a=(o[a+4>>2]-o[a>>2]>>2>>>0)/3|0;if((a|0)<=0){return 1}while(1){if(!Oh(c,u(b,3))){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}return 1}d=0}return d|0}db(8832);D()}function pa(a,b){var c=0,d=0,e=0,f=0,g=0;e=o[a>>2];g=(o[a+4>>2]-e|0)/12|0;c=g+1|0;a:{b:{c:{if(c>>>0<357913942){e=(o[a+8>>2]-e|0)/12|0;f=e<<1;c=e>>>0<178956970?f>>>0>>0?c:f:357913941;d=0;d:{if(!c){break d}if(c>>>0>=357913942){break c}d=yk(u(c,12))}e=d+u(c,12)|0;b=Bk(d+u(g,12)|0,b);g=b+12|0;c=o[a+4>>2];d=o[a>>2];if((c|0)==(d|0)){break b}while(1){c=c+ -12|0;f=o[c+4>>2];b=b+ -12|0;o[b>>2]=o[c>>2];o[b+4>>2]=f;f=c+8|0;o[b+8>>2]=o[f>>2];o[c>>2]=0;o[c+4>>2]=0;o[f>>2]=0;if((c|0)!=(d|0)){continue}break}d=o[a+4>>2];c=o[a>>2];break a}Nk();D()}db(1040);D()}c=d}o[a+8>>2]=e;o[a+4>>2]=g;o[a>>2]=b;if((c|0)!=(d|0)){while(1){a=d+ -12|0;if(m[d+ -1|0]<=-1){jl(o[a>>2])}d=a;if((a|0)!=(c|0)){continue}break}}if(c){jl(c)}}function Xa(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;g=R-16|0;R=g;c=c+ -1|0;a:{if(c>>>0>8){break a}b:{switch(c-1|0){default:f=Ya(a,b,d,e);break a;case 1:f=Za(a,b,d,e);break a;case 3:f=_a(a,b,d,e);break a;case 0:f=$a(a,b,d,e);break a;case 2:f=ab(a,b,d,e);break a;case 4:f=bb(a,b,d,e);break a;case 5:case 6:break a;case 7:break b}}c=d;d=m[b+24|0];i=d<<2;h=o[a+80>>2];if((c|0)!=(u(i,h)|0)){break a}c=0;a=o[259];o[g+8>>2]=o[258];o[g+12>>2]=a;a=o[257];o[g>>2]=o[256];o[g+4>>2]=a;if(!h){f=1;break a}j=((d|0)>0?d:0)<<2;k=(d|0)<1;while(1){a=c;d=b;if(!p[d+84|0]){a=o[o[b+68>>2]+(c<<2)>>2]}if(!Ga(d,a,m[b+24|0],g)){f=0;break a}if(!k){ll(u(c,j)+e|0,g,i)}f=1;c=c+1|0;if((h|0)!=(c|0)){continue}break}}R=g+16|0;return f}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=R-32|0;R=d;e=o[a+28>>2];o[d+16>>2]=e;f=o[a+20>>2];o[d+28>>2]=c;o[d+24>>2]=b;b=f-e|0;o[d+20>>2]=b;e=b+c|0;h=2;b=d+16|0;a:{b:{c:{if(!Wj(J(o[a+60>>2],d+16|0,2,d+12|0)|0)){while(1){f=o[d+12>>2];if((f|0)==(e|0)){break c}if((f|0)<=-1){break b}g=o[b+4>>2];i=f>>>0>g>>>0;b=i?b+8|0:b;g=f-(i?g:0)|0;o[b>>2]=g+o[b>>2];o[b+4>>2]=o[b+4>>2]-g;e=e-f|0;h=h-i|0;if(!Wj(J(o[a+60>>2],b|0,h|0,d+12|0)|0)){continue}break}}o[d+12>>2]=-1;if((e|0)!=-1){break b}}b=o[a+44>>2];o[a+28>>2]=b;o[a+20>>2]=b;o[a+16>>2]=b+o[a+48>>2];a=c;break a}o[a+28>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a>>2]=o[a>>2]|32;a=0;if((h|0)==2){break a}a=c-o[b+4>>2]|0}R=d+32|0;return a|0}function va(a,b,c){var d=0,e=0,f=0,g=0;d=R-32|0;R=d;o[d+24>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;g=rl(b);a:{if(g>>>0<4294967280){b:{c:{if(g>>>0>=11){e=g+16&-16;f=yk(e);o[d+24>>2]=e|-2147483648;o[d+16>>2]=f;o[d+20>>2]=g;break c}m[d+27|0]=g;f=d+16|0;if(!g){break b}}ll(f,b,g)}m[f+g|0]=0;o[d+8>>2]=0;o[d>>2]=0;o[d+4>>2]=0;e=rl(c);if(e>>>0>=4294967280){break a}d:{e:{if(e>>>0>=11){b=e+16&-16;f=yk(b);o[d+8>>2]=b|-2147483648;o[d>>2]=f;o[d+4>>2]=e;break e}m[d+11|0]=e;f=d;if(!e){break d}}ll(f,c,e)}m[e+f|0]=0;c=o[a+4>>2];b=-1;f:{if(!c){break f}c=ej(c,d+16|0,d);b=-1;if(!c){break f}b=uj(a,o[c+24>>2])}a=b;if(m[d+11|0]<=-1){jl(o[d>>2])}if(m[d+27|0]<=-1){jl(o[d+16>>2])}R=d+32|0;return a}Ak();D()}Ak();D()}function bb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=R-16|0;R=f;a:{j=o[a+80>>2];g=m[b+24|0];h=g<<2;b:{if((u(j,h)|0)!=(c|0)){break b}if(!(!p[b+84|0]|o[b+28>>2]!=6)){ll(d,o[o[b>>2]>>2]+o[b+48>>2]|0,c);e=1;break b}a=0;o[f+8>>2]=0;o[f>>2]=0;o[f+4>>2]=0;if(g){if((g|0)<=-1){break a}a=yk(h);o[f>>2]=a;c=(g<<2)+a|0;o[f+8>>2]=c;ml(a,0,h);o[f+4>>2]=c}c:{if(!j){e=1;break c}h=0;k=(g|0)<1;while(1){c=i;e=b;if(!p[b+84|0]){c=o[o[b+68>>2]+(i<<2)>>2]}if(!Wa(e,c,m[b+24|0],a)){e=0;break c}e=0;c=h;if(!k){while(1){o[(c<<2)+d>>2]=o[(e<<2)+a>>2];c=c+1|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}h=h+g|0}e=1;i=i+1|0;if((j|0)!=(i|0)){continue}break}}if(!a){break b}o[f+4>>2]=a;jl(a)}R=f+16|0;return e}Nk();D()}function ab(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=R-16|0;R=f;a:{j=o[a+80>>2];g=m[b+24|0];h=g<<1;b:{if((u(j,h)|0)!=(c|0)){break b}if(!(!p[b+84|0]|o[b+28>>2]!=4)){ll(d,o[o[b>>2]>>2]+o[b+48>>2]|0,c);e=1;break b}a=0;o[f+8>>2]=0;o[f>>2]=0;o[f+4>>2]=0;if(g){if((g|0)<=-1){break a}a=yk(h);o[f>>2]=a;c=(g<<1)+a|0;o[f+8>>2]=c;ml(a,0,h);o[f+4>>2]=c}c:{if(!j){e=1;break c}h=0;k=(g|0)<1;while(1){c=i;e=b;if(!p[b+84|0]){c=o[o[b+68>>2]+(i<<2)>>2]}if(!Sa(e,c,m[b+24|0],a)){e=0;break c}e=0;c=h;if(!k){while(1){n[(c<<1)+d>>1]=q[(e<<1)+a>>1];c=c+1|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}h=h+g|0}e=1;i=i+1|0;if((j|0)!=(i|0)){continue}break}}if(!a){break b}o[f+4>>2]=a;jl(a)}R=f+16|0;return e}Nk();D()}function _a(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=R-16|0;R=f;a:{j=o[a+80>>2];g=m[b+24|0];h=g<<2;b:{if((u(j,h)|0)!=(c|0)){break b}if(!(!p[b+84|0]|o[b+28>>2]!=5)){ll(d,o[o[b>>2]>>2]+o[b+48>>2]|0,c);e=1;break b}a=0;o[f+8>>2]=0;o[f>>2]=0;o[f+4>>2]=0;if(g){if((g|0)<=-1){break a}a=yk(h);o[f>>2]=a;c=(g<<2)+a|0;o[f+8>>2]=c;ml(a,0,h);o[f+4>>2]=c}c:{if(!j){e=1;break c}h=0;k=(g|0)<1;while(1){c=i;e=b;if(!p[b+84|0]){c=o[o[b+68>>2]+(i<<2)>>2]}if(!Ua(e,c,m[b+24|0],a)){e=0;break c}e=0;c=h;if(!k){while(1){o[(c<<2)+d>>2]=o[(e<<2)+a>>2];c=c+1|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}h=h+g|0}e=1;i=i+1|0;if((j|0)!=(i|0)){continue}break}}if(!a){break b}o[f+4>>2]=a;jl(a)}R=f+16|0;return e}Nk();D()}function Za(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=R-16|0;R=f;a:{j=o[a+80>>2];g=m[b+24|0];h=g<<1;b:{if((u(j,h)|0)!=(c|0)){break b}if(!(!p[b+84|0]|o[b+28>>2]!=3)){ll(d,o[o[b>>2]>>2]+o[b+48>>2]|0,c);e=1;break b}a=0;o[f+8>>2]=0;o[f>>2]=0;o[f+4>>2]=0;if(g){if((g|0)<=-1){break a}a=yk(h);o[f>>2]=a;c=(g<<1)+a|0;o[f+8>>2]=c;ml(a,0,h);o[f+4>>2]=c}c:{if(!j){e=1;break c}h=0;k=(g|0)<1;while(1){c=i;e=b;if(!p[b+84|0]){c=o[o[b+68>>2]+(i<<2)>>2]}if(!Qa(e,c,m[b+24|0],a)){e=0;break c}e=0;c=h;if(!k){while(1){n[(c<<1)+d>>1]=q[(e<<1)+a>>1];c=c+1|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}h=h+g|0}e=1;i=i+1|0;if((j|0)!=(i|0)){continue}break}}if(!a){break b}o[f+4>>2]=a;jl(a)}R=f+16|0;return e}Nk();D()}function Zi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0;d=R-16|0;R=d;h=sj(b);a:{if(!h){o[a>>2]=0;break a}e=o[b+100>>2];i=o[b+96>>2];o[d+8>>2]=0;o[d>>2]=0;o[d+4>>2]=0;b=e-i|0;c=(b|0)/12|0;b:{c:{if(b){if(c>>>0>=357913942){break c}g=yk(b);o[d>>2]=g;o[d+8>>2]=u(c,12)+g;n=d,q=ml(g,0,b)+b|0,o[n+4>>2]=q}if((e|0)==(i|0)){break b}l=c>>>0>1?c:1;b=0;m=p[h+84|0];while(1){j=u(b,12);c=j+i|0;e=o[c>>2];d:{if(m){k=c+8|0;c=c+4|0;break d}f=o[h+68>>2];k=f+(o[c+8>>2]<<2)|0;e=o[f+(e<<2)>>2];c=f+(o[c+4>>2]<<2)|0}f=o[c>>2];c=g+j|0;o[c+8>>2]=o[k>>2];o[c+4>>2]=f;o[c>>2]=e;b=b+1|0;if((l|0)!=(b|0)){continue}break}break b}Nk();D()}Di(a,d);a=o[d>>2];if(!a){break a}o[d+4>>2]=a;jl(a)}R=d+16|0}function Xd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=o[a+8>>2];c=o[a+4>>2];if(d-c>>2>>>0>=b>>>0){e=a;a=b<<2;j=e,k=ml(c,0,a)+a|0,o[j+4>>2]=k;return}e=o[a>>2];g=c-e>>2;f=g+b|0;a:{if(f>>>0<1073741824){g=g<<2;d=d-e|0;i=d>>1;f=d>>2>>>0<536870911?i>>>0>>0?f:i:1073741823;if(f){if(f>>>0>=1073741824){break a}h=yk(f<<2)}d=h+g|0;b=b<<2;b=ml(d,0,b)+b|0;f=(f<<2)+h|0;if((c|0)!=(e|0)){while(1){c=c+ -4|0;h=o[c>>2];o[c>>2]=0;d=d+ -4|0;o[d>>2]=h;if((c|0)!=(e|0)){continue}break}e=o[a>>2];c=o[a+4>>2]}o[a+8>>2]=f;o[a+4>>2]=b;o[a>>2]=d;if((c|0)!=(e|0)){while(1){c=c+ -4|0;a=o[c>>2];o[c>>2]=0;if(a){l[o[o[a>>2]+4>>2]](a)}if((c|0)!=(e|0)){continue}break}}if(e){jl(e)}return}Nk();D()}db(1832);D()}function Sg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=o[a+8>>2];c=o[a+4>>2];if(d-c>>2>>>0>=b>>>0){e=a;a=b<<2;j=e,k=ml(c,0,a)+a|0,o[j+4>>2]=k;return}e=o[a>>2];g=c-e>>2;f=g+b|0;a:{if(f>>>0<1073741824){g=g<<2;d=d-e|0;i=d>>1;f=d>>2>>>0<536870911?i>>>0>>0?f:i:1073741823;if(f){if(f>>>0>=1073741824){break a}h=yk(f<<2)}d=h+g|0;b=b<<2;b=ml(d,0,b)+b|0;f=(f<<2)+h|0;if((c|0)!=(e|0)){while(1){c=c+ -4|0;h=o[c>>2];o[c>>2]=0;d=d+ -4|0;o[d>>2]=h;if((c|0)!=(e|0)){continue}break}e=o[a>>2];c=o[a+4>>2]}o[a+8>>2]=f;o[a+4>>2]=b;o[a>>2]=d;if((c|0)!=(e|0)){while(1){c=c+ -4|0;a=o[c>>2];o[c>>2]=0;if(a){l[o[o[a>>2]+4>>2]](a)}if((c|0)!=(e|0)){continue}break}}if(e){jl(e)}return}Nk();D()}db(8832);D()}function Ni(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=o[a+8>>2];f=o[a>>2];a:{if(d-f>>2>>>0>=b>>>0){h=o[a+4>>2];g=h-f>>2;e=g>>>0>>0?g:b;if(e){d=f;while(1){o[d>>2]=o[c>>2];d=d+4|0;e=e+ -1|0;if(e){continue}break}}a=a+4|0;if(g>>>0>>0){d=h;b=b-g|0;e=b;while(1){o[d>>2]=o[c>>2];d=d+4|0;e=e+ -1|0;if(e){continue}break}o[a>>2]=(b<<2)+h;return}break a}if(f){o[a+4>>2]=f;jl(f);o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>1;d=d>>2>>>0<536870911?e>>>0>>0?b:e:1073741823;if(d>>>0>=1073741824){break b}d=d<<2;f=yk(d);o[a>>2]=f;o[a+4>>2]=f;o[a+8>>2]=d+f;a=a+4|0;d=f;e=b;while(1){o[d>>2]=o[c>>2];d=d+4|0;e=e+ -1|0;if(e){continue}break}break a}Nk();D()}o[a>>2]=f+(b<<2)}function je(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{if((b|0)!=-2){g=o[o[o[d+4>>2]+8>>2]+(c<<2)>>2];if((l[o[o[d>>2]+8>>2]](d)|0)==1){f=b;b=q[d+36>>1];re(a,d,f,c,e,(b<<24|b<<8&16711680)>>>16|0);if(o[a>>2]){break b}o[a>>2]=0}f=yk(44);o[f+4>>2]=g;o[f>>2]=2732;b=o[e+8>>2];c=o[e+12>>2];d=o[e+16>>2];g=o[e+20>>2];h=o[e>>2];i=o[e+4>>2];o[f+40>>2]=0;o[f+32>>2]=0;o[f+36>>2]=0;o[f+24>>2]=d;o[f+28>>2]=g;o[f+16>>2]=b;o[f+20>>2]=c;o[f+8>>2]=h;o[f+12>>2]=i;d=o[e+24>>2];b=o[e+28>>2]-d|0;c:{if(!b){break c}e=b>>2;if(e>>>0>=1073741824){break a}c=yk(b);o[f+32>>2]=c;o[f+36>>2]=c;o[f+40>>2]=c+(e<<2);if((b|0)<1){break c}j=f,k=ll(c,d,b)+b|0,o[j+36>>2]=k}o[f>>2]=5424}o[a>>2]=f}return}Nk();D()}function _h(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=R-32|0;R=d;o[d+24>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;a:{f=u(b,3);if(f){if(f>>>0>=1073741824){break a}c=u(b,12);e=yk(c);o[d+16>>2]=e;g=(f<<2)+e|0;o[d+24>>2]=g;ml(e,0,c);o[d+20>>2]=g}b:{if(!dg(f,1,o[a+32>>2],e)){break b}if(!b){h=1;break b}f=0;c=0;while(1){g=d+8|0;o[g>>2]=0;o[d>>2]=0;o[d+4>>2]=0;i=c;e=(f<<2)+e|0;c=o[e>>2];j=c>>>1|0;c=i+(c&1?0-j|0:j)|0;o[d>>2]=c;i=c;c=o[e+4>>2];j=c>>>1|0;c=i+(c&1?0-j|0:j)|0;o[d+4>>2]=c;i=c;e=o[e+8>>2];c=e>>>1|0;c=i+(e&1?0-c|0:c)|0;o[g>>2]=c;$h(o[a+44>>2]+96|0,d);h=h+1|0;if((h|0)!=(b|0)){f=f+3|0;e=o[d+16>>2];continue}break}h=1;e=o[d+16>>2]}if(e){o[d+20>>2]=e;jl(e)}R=d+32|0;return h}Nk();D()}function Jj(a,b,c){a:{b:{if(b>>>0>20){break b}b=b+ -9|0;if(b>>>0>9){break b}c:{switch(b-1|0){default:b=o[c>>2];o[c>>2]=b+4;o[a>>2]=o[b>>2];return;case 0:b=o[c>>2];o[c>>2]=b+4;b=o[b>>2];o[a>>2]=b;o[a+4>>2]=b>>31;return;case 1:b=o[c>>2];o[c>>2]=b+4;o[a>>2]=o[b>>2];o[a+4>>2]=0;return;case 3:b=o[c>>2];o[c>>2]=b+4;b=n[b>>1];o[a>>2]=b;o[a+4>>2]=b>>31;return;case 4:b=o[c>>2];o[c>>2]=b+4;o[a>>2]=q[b>>1];o[a+4>>2]=0;return;case 5:b=o[c>>2];o[c>>2]=b+4;b=m[b|0];o[a>>2]=b;o[a+4>>2]=b>>31;return;case 6:b=o[c>>2];o[c>>2]=b+4;o[a>>2]=p[b|0];o[a+4>>2]=0;return;case 2:case 7:break a;case 8:break c}}l[275](a,c)}return}b=o[c>>2]+7&-8;o[c>>2]=b+8;c=o[b+4>>2];o[a>>2]=o[b>>2];o[a+4>>2]=c}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,p=0,q=0,r=0,t=v(0);g=R-16|0;R=g;d=o[a+24>>2];f=m[o[a+8>>2]+24|0];h=f<<2;i=yk((f&1073741823)!=(f|0)?-1:h);j=g+8|0;o[j>>2]=1065353216;d=-1<>2]=s[a+32>>2]/v(d|0);c=1}b:{if(!c){break b}c=o[a+16>>2];d=0;c:{if(!o[c+80>>2]){break c}d=o[o[c>>2]>>2]+o[c+48>>2]|0}if(!b){e=1;break b}q=(f|0)<1;while(1){if(!q){r=o[a+28>>2];t=s[j>>2];e=0;c=k;while(1){l=e<<2;s[l+i>>2]=v(t*v(o[d+(c<<2)>>2]))+s[r+l>>2];c=c+1|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}k=f+k|0}ll(o[o[o[a+8>>2]+64>>2]>>2]+n|0,i,h);n=h+n|0;e=1;p=p+1|0;if((p|0)!=(b|0)){continue}break}}jl(i);R=g+16|0;return e|0}function xj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=o[a+8>>2];c=o[a+4>>2];if(d-c>>2>>>0>=b>>>0){e=a;a=b<<2;j=e,k=ml(c,0,a)+a|0,o[j+4>>2]=k;return}e=o[a>>2];g=c-e>>2;f=g+b|0;a:{if(f>>>0<1073741824){g=g<<2;d=d-e|0;i=d>>1;f=d>>2>>>0<536870911?i>>>0>>0?f:i:1073741823;if(f){if(f>>>0>=1073741824){break a}h=yk(f<<2)}d=h+g|0;b=b<<2;b=ml(d,0,b)+b|0;f=(f<<2)+h|0;if((c|0)!=(e|0)){while(1){c=c+ -4|0;h=o[c>>2];o[c>>2]=0;d=d+ -4|0;o[d>>2]=h;if((c|0)!=(e|0)){continue}break}e=o[a>>2];c=o[a+4>>2]}o[a+8>>2]=f;o[a+4>>2]=b;o[a>>2]=d;if((c|0)!=(e|0)){while(1){c=c+ -4|0;a=o[c>>2];o[c>>2]=0;if(a){Kb(a)}if((c|0)!=(e|0)){continue}break}}if(e){jl(e)}return}Nk();D()}db(11048);D()}function gj(a,b){var c=0,d=0,e=0,f=0,g=0;e=o[a>>2];f=o[a+4>>2]-e>>2;c=f+1|0;a:{b:{c:{if(c>>>0<1073741824){e=o[a+8>>2]-e|0;g=e>>1;c=e>>2>>>0<536870911?g>>>0>>0?c:g:1073741823;if(c){if(c>>>0>=1073741824){break c}d=yk(c<<2)}e=o[b>>2];o[b>>2]=0;b=(f<<2)+d|0;o[b>>2]=e;e=(c<<2)+d|0;f=b+4|0;c=o[a+4>>2];d=o[a>>2];if((c|0)==(d|0)){break b}while(1){c=c+ -4|0;g=o[c>>2];o[c>>2]=0;b=b+ -4|0;o[b>>2]=g;if((c|0)!=(d|0)){continue}break}d=o[a+4>>2];c=o[a>>2];break a}Nk();D()}db(10924);D()}c=d}o[a+8>>2]=e;o[a+4>>2]=f;o[a>>2]=b;if((c|0)!=(d|0)){while(1){d=d+ -4|0;a=o[d>>2];o[d>>2]=0;if(a){Kc(a+12|0,o[a+16>>2]);Lc(a,o[a+4>>2]);jl(a)}if((c|0)!=(d|0)){continue}break}}if(c){jl(c)}}function uf(a,b,c){var d=0,e=0,f=v(0),g=v(0),h=v(0),i=0,j=0;f=v(a+b);a:{b:{h=v(a-b);if(h<=v(.5)^1|h>=v(-.5)^1|f>=v(.5)^1){break b}e=1;if(!(f<=v(1.5))){break b}g=b;break a}c:{if(!!(f<=v(.5))){g=v(v(.5)-a);a=v(v(.5)-b);break c}if(!!(f>=v(1.5))){g=v(v(1.5)-a);a=v(v(1.5)-b);break c}if(!!(h<=v(-.5))){g=v(a+v(.5));a=v(b+v(-.5));break c}g=v(a+v(-.5));a=v(b+v(.5))}h=v(a-g);f=v(g+a);e=-1}d=+g;b=v(d+d+ -1);d=+a;a=v(d+d+ -1);j=e;e=+h;e=e+e;d=1-e;e=e+1;e=d>2]=0;f=v(0);a=v(0);break d}h=v(v(1)/v(C(f)));s[c>>2]=h*g;f=v(h*b);a=v(h*a)}s[c+8>>2]=f;s[c+4>>2]=a}function yd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{d=c-b|0;g=d>>2;f=o[a+8>>2];e=o[a>>2];b:{if(g>>>0<=f-e>>2>>>0){h=o[a+4>>2];d=h-e|0;f=d>>2;d=g>>>0>f>>>0?b+d|0:c;if((d|0)!=(b|0)){while(1){o[e>>2]=o[b>>2];e=e+4|0;b=b+4|0;if((d|0)!=(b|0)){continue}break}}if(g>>>0>f>>>0){b=c-d|0;if((b|0)<1){break b}ll(h,d,b);o[a+4>>2]=b+o[a+4>>2];return}o[a+4>>2]=e;return}if(e){o[a+4>>2]=e;jl(e);o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;f=0}if(g>>>0>=1073741824){break a}c=f>>1;c=f>>2>>>0<536870911?c>>>0>>0?g:c:1073741823;if(c>>>0>=1073741824){break a}e=c<<2;c=yk(e);o[a>>2]=c;o[a+4>>2]=c;o[a+8>>2]=c+e;if((d|0)<1){break b}i=a,j=ll(c,b,d)+d|0,o[i+4>>2]=j}return}Nk();D()}function eb(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=R-16|0;R=e;o[a+4>>2]=0;a:{b:{if(!b){break b}f=o[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){o[a+4>>2]=b;break c}o[e+8>>2]=0;o[e>>2]=0;o[e+4>>2]=0;if((b|0)<=-1){break a}h=e;if(d>>>0<=1073741822){g=b+31&-32;d=f<<6;g=d>>>0>>0?g:d}else{g=2147483647}fb(h,g);d=o[a>>2];o[a>>2]=o[e>>2];o[e>>2]=d;f=o[a+4>>2];o[a+4>>2]=b;o[e+4>>2]=f;f=o[a+8>>2];o[a+8>>2]=o[e+8>>2];o[e+8>>2]=f;if(!d){break c}jl(d)}d=b>>>5|0;f=d<<2;a=o[a>>2];if(p[c|0]){a=ml(a,255,f);b=b&31;if(!b){break b}a=a+(d<<2)|0;o[a>>2]=o[a>>2]|-1>>>32-b;break b}a=ml(a,0,f);b=b&31;if(!b){break b}a=a+(d<<2)|0;o[a>>2]=o[a>>2]&(-1>>>32-b^-1)}R=e+16|0;return}Nk();D()}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=R-16|0;R=f;g=yk(64);c=yk(12);o[c+8>>2]=o[o[a+4>>2]+80>>2];o[c>>2]=10052;o[c+4>>2]=0;o[f+8>>2]=c;Vd(g,f+8|0);a:{if((b|0)>=0){h=a+8|0;c=o[a+12>>2];i=o[a+8>>2];d=c-i>>2;b:{if((d|0)>(b|0)){break b}e=b+1|0;if(d>>>0<=b>>>0){Sg(h,e-d|0);break b}if(e>>>0>=d>>>0){break b}e=i+(e<<2)|0;if((e|0)!=(c|0)){while(1){c=c+ -4|0;d=o[c>>2];o[c>>2]=0;if(d){l[o[o[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}o[a+12>>2]=e}b=o[h>>2]+(b<<2)|0;a=o[b>>2];o[b>>2]=g;d=1;if(!a){break a}l[o[o[a>>2]+4>>2]](a);break a}l[o[o[g>>2]+4>>2]](g)}a=o[f+8>>2];o[f+8>>2]=0;if(a){l[o[o[a>>2]+4>>2]](a)}R=f+16|0;return d|0}function Lg(a){o[a>>2]=8228;ml(a+4|0,0,80);o[a+96>>2]=0;o[a+100>>2]=0;o[a+92>>2]=-1;o[a+84>>2]=-1;o[a+88>>2]=-1;o[a+104>>2]=0;o[a+108>>2]=0;o[a+112>>2]=0;o[a+116>>2]=0;o[a+120>>2]=0;o[a+124>>2]=0;o[a+128>>2]=0;o[a+132>>2]=0;o[a+136>>2]=0;o[a+140>>2]=0;o[a+144>>2]=0;o[a+148>>2]=0;o[a+156>>2]=0;o[a+160>>2]=0;o[a+152>>2]=1065353216;o[a+164>>2]=0;o[a+168>>2]=0;o[a+172>>2]=0;o[a+176>>2]=0;o[a+180>>2]=0;o[a+184>>2]=0;o[a+188>>2]=0;o[a+192>>2]=0;o[a+196>>2]=0;o[a+200>>2]=0;o[a+204>>2]=0;o[a+208>>2]=0;o[a+212>>2]=-1;o[a+216>>2]=0;o[a+220>>2]=0;o[a+224>>2]=0;si(a+232|0);si(a+272|0);Rf(a+312|0);si(a+328|0);o[a+376>>2]=0;o[a+368>>2]=0;o[a+372>>2]=0}function Ei(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;f=R-16|0;R=f;o[a+80>>2]=0;o[a+84>>2]=0;c=a+76|0;d=o[c>>2];o[c>>2]=0;if(d){jl(d)}o[a+68>>2]=0;o[a+72>>2]=0;c=a- -64|0;d=o[c>>2];o[c>>2]=0;if(d){jl(d)}c=o[b+4>>2];d=o[b>>2];e=u((c-d|0)/12|0,3);h=o[a>>2];g=o[a+4>>2]-h>>2;a:{if(e>>>0>g>>>0){Fi(a,e-g|0);d=o[b>>2];c=o[b+4>>2];break a}if(e>>>0>=g>>>0){break a}o[a+4>>2]=h+(e<<2)}if((c|0)!=(d|0)){b=(c-d|0)/12|0;g=b>>>0>1?b:1;h=o[a>>2];b=0;while(1){e=u(b,12);c=e+h|0;e=d+e|0;o[c>>2]=o[e>>2];o[c+4>>2]=o[e+4>>2];o[c+8>>2]=o[e+8>>2];b=b+1|0;if((g|0)!=(b|0)){continue}break}}o[f+12>>2]=-1;b=0;if(Gi(a,f+12|0)){Hi(a);Ii(a,o[f+12>>2]);b=1}R=f+16|0;return b}function Eh(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=(c>>>0)/3|0;Fh(o[a+12>>2],o[(o[o[a+8>>2]+96>>2]+u(d,12)|0)+(c-u(d,3)<<2)>>2]);a:{b:{g=o[a+4>>2];d=o[g+4>>2];f=o[g+8>>2];c:{if((d|0)!=(f|0)){o[d>>2]=c;o[g+4>>2]=d+4;break c}h=o[g>>2];i=d-h|0;d=i>>2;e=d+1|0;if(e>>>0>=1073741824){break b}j=d<<2;f=f-h|0;d=f>>1;e=f>>2>>>0<536870911?d>>>0>>0?e:d:1073741823;d=0;d:{if(!e){break d}if(e>>>0>=1073741824){break a}d=yk(e<<2)}f=j+d|0;o[f>>2]=c;c=d+(e<<2)|0;e=f+4|0;if((i|0)>=1){ll(d,h,i)}o[g+8>>2]=c;o[g+4>>2]=e;o[g>>2]=d;if(!h){break c}jl(h)}a=o[a+4>>2];o[o[a+12>>2]+(b<<2)>>2]=o[a+24>>2];o[a+24>>2]=o[a+24>>2]+1;return}Nk();D()}db(8832);D()}function Jf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=R-32|0;R=f;h=(e&1073741823)!=(e|0)?-1:e<<2;h=ml(yk(h),0,h);g=o[b>>2];i=o[b+4>>2];k=o[h+4>>2];o[f+16>>2]=o[h>>2];o[f+20>>2]=k;o[f+8>>2]=g;o[f+12>>2]=i;i=a+8|0;Ef(f+24|0,i,f+16|0,f+8|0);o[c>>2]=o[f+24>>2];o[c+4>>2]=o[f+28>>2];if((e|0)<(d|0)){k=0-e<<2;a=e;while(1){g=a<<2;j=g+b|0;m=o[j>>2];j=o[j+4>>2];g=c+g|0;l=g+k|0;n=o[l+4>>2];o[f+16>>2]=o[l>>2];o[f+20>>2]=n;o[f+8>>2]=m;o[f+12>>2]=j;Ef(f+24|0,i,f+16|0,f+8|0);o[g>>2]=o[f+24>>2];o[g+4>>2]=o[f+28>>2];a=a+e|0;if((a|0)<(d|0)){continue}break}}jl(h);R=f+32|0;return 1}function fg(a,b,c){var d=0,e=0,f=0,g=0;a:{b:{e=o[b+16>>2];f=o[b+12>>2];d=o[b+20>>2];c:{if((f|0)<(d|0)?1:(f|0)<=(d|0)?r[b+8>>2]>e>>>0?0:1:0){break c}f=p[e+o[b>>2]|0];e=e+1|0;if(e>>>0<1){d=d+1|0}o[b+16>>2]=e;o[b+20>>2]=d;d=f+ -1|0;if(d>>>0>17){break c}d:{e:{f:{g:{h:{i:{j:{switch(d-1|0){case 12:case 13:case 14:case 15:break a;case 8:break h;case 7:break i;case 3:break j;case 16:break d;case 11:break e;case 10:break f;case 9:break g;default:break b}}return jg(a,b,c)}return kg(a,b,c)}return lg(a,b,c)}return mg(a,b,c)}return ng(a,b,c)}return og(a,b,c)}g=pg(a,b,c)}return g}return ig(a,b,c)}return pg(a,b,c)}function Dg(a){a=a|0;var b=0,c=0,d=0,e=0;b=o[a+32>>2];d=o[b+16>>2];e=o[b+12>>2];c=o[b+20>>2];if((e|0)>(c|0)?1:(e|0)>=(c|0)?r[b+8>>2]<=d>>>0?0:1:0){e=p[d+o[b>>2]|0];d=d+1|0;if(d>>>0<1){c=c+1|0}o[b+16>>2]=d;o[b+20>>2]=c;b=o[a+48>>2];o[a+48>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}a:{b:{if(e>>>0>2){break b}c:{switch(e-1|0){default:c=yk(384);Lg(c);b=o[a+48>>2];o[a+48>>2]=c;if(!b){break a}l[o[o[b>>2]+4>>2]](b);break b;case 0:break b;case 1:break c}}c=yk(440);ih(c);b=o[a+48>>2];o[a+48>>2]=c;if(!b){break a}l[o[o[b>>2]+4>>2]](b)}c=o[a+48>>2];if(c){break a}return 0}a=l[o[o[c>>2]+8>>2]](c,a)|0}else{a=0}return a|0}function kd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{f=c-b|0;g=f>>2;d=o[a+8>>2];e=o[a>>2];b:{if(g>>>0<=d-e>>2>>>0){d=o[a+4>>2]-e|0;f=d>>2;d=g>>>0>f>>>0?b+d|0:c;h=d-b|0;if(h){nl(e,b,h)}if(g>>>0>f>>>0){b=c-d|0;if((b|0)<1){break b}ll(o[a+4>>2],d,b);o[a+4>>2]=b+o[a+4>>2];return}o[a+4>>2]=e+(h>>2<<2);return}if(e){o[a+4>>2]=e;jl(e);o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;d=0}if(g>>>0>=1073741824){break a}c=d>>1;c=d>>2>>>0<536870911?c>>>0>>0?g:c:1073741823;if(c>>>0>=1073741824){break a}e=c<<2;c=yk(e);o[a>>2]=c;o[a+4>>2]=c;o[a+8>>2]=c+e;if((f|0)<1){break b}i=a,j=ll(c,b,f)+f|0,o[i+4>>2]=j}return}Nk();D()}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=o[b+12>>2];h=c;e=c;c=o[b+20>>2];f=c;g=o[b+16>>2];d=g+4|0;if(d>>>0<4){c=c+1|0}i=o[b+8>>2];j=d;d=c;a:{if((e|0)<(c|0)?1:(e|0)<=(c|0)?i>>>0>=j>>>0?0:1:0){break a}c=g+o[b>>2]|0;e=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=j;o[b+20>>2]=d;c=f;d=g+8|0;if(d>>>0<8){c=c+1|0}f=d;d=c;if((h|0)<(c|0)?1:(h|0)<=(c|0)?i>>>0>=f>>>0?0:1:0){break a}o[b+16>>2]=f;o[b+20>>2]=d;if(!(e&1)){break a}c=x(e)^31;if(c+ -1>>>0>28){break a}o[a+8>>2]=c+1;d=-2<>2]=c;o[a+12>>2]=d^-1;o[a+20>>2]=(c|0)/2;k=Sf(a+88|0,b)}return k|0}function Ha(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=R-16|0;R=e;i=o[a+80>>2];f=m[b+24|0];a=o[259];o[e+8>>2]=o[258];o[e+12>>2]=a;a=o[257];o[e>>2]=o[256];o[e+4>>2]=a;a=u(f,i);g=o[c>>2];d=o[c+4>>2]-g>>2;a:{if(a>>>0>d>>>0){Ia(c,a-d|0);break a}if(a>>>0>=d>>>0){break a}o[c+4>>2]=g+(a<<2)}b:{if(!i){a=1;break b}g=(f|0)<1;while(1){a=h;d=b;if(!p[d+84|0]){a=o[o[b+68>>2]+(h<<2)>>2]}if(!Ga(d,a,m[b+24|0],e)){a=0;break b}if(!g){k=o[c>>2];a=0;d=j;while(1){o[k+(d<<2)>>2]=o[(a<<2)+e>>2];d=d+1|0;a=a+1|0;if((f|0)!=(a|0)){continue}break}j=f+j|0}a=1;h=h+1|0;if((i|0)!=(h|0)){continue}break}}R=e+16|0;return a}function $h(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=o[a+4>>2];f=o[a+8>>2];if((e|0)!=(f|0)){d=o[b+4>>2];o[e>>2]=o[b>>2];o[e+4>>2]=d;o[e+8>>2]=o[b+8>>2];o[a+4>>2]=o[a+4>>2]+12;return}c=e;e=o[a>>2];g=c-e|0;c=(g|0)/12|0;d=c+1|0;a:{if(d>>>0<357913942){h=u(c,12);f=(f-e|0)/12|0;c=f<<1;f=f>>>0<178956970?c>>>0>>0?d:c:357913941;c=0;b:{if(!f){break b}if(f>>>0>=357913942){break a}c=yk(u(f,12))}d=h+c|0;h=o[b+4>>2];o[d>>2]=o[b>>2];o[d+4>>2]=h;o[d+8>>2]=o[b+8>>2];b=d+u((g|0)/-12|0,12)|0;c=c+u(f,12)|0;d=d+12|0;if((g|0)>=1){ll(b,e,g)}o[a+8>>2]=c;o[a+4>>2]=d;o[a>>2]=b;if(e){jl(e)}return}Nk();D()}db(9976);D()}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=o[b+88>>2];if(!(!d|o[d>>2]!=1)){f=o[d+8>>2];c=f;o[a+4>>2]=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);g=a+8|0;h=o[a+8>>2];e=o[a+12>>2]-h>>2;c=m[b+24|0];a:{if(e>>>0>>0){Ia(g,c-e|0);f=o[d+8>>2];c=p[b+24|0];break a}if(e>>>0<=c>>>0){break a}o[a+12>>2]=h+(c<<2)}e=1;b=f;d=p[b+4|0]|p[b+5|0]<<8|(p[b+6|0]<<16|p[b+7|0]<<24);if(c<<24>>24>=1){b=c&255;h=b>>>0>1?b:1;g=o[g>>2];b=0;c=4;while(1){o[g+(b<<2)>>2]=d;c=c+4|0;d=f+c|0;d=p[d|0]|p[d+1|0]<<8|(p[d+2|0]<<16|p[d+3|0]<<24);b=b+1|0;if((h|0)!=(b|0)){continue}break}}o[a+20>>2]=d}return e|0}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=o[b+12>>2];h=c;e=c;c=o[b+20>>2];f=c;g=o[b+16>>2];d=g+4|0;if(d>>>0<4){c=c+1|0}i=o[b+8>>2];j=d;d=c;a:{if((e|0)<(c|0)?1:(e|0)<=(c|0)?i>>>0>=j>>>0?0:1:0){break a}c=g+o[b>>2]|0;e=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);o[b+16>>2]=j;o[b+20>>2]=d;c=f;d=g+8|0;if(d>>>0<8){c=c+1|0}f=d;d=c;if((h|0)<(c|0)?1:(h|0)<=(c|0)?i>>>0>=f>>>0?0:1:0){break a}o[b+16>>2]=f;o[b+20>>2]=d;if(!(e&1)){break a}b=x(e)^31;if(b+ -1>>>0>28){break a}k=1;o[a+8>>2]=b+1;c=-2<>2]=b;o[a+12>>2]=c^-1;o[a+20>>2]=(b|0)/2}return k|0}function pd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=o[a+8>>2];f=o[a+4>>2];if(e-f>>2>>>0>=b>>>0){e=f;d=b;while(1){o[e>>2]=o[c>>2];e=e+4|0;d=d+ -1|0;if(d){continue}break}o[a+4>>2]=f+(b<<2);return}g=o[a>>2];j=f-g|0;h=j>>2;d=h+b|0;a:{if(d>>>0<1073741824){e=e-g|0;i=e>>1;d=e>>2>>>0<536870911?i>>>0>>0?d:i:1073741823;f=0;b:{if(!d){break b}if(d>>>0>=1073741824){break a}f=yk(d<<2)}i=f+(d<<2)|0;h=f+(h<<2)|0;e=h;d=b;while(1){o[e>>2]=o[c>>2];e=e+4|0;d=d+ -1|0;if(d){continue}break}b=h+(b<<2)|0;if((j|0)>=1){ll(f,g,j)}o[a+8>>2]=i;o[a+4>>2]=b;o[a>>2]=f;if(g){jl(g)}return}Nk();D()}db(1308);D()}function Dd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=o[a+8>>2];f=o[a+4>>2];if(e-f>>2>>>0>=b>>>0){e=f;d=b;while(1){o[e>>2]=o[c>>2];e=e+4|0;d=d+ -1|0;if(d){continue}break}o[a+4>>2]=f+(b<<2);return}g=o[a>>2];j=f-g|0;h=j>>2;d=h+b|0;a:{if(d>>>0<1073741824){e=e-g|0;i=e>>1;d=e>>2>>>0<536870911?i>>>0>>0?d:i:1073741823;f=0;b:{if(!d){break b}if(d>>>0>=1073741824){break a}f=yk(d<<2)}i=f+(d<<2)|0;h=f+(h<<2)|0;e=h;d=b;while(1){o[e>>2]=o[c>>2];e=e+4|0;d=d+ -1|0;if(d){continue}break}b=h+(b<<2)|0;if((j|0)>=1){ll(f,g,j)}o[a+8>>2]=i;o[a+4>>2]=b;o[a>>2]=f;if(g){jl(g)}return}Nk();D()}db(1520);D()}function Ji(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=o[a+8>>2];e=o[a+4>>2];if(d-e>>2>>>0>=b>>>0){d=e;c=b;while(1){o[d>>2]=o[2631];d=d+4|0;c=c+ -1|0;if(c){continue}break}o[a+4>>2]=e+(b<<2);return}f=o[a>>2];i=e-f|0;g=i>>2;c=g+b|0;a:{if(c>>>0<1073741824){d=d-f|0;h=d>>1;c=d>>2>>>0<536870911?h>>>0>>0?c:h:1073741823;e=0;b:{if(!c){break b}if(c>>>0>=1073741824){break a}e=yk(c<<2)}h=e+(c<<2)|0;g=e+(g<<2)|0;d=g;c=b;while(1){o[d>>2]=o[2631];d=d+4|0;c=c+ -1|0;if(c){continue}break}b=g+(b<<2)|0;if((i|0)>=1){ll(e,f,i)}o[a+8>>2]=h;o[a+4>>2]=b;o[a>>2]=e;if(f){jl(f)}return}Nk();D()}db(10528);D()}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=v(0),j=0;d=R-32|0;R=d;f=m[o[a+8>>2]+24|0];c=o[a+16>>2];if(o[c+80>>2]){g=o[o[c>>2]>>2]+o[c+48>>2]|0}o[d+8>>2]=-1;o[d+12>>2]=-1;o[d>>2]=-1;o[d+4>>2]=-1;a:{c=o[a+24>>2];if(c+ -2>>>0>28){break a}o[d>>2]=c;c=-1<>2]=e;o[d+4>>2]=c^-1;o[d+12>>2]=(e|0)/2;if(!b){e=1;break a}h=f<<2;c=0;f=0;while(1){i=v(v(1)/v(e|0));e=c<<2;uf(v(i*v(o[e+g>>2])),v(i*v(o[(e|4)+g>>2])),d+20|0);ll(o[o[o[a+8>>2]+64>>2]>>2]+f|0,d+20|0,h);e=1;j=j+1|0;if((j|0)==(b|0)){break a}c=c+2|0;f=f+h|0;e=o[d+8>>2];continue}}R=d+32|0;return e|0}function qi(a,b,c,d){var e=0,f=0,g=0;a:{if(!b){b=c;d=b>>>0<0?d+1|0:d;if((d|0)<0?1:(d|0)<=0?b>>>0>=0?0:1:0){return 0}d=o[a>>2];c=o[a+4>>2]-d|0;if(c>>>0>>0){Ka(a,b-c|0);break a}if(c>>>0<=b>>>0){break a}o[a+4>>2]=b+d;break a}if((d|0)<0?1:(d|0)<=0?c>>>0>=0?0:1:0){return 0}f=c;if(c>>>0<0){d=d+1|0}g=o[a>>2];e=o[a+4>>2]-g|0;b:{if((d|0)<0?1:(d|0)<=0?f>>>0>e>>>0?0:1:0){break b}d=f;if(e>>>0>>0){Ka(a,d-e|0);break b}if(e>>>0<=d>>>0){break b}o[a+4>>2]=d+g}if(!c){break a}nl(o[a>>2],b,c)}b=a+24|0;c=b;d=b;a=o[b+4>>2];b=o[b>>2]+1|0;if(b>>>0<1){a=a+1|0}o[d>>2]=b;o[c+4>>2]=a;return 1}function vf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=R-32|0;R=e;a:{if((d|0)==3){d=o[b+4>>2];b=o[b+12>>2];o[e+24>>2]=-1;o[e+28>>2]=-1;o[e+16>>2]=-1;o[e+20>>2]=-1;if((c|0)==-2){o[e+8>>2]=0;o[a>>2]=0;break a}f=o[o[o[d+4>>2]+8>>2]+(b<<2)>>2];if((l[o[o[d>>2]+8>>2]](d)|0)==1){g=b;b=q[d+36>>1];wf(e+8|0,d,c,g,e+16|0,(b<<24|b<<8&16711680)>>>16|0);b=o[e+8>>2];if(b){o[a>>2]=b;break a}o[e+8>>2]=0}b=yk(24);o[b+4>>2]=f;c=o[e+20>>2];o[b+8>>2]=o[e+16>>2];o[b+12>>2]=c;c=o[e+28>>2];o[b+16>>2]=o[e+24>>2];o[b+20>>2]=c;o[b>>2]=7536;o[e+8>>2]=b;o[a>>2]=b;break a}o[a>>2]=0}R=e+32|0}function Ti(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=o[a+8>>2];e=o[a+4>>2];if(d-e>>2>>>0>=b>>>0){d=e;c=b;while(1){o[d>>2]=1;d=d+4|0;c=c+ -1|0;if(c){continue}break}o[a+4>>2]=e+(b<<2);return}f=o[a>>2];i=e-f|0;g=i>>2;c=g+b|0;a:{if(c>>>0<1073741824){d=d-f|0;h=d>>1;c=d>>2>>>0<536870911?h>>>0>>0?c:h:1073741823;e=0;b:{if(!c){break b}if(c>>>0>=1073741824){break a}e=yk(c<<2)}h=e+(c<<2)|0;g=e+(g<<2)|0;d=g;c=b;while(1){o[d>>2]=1;d=d+4|0;c=c+ -1|0;if(c){continue}break}b=g+(b<<2)|0;if((i|0)>=1){ll(e,f,i)}o[a+8>>2]=h;o[a+4>>2]=b;o[a>>2]=e;if(f){jl(f)}return}Nk();D()}db(10648);D()}function cg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;a:{a=o[a+4>>2];if(a){e=p[c+11|0];d=e<<24>>24<0;i=d?o[c>>2]:c;e=d?o[c+4>>2]:e;while(1){c=p[a+27|0];d=c<<24>>24<0;c=d?o[a+20>>2]:c;j=c>>>0>>0;b:{c:{d:{e:{f:{h=j?c:e;g:{if(h){g=a+16|0;d=d?o[g>>2]:g;g=Vj(i,d,h);if(!g){if(e>>>0>>0){break g}break f}if((g|0)>-1){break f}break g}if(e>>>0>=c>>>0){break e}}c=o[a>>2];if(c){break b}o[b>>2]=a;return a}c=Vj(d,i,h);if(c){break d}}if(j){break c}break a}if((c|0)>-1){break a}}f=a+4|0;c=o[a+4>>2];if(!c){break a}a=f}f=a;a=c;continue}}o[b>>2]=f;return f}o[b>>2]=a;return f}function vd(a,b){var c=0;c=o[b+4>>2];o[a>>2]=o[b>>2];o[a+4>>2]=c;c=o[b+60>>2];o[a+56>>2]=o[b+56>>2];o[a+60>>2]=c;c=o[b+52>>2];o[a+48>>2]=o[b+48>>2];o[a+52>>2]=c;c=o[b+44>>2];o[a+40>>2]=o[b+40>>2];o[a+44>>2]=c;c=o[b+36>>2];o[a+32>>2]=o[b+32>>2];o[a+36>>2]=c;c=o[b+28>>2];o[a+24>>2]=o[b+24>>2];o[a+28>>2]=c;c=o[b+20>>2];o[a+16>>2]=o[b+16>>2];o[a+20>>2]=c;c=o[b+12>>2];o[a+8>>2]=o[b+8>>2];o[a+12>>2]=c;o[a+88>>2]=0;o[a+64>>2]=0;o[a+68>>2]=0;o[a+72>>2]=0;o[a+76>>2]=0;m[a+77|0]=0;m[a+78|0]=0;m[a+79|0]=0;m[a+80|0]=0;m[a+81|0]=0;m[a+82|0]=0;m[a+83|0]=0;m[a+84|0]=0;return a}function Ai(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;a=o[a+4>>2];a:{b:{if(!a){break b}d=p[b+11|0];c=d<<24>>24<0;i=c?o[b>>2]:b;e=c?o[b+4>>2]:d;c=g;while(1){b=p[a+27|0];j=b<<24>>24<0;h=j?o[a+20>>2]:b;f=e>>>0>>0;d=f?e:h;c:{if(d){b=a+16|0;b=Vj(j?o[b>>2]:b,i,d);if(b){break c}}b=h>>>0>>0?-1:f}c=(b|0)<0?c:a;a=o[(b>>>29&4)+a>>2];if(a){continue}break}if((c|0)==(g|0)){break b}a=p[c+27|0];f=a<<24>>24<0;d:{d=f?o[c+20>>2]:a;b=d>>>0>>0?d:e;if(b){a=c+16|0;a=Vj(i,f?o[a>>2]:a,b);if(a){break d}}if(e>>>0>>0){break b}break a}if((a|0)>-1){break a}}c=g}return c}function ij(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=R-16|0;R=g;j=a;h=cg(b,g+12|0,c);c=o[h>>2];if(c){b=0}else{c=yk(40);e=d+8|0;o[c+24>>2]=o[e>>2];f=o[d+4>>2];o[c+16>>2]=o[d>>2];o[c+20>>2]=f;o[d>>2]=0;o[d+4>>2]=0;o[e>>2]=0;o[c+36>>2]=0;o[c+28>>2]=0;o[c+32>>2]=0;f=o[d+16>>2];e=o[d+12>>2];i=f-e|0;if(i){e=c+28|0;Ka(e,i);f=o[d+16>>2];k=o[e>>2];e=o[d+12>>2]}ll(k,e,f-e|0);o[c+8>>2]=o[g+12>>2];o[c>>2]=0;o[c+4>>2]=0;o[h>>2]=c;e=o[o[b>>2]>>2];d=c;a:{if(!e){break a}o[b>>2]=e;d=o[h>>2]}ag(o[b+4>>2],d);o[b+8>>2]=o[b+8>>2]+1;b=1}m[j+4|0]=b;o[a>>2]=c;R=g+16|0}function xa(a,b){var c=0,d=0;c=R-96|0;R=c;ml(c+16|0,0,76);o[c+92>>2]=-1;o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0;a:{if(ya(c+16|0,a,c)){a=o[b>>2];if(a){o[b+4>>2]=a;jl(a);o[b+8>>2]=0;o[b>>2]=0;o[b+4>>2]=0}o[b>>2]=o[c>>2];o[b+4>>2]=o[c+4>>2];o[b+8>>2]=o[c+8>>2];o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0;d=o[c+84>>2];break a}a=o[c>>2];if(!a){break a}o[c+4>>2]=a;jl(a)}a=o[c+72>>2];if(a){jl(a)}a=o[c+48>>2];if(a){o[c+52>>2]=a;jl(a)}a=o[c+36>>2];if(a){o[c+40>>2]=a;jl(a)}a=o[c+24>>2];if(a){o[c+28>>2]=a;jl(a)}a=o[c+20>>2];o[c+20>>2]=0;if(a){za(c+16|4,a)}R=c+96|0;return d}function Fj(a){var b=0,c=0,d=0,e=0;b=R-208|0;R=b;o[b+204>>2]=0;ml(b+160|0,0,40);o[b+200>>2]=o[b+204>>2];a:{if((Gj(0,b+200|0,b+80|0,b+160|0)|0)<0){break a}d=o[a+76>>2]>=0?1:d;c=o[a>>2];if(m[a+74|0]<=0){o[a>>2]=c&-33}e=c&32;b:{if(o[a+48>>2]){Gj(a,b+200|0,b+80|0,b+160|0);break b}o[a+48>>2]=80;o[a+16>>2]=b+80;o[a+28>>2]=b;o[a+20>>2]=b;c=o[a+44>>2];o[a+44>>2]=b;Gj(a,b+200|0,b+80|0,b+160|0);if(!c){break b}l[o[a+36>>2]](a,0,0)|0;o[a+48>>2]=0;o[a+44>>2]=c;o[a+28>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0}o[a>>2]=e|o[a>>2];if(!d){break a}}R=b+208|0}function dj(a,b,c){var d=0,e=0,f=0;e=R-16|0;R=e;a:{b:{if(!c){break b}o[a>>2]=b;o[e+12>>2]=0;d=0;if(!bj(1,e+12|0,b)){break a}c:{f=o[e+12>>2];if(f){b=0;while(1){if(!bj(1,e+8|0,o[a>>2])){break b}d=yk(28);o[d+4>>2]=0;o[d+8>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;o[d>>2]=d+4;o[d+12>>2]=d+16;o[d+24>>2]=o[e+8>>2];if(!aj(a,d)){break c}o[e>>2]=d;fj(c,e);d=o[e>>2];o[e>>2]=0;if(d){Kc(d+12|0,o[d+16>>2]);Lc(d,o[d+4>>2]);jl(d)}b=b+1|0;if((f|0)!=(b|0)){continue}break}}d=aj(a,c);break a}Kc(d+12|0,o[d+16>>2]);Lc(d,o[d+4>>2]);jl(d)}d=0}R=e+16|0;return d}function ua(a,b){var c=0,d=0,e=0,f=0;c=R-32|0;R=c;o[c+24>>2]=0;o[c+16>>2]=0;o[c+20>>2]=0;d=rl(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){f=d+16&-16;e=yk(f);o[c+24>>2]=f|-2147483648;o[c+16>>2]=e;o[c+20>>2]=d;break b}m[c+27|0]=d;e=c+16|0;if(!d){break a}}ll(e,b,d)}m[d+e|0]=0;o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0;m[c+11|0]=4;m[c+4|0]=0;o[c>>2]=1701667182;d=o[a+4>>2];b=-1;c:{if(!d){break c}d=ej(d,c,c+16|0);b=-1;if(!d){break c}b=uj(a,o[d+24>>2])}if(m[c+11|0]<=-1){jl(o[c>>2])}if(m[c+27|0]<=-1){jl(o[c+16>>2])}R=c+32|0;return b}Ak();D()}function rg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{b:{d=o[a+8>>2];c=o[a+4>>2];c:{if(d-c>>3>>>0>=b>>>0){while(1){o[c>>2]=0;o[c+4>>2]=0;c=o[a+4>>2]+8|0;o[a+4>>2]=c;b=b+ -1|0;if(b){continue}break c}}f=o[a>>2];h=c-f|0;g=h>>3;e=g+b|0;if(e>>>0>=536870912){break b}c=0;g=g<<3;d=d-f|0;i=d>>2;d=d>>3>>>0<268435455?i>>>0>>0?e:i:536870911;if(d){if(d>>>0>=536870912){break a}c=yk(d<<3)}ml(c+g|0,0,b<<3);b=(e<<3)+c|0;e=(d<<3)+c|0;if((h|0)>=1){ll(c,f,h)}o[a+8>>2]=e;o[a+4>>2]=b;o[a>>2]=c;if(!f){break c}jl(f)}return}Nk();D()}db(7946);D()}function re(a,b,c,d,e,f){var g=0,h=0,i=0;f=R-32|0;R=f;h=o[o[o[b+4>>2]+8>>2]+(d<<2)>>2];a:{b:{if((l[o[o[b>>2]+8>>2]](b)|0)!=1|c+ -1>>>0>5){break b}i=l[o[o[b>>2]+36>>2]](b)|0;g=l[o[o[b>>2]+44>>2]](b,d)|0;if(!(g?i:0)){o[a>>2]=0;break a}d=l[o[o[b>>2]+40>>2]](b,d)|0;if(d){b=o[b+44>>2];o[f+12>>2]=d;o[f+8>>2]=b;o[f+20>>2]=g;o[f+16>>2]=g+12;se(a,c,h,e,f+8|0);if(o[a>>2]){break a}o[a>>2]=0;break b}b=o[b+44>>2];o[f+12>>2]=i;o[f+8>>2]=b;o[f+20>>2]=g;o[f+16>>2]=g+12;te(a,c,h,e,f+8|0);if(o[a>>2]){break a}o[a>>2]=0}o[a>>2]=0}R=f+32|0}function Wf(a,b){var c=0,d=0,e=0;c=R-80|0;R=c;d=o[b+36>>2];o[c+72>>2]=o[b+32>>2];o[c+76>>2]=d;e=o[b+28>>2];d=c- -64|0;o[d>>2]=o[b+24>>2];o[d+4>>2]=e;d=o[b+20>>2];o[c+56>>2]=o[b+16>>2];o[c+60>>2]=d;d=o[b+12>>2];o[c+48>>2]=o[b+8>>2];o[c+52>>2]=d;d=o[b+4>>2];o[c+40>>2]=o[b>>2];o[c+44>>2]=d;gi(c+8|0,c+40|0,c+24|0);b=o[c+8>>2];a:{if(b){o[a>>2]=b;Bk(a+4|0,c+8|4);if(m[c+23|0]>-1){break a}jl(o[c+12>>2]);break a}if(m[c+23|0]<=-1){jl(o[c+12>>2])}b=p[c+31|0];o[a>>2]=0;o[a+4>>2]=0;o[a+16>>2]=b;o[a+8>>2]=0;o[a+12>>2]=0}R=c+80|0}function _k(a){var b=0,c=0,d=0,e=0;b=R+ -64|0;R=b;d=o[a>>2];c=o[d+ -4>>2];d=o[d+ -8>>2];o[b+20>>2]=0;o[b+16>>2]=12680;o[b+12>>2]=a;o[b+8>>2]=12728;ml(b+24|0,0,39);a=a+d|0;a:{if(Yk(c,12728,0)){o[b+56>>2]=1;l[o[o[c>>2]+20>>2]](c,b+8|0,a,a,1,0);e=o[b+32>>2]==1?a:0;break a}l[o[o[c>>2]+24>>2]](c,b+8|0,a,1,0);a=o[b+44>>2];if(a>>>0>1){break a}if(a-1){e=o[b+48>>2]==1?o[b+36>>2]==1?o[b+40>>2]==1?o[b+28>>2]:0:0:0;break a}if(o[b+32>>2]!=1){if(o[b+48>>2]|o[b+36>>2]!=1|o[b+40>>2]!=1){break a}}e=o[b+24>>2]}R=b- -64|0;return e}function zj(a,b){var c=0,d=0,e=0,f=0;a:{if((b|0)<0){break a}c=o[a+28>>2];e=o[a+24>>2];while(1){d=e;if((c|0)==(d|0)){break a}e=d+4|0;if(o[o[d>>2]+24>>2]!=(b|0)){continue}break}b:{if((c|0)!=(e|0)){while(1){b=o[e>>2];o[e>>2]=0;f=o[d>>2];o[d>>2]=b;if(f){Kc(f+12|0,o[f+16>>2]);Lc(f,o[f+4>>2]);jl(f)}d=d+4|0;e=e+4|0;if((c|0)!=(e|0)){continue}break}c=o[a+28>>2];if((c|0)==(d|0)){break b}}while(1){c=c+ -4|0;b=o[c>>2];o[c>>2]=0;if(b){Kc(b+12|0,o[b+16>>2]);Lc(b,o[b+4>>2]);jl(b)}if((d|0)!=(c|0)){continue}break}}o[a+28>>2]=d}}function zi(a,b){var c=0,d=0,e=0,f=0;d=R-16|0;R=d;Lk(d);e=cg(a,d+12|0,b);c=o[e>>2];if(!c){c=yk(40);Bk(c+16|0,b);o[c+36>>2]=0;o[c+28>>2]=0;o[c+32>>2]=0;o[c+8>>2]=o[d+12>>2];o[c>>2]=0;o[c+4>>2]=0;o[e>>2]=c;b=o[o[a>>2]>>2];f=c;a:{if(!b){break a}o[a>>2]=b;f=o[e>>2]}b=f;ag(o[a+4>>2],b);o[a+8>>2]=o[a+8>>2]+1}a=c+28|0;b:{if(m[c+39|0]>=0){m[a+11|0]=0;m[a|0]=0;break b}m[o[c+28>>2]]=0;o[c+32>>2]=0;if(m[c+39|0]>-1){break b}jl(o[c+28>>2]);o[c+36>>2]=0}b=o[d+4>>2];o[a>>2]=o[d>>2];o[a+4>>2]=b;o[a+8>>2]=o[d+8>>2];R=d+16|0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=o[a+60>>2];a:{if(!c){break a}o[c+4>>2]=a+48;if(!l[o[o[c>>2]+12>>2]](c)){break a}b:{d=l[o[o[a>>2]+24>>2]](a)|0;if((d|0)<1){break b}c=0;while(1){c:{f=o[(l[o[o[a>>2]+28>>2]](a)|0)+4>>2];g=l[o[o[a>>2]+20>>2]](a,c)|0;e=o[a+60>>2];if(!l[o[o[e>>2]+8>>2]](e,o[o[f+8>>2]+(g<<2)>>2])){break c}c=c+1|0;if((d|0)!=(c|0)){continue}break b}break}return 0}if(!l[o[o[a>>2]+36>>2]](a,b)){break a}if(!l[o[o[a>>2]+40>>2]](a,b)){break a}h=l[o[o[a>>2]+44>>2]](a)|0}return h|0}function el(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Yk(a,o[b+8>>2],e)){dl(b,c,d);return}a:{if(Yk(a,o[b>>2],e)){if(!(o[b+20>>2]!=(c|0)?o[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}o[b+32>>2]=1;return}o[b+32>>2]=d;b:{if(o[b+44>>2]==4){break b}n[b+52>>1]=0;a=o[a+8>>2];l[o[o[a>>2]+20>>2]](a,b,c,c,1,e);if(p[b+53|0]){o[b+44>>2]=3;if(!p[b+52|0]){break b}break a}o[b+44>>2]=4}o[b+20>>2]=c;o[b+40>>2]=o[b+40>>2]+1;if(o[b+36>>2]!=1|o[b+24>>2]!=2){break a}m[b+54|0]=1;return}a=o[a+8>>2];l[o[o[a>>2]+24>>2]](a,b,c,d,e)}}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=o[a+216>>2];if((c|0)!=o[a+220>>2]){while(1){a:{c=o[u(e,144)+c>>2];if((c|0)<0){break a}f=o[a+4>>2];d=o[f+8>>2];if((c|0)>=o[f+12>>2]-d>>2){break a}c=o[d+(c<<2)>>2];if((l[o[o[c>>2]+24>>2]](c)|0)<1){break a}d=0;while(1){if((l[o[o[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((d|0)<(l[o[o[c>>2]+24>>2]](c)|0)){continue}break a}break}a=o[a+216>>2]+u(e,144)|0;return(p[a+100|0]?a+4|0:0)|0}e=e+1|0;c=o[a+216>>2];if(e>>>0<(o[a+220>>2]-c|0)/144>>>0){continue}break}}return 0}function Mi(a,b,c){var d=0,e=0,f=0;a:{b:{if((b|c)<0|b>>>0>1431655765){break b}b=u(b,3);Ni(a,b,10520);Ni(a+12|0,b,10524);b=o[a+24>>2];c:{if(o[a+32>>2]-b>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break a}d=o[a+28>>2];e=c<<2;c=yk(e);e=c+e|0;d=d-b|0;f=d+c|0;if((d|0)>=1){ll(c,b,d)}o[a+32>>2]=e;o[a+28>>2]=f;o[a+24>>2]=c;if(!b){break c}jl(b)}o[a+80>>2]=0;o[a+84>>2]=0;c=a+76|0;b=o[c>>2];o[c>>2]=0;if(b){jl(b)}o[a+68>>2]=0;o[a+72>>2]=0;b=a- -64|0;a=o[b>>2];o[b>>2]=0;d=1;if(!a){break b}jl(a)}return d}db(10528);D()}function Yj(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){c=f+ -64|0;b=c&31;if(32<=(c&63)>>>0){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}h=e;i=d;j=64-f|0;g=j&31;if(32<=(j&63)>>>0){h=i<>>32-g|h<>>0){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=j|b;c=g|h;g=d;d=f&31;if(32<=(f&63)>>>0){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}o[a>>2]=b;o[a+4>>2]=c;o[a+8>>2]=d;o[a+12>>2]=e}function la(a,b,c){var d=0,e=0,f=0,g=0;d=R-32|0;R=d;o[d+24>>2]=0;o[d+16>>2]=0;o[d+20>>2]=0;e=rl(b);if(e>>>0<4294967280){a:{b:{if(e>>>0>=11){g=e+16&-16;f=yk(g);o[d+24>>2]=g|-2147483648;o[d+16>>2]=f;o[d+20>>2]=e;break b}m[d+27|0]=e;f=d+16|0;if(!e){break a}}ll(f,b,e)}m[e+f|0]=0;o[d+8>>2]=0;o[d>>2]=0;o[d+4>>2]=0;kj(a,d+16|0,d);a=o[c>>2];if(a){o[c+4>>2]=a;jl(a);o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0}o[c>>2]=o[d>>2];o[c+4>>2]=o[d+4>>2];o[c+8>>2]=o[d+8>>2];if(m[d+27|0]<=-1){jl(o[d+16>>2])}R=d+32|0;return}Ak();D()}function fb(a,b){var c=0,d=0;c=R-32|0;R=c;a:{b:{if(o[a+8>>2]<<5>>>0>=b>>>0){break b}o[c+24>>2]=0;o[c+16>>2]=0;o[c+20>>2]=0;if((b|0)<=-1){break a}b=(b+ -1>>>5|0)+1|0;d=yk(b<<2);o[c+24>>2]=b;o[c+20>>2]=0;o[c+16>>2]=d;b=o[a>>2];o[c+12>>2]=0;o[c+8>>2]=b;d=o[a+4>>2];o[c+4>>2]=d&31;o[c>>2]=b+(d>>>3&536870908);gb(c+16|0,c+8|0,c);b=o[a>>2];o[a>>2]=o[c+16>>2];o[c+16>>2]=b;d=o[a+4>>2];o[a+4>>2]=o[c+20>>2];o[c+20>>2]=d;d=o[a+8>>2];o[a+8>>2]=o[c+24>>2];o[c+24>>2]=d;if(!b){break b}jl(b)}R=c+32|0;return}Nk();D()}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=o[a+216>>2];if((c|0)!=o[a+220>>2]){while(1){a:{c=o[u(e,144)+c>>2];if((c|0)<0){break a}f=o[a+4>>2];d=o[f+8>>2];if((c|0)>=o[f+12>>2]-d>>2){break a}c=o[d+(c<<2)>>2];if((l[o[o[c>>2]+24>>2]](c)|0)<1){break a}d=0;while(1){if((l[o[o[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((d|0)<(l[o[o[c>>2]+24>>2]](c)|0)){continue}break a}break}return(o[a+216>>2]+u(e,144)|0)+104|0}e=e+1|0;c=o[a+216>>2];if(e>>>0<(o[a+220>>2]-c|0)/144>>>0){continue}break}}return a+184|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=o[b>>2];e=o[b+4>>2];b=o[o[a+8>>2]+40>>2];f=b;g=yk((b|0)>-1?b:-1);d=e-d|0;if((d|0)>=1){d=d>>2;m=(d|0)>1?d:1;while(1){i=o[c+12>>2];d=n+o[c+20>>2]|0;j=o[c+16>>2];h=b+j|0;if(h>>>0>>0){d=d+1|0}e=d;if((i|0)<(d|0)?1:(i|0)<=(d|0)?r[c+8>>2]>=h>>>0?0:1:0){jl(g);return 0}d=ll(g,j+o[c>>2]|0,f);o[c+16>>2]=h;o[c+20>>2]=e;ll(o[o[o[a+8>>2]+64>>2]>>2]+k|0,d,f);k=f+k|0;l=l+1|0;if((m|0)!=(l|0)){continue}break}}jl(g);return 1}function Xj(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){d=b;e=f+ -64|0;b=e&31;if(32<=(e&63)>>>0){e=d<>>32-b|c<>>0){h=g<>>32-d|e<>>0){f=0;d=d>>>e|0}else{f=d>>>e|0;d=((1<>>e}d=j|d;e=f|h;f=b;b=i&31;if(32<=(i&63)>>>0){h=f<>>32-b|c<>2]=b;o[a+4>>2]=c;o[a+8>>2]=d;o[a+12>>2]=e}function nj(a,b,c){var d=0,e=0,f=0,g=0;d=R-48|0;R=d;f=Ai(a,b);if((f|0)!=(a+4|0)){hj(a,f)}f=0;o[d+8>>2]=0;o[d>>2]=0;o[d+4>>2]=0;g=o[c>>2];e=o[c+4>>2]-g|0;if(e){Ka(d,e);g=o[c>>2];c=o[d>>2]}else{c=0}ll(c,g,e);g=Bk(d+16|0,b);o[d+36>>2]=0;o[d+28>>2]=0;o[d+32>>2]=0;b=o[d+4>>2];c=o[d>>2];e=b-c|0;if(e){Ka(d+28|0,e);c=o[d>>2];f=o[d+28>>2];b=o[d+4>>2]}ll(f,c,b-c|0);ij(d+40|0,a,g,d+16|0);a=o[d+28>>2];if(a){o[d+32>>2]=a;jl(a)}if(m[d+27|0]<=-1){jl(o[d+16>>2])}a=o[d>>2];if(a){o[d+4>>2]=a;jl(a)}R=d+48|0}function Qd(a){var b=0,c=0,d=0,e=0,f=0;b=o[a+8>>2];a:{if(p[b+84|0]){break a}c=o[a+16>>2];if(!c|!p[c+84|0]){break a}d=o[b+72>>2];e=o[b+68>>2];m[c+84|0]=0;d=d-e>>2;f=o[c+68>>2];e=o[c+72>>2]-f>>2;b:{if(d>>>0>e>>>0){pd(c+68|0,d-e|0,1680);b=o[a+8>>2];break b}if(d>>>0>=e>>>0){break b}o[c+72>>2]=f+(d<<2)}if(p[b+84|0]){break a}c=o[b+68>>2];b=o[b+72>>2]-c|0;if(!b){break a}d=b>>2;e=o[o[a+16>>2]+68>>2];b=0;while(1){f=b<<2;o[f+e>>2]=o[c+f>>2];b=b+1|0;if(b>>>0>>0){continue}break}}return o[a+16>>2]}function Fa(a,b,c){var d=0,e=0,f=0,g=0;d=R-32|0;R=d;e=m[a+24|0];f=o[259];o[d+24>>2]=o[258];o[d+28>>2]=f;f=o[257];o[d+16>>2]=o[256];o[d+20>>2]=f;a:{if(Ga(a,b,e,d+16|0)){a=0;o[d+8>>2]=0;o[d>>2]=0;o[d+4>>2]=0;b=0;if(e){if((e|0)<=-1){break a}b=e<<2;g=yk(b);o[d>>2]=g;a=(e<<2)+g|0;o[d+8>>2]=a;ll(g,d+16|0,b);o[d+4>>2]=a;b=a}e=c;f=o[c>>2];if(f){o[c+4>>2]=f;jl(f);o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0;b=o[d+4>>2];g=o[d>>2];a=o[d+8>>2]}o[e+8>>2]=a;o[c+4>>2]=b;o[c>>2]=g;g=1}R=d+32|0;return g}Nk();D()}function $g(a){var b=0,c=0,d=0,e=0;c=1;d=o[a+140>>2];a:{if((d|0)<1){break a}b=d<<4;c=yk((d|0)!=(d&268435455)?-1:b|4);o[c>>2]=d;c=c+4|0;d=c+b|0;b=c;while(1){b=Rf(b)+16|0;if((d|0)!=(b|0)){continue}break}e=o[a+136>>2];o[a+136>>2]=c;if(e){d=e+ -4|0;c=o[d>>2];if(c){b=e+(c<<4)|0;while(1){b=b+ -16|0;if((e|0)!=(b|0)){continue}break}}jl(d)}c=1;if(o[a+140>>2]<1){break a}c=0;b=0;while(1){if(!Sf(o[a+136>>2]+(b<<4)|0,a)){break a}b=b+1|0;if((b|0)>2]){continue}break}c=1}return c}function Qi(a){a=a|0;var b=0,c=0,d=0,e=0;o[a>>2]=11e3;b=o[a+68>>2];if(b){o[a+72>>2]=b;jl(b)}b=o[a+56>>2];if(b){o[a+60>>2]=b;jl(b)}b=o[a+44>>2];if(b){o[a+48>>2]=b;jl(b)}b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}b=o[a+20>>2];if(b){o[a+24>>2]=b;jl(b)}d=o[a+8>>2];if(d){b=d;c=o[a+12>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=o[c>>2];o[c>>2]=0;if(b){Kb(b)}if((c|0)!=(d|0)){continue}break}e=o[a+8>>2]}b=e;o[a+12>>2]=d;jl(b)}b=o[a+4>>2];o[a+4>>2]=0;if(b){ii(b)}return a|0}function Fi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=o[a+8>>2];d=o[a+4>>2];if(e-d>>2>>>0>=b>>>0){c=a;a=b<<2;j=c,k=ml(d,0,a)+a|0,o[j+4>>2]=k;return}f=o[a>>2];h=d-f|0;g=h>>2;c=g+b|0;a:{if(c>>>0<1073741824){d=0;g=g<<2;e=e-f|0;i=e>>1;c=e>>2>>>0<536870911?i>>>0>>0?c:i:1073741823;if(c){if(c>>>0>=1073741824){break a}d=yk(c<<2)}b=b<<2;b=ml(d+g|0,0,b)+b|0;c=(c<<2)+d|0;if((h|0)>=1){ll(d,f,h)}o[a+8>>2]=c;o[a+4>>2]=b;o[a>>2]=d;if(f){jl(f)}return}Nk();D()}db(10528);D()}function ei(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=o[a+8>>2];d=o[a+4>>2];if(e-d>>2>>>0>=b>>>0){c=a;a=b<<2;j=c,k=ml(d,0,a)+a|0,o[j+4>>2]=k;return}f=o[a>>2];h=d-f|0;g=h>>2;c=g+b|0;a:{if(c>>>0<1073741824){d=0;g=g<<2;e=e-f|0;i=e>>1;c=e>>2>>>0<536870911?i>>>0>>0?c:i:1073741823;if(c){if(c>>>0>=1073741824){break a}d=yk(c<<2)}b=b<<2;b=ml(d+g|0,0,b)+b|0;c=(c<<2)+d|0;if((h|0)>=1){ll(d,f,h)}o[a+8>>2]=c;o[a+4>>2]=b;o[a>>2]=d;if(f){jl(f)}return}Nk();D()}db(9976);D()}function Ia(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=o[a+8>>2];d=o[a+4>>2];if(e-d>>2>>>0>=b>>>0){c=a;a=b<<2;j=c,k=ml(d,0,a)+a|0,o[j+4>>2]=k;return}f=o[a>>2];h=d-f|0;g=h>>2;c=g+b|0;a:{if(c>>>0<1073741824){d=0;g=g<<2;e=e-f|0;i=e>>1;c=e>>2>>>0<536870911?i>>>0>>0?c:i:1073741823;if(c){if(c>>>0>=1073741824){break a}d=yk(c<<2)}b=b<<2;b=ml(d+g|0,0,b)+b|0;c=(c<<2)+d|0;if((h|0)>=1){ll(d,f,h)}o[a+8>>2]=c;o[a+4>>2]=b;o[a>>2]=d;if(f){jl(f)}return}Nk();D()}db(1040);D()}function Ba(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=o[a>>2];a=o[e+4>>2];d=o[e+8>>2];if(a>>>0>>0){o[a>>2]=o[b>>2];o[e+4>>2]=a+4;return}f=o[e>>2];g=a-f|0;a=g>>2;c=a+1|0;a:{if(c>>>0<1073741824){h=a<<2;d=d-f|0;a=d>>1;c=d>>2>>>0<536870911?a>>>0>>0?c:a:1073741823;a=0;b:{if(!c){break b}if(c>>>0>=1073741824){break a}a=yk(c<<2)}d=h+a|0;o[d>>2]=o[b>>2];b=a+(c<<2)|0;c=d+4|0;if((g|0)>=1){ll(a,f,g)}o[e+8>>2]=b;o[e+4>>2]=c;o[e>>2]=a;if(f){jl(f)}return}Nk();D()}db(1040);D()}function ja(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a=o[a+4>>2];if(a){c=p[b+11|0];d=c<<24>>24<0;g=d?o[b>>2]:b;b=d?o[b+4>>2]:c;while(1){c=p[a+27|0];d=c<<24>>24<0;c=d?o[a+20>>2]:c;h=c>>>0>>0;a:{b:{f=h?c:b;c:{if(f){e=a+16|0;d=d?o[e>>2]:e;e=Vj(g,d,f);d:{if(!e){if(b>>>0>=c>>>0){break d}break a}if((e|0)<=-1){break a}}c=Vj(d,g,f);if(!c){break c}if((c|0)<=-1){break b}return 1}if(b>>>0>>0){break a}}if(h){break b}return 1}a=a+4|0}a=o[a>>2];if(a){continue}break}}return 0}function Li(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=o[a+4>>2];e=o[a+8>>2];if((c|0)!=(e|0)){o[c>>2]=o[b>>2];o[a+4>>2]=c+4;return}f=o[a>>2];g=c-f|0;c=g>>2;d=c+1|0;a:{if(d>>>0<1073741824){h=c<<2;e=e-f|0;c=e>>1;d=e>>2>>>0<536870911?c>>>0>>0?d:c:1073741823;c=0;b:{if(!d){break b}if(d>>>0>=1073741824){break a}c=yk(d<<2)}e=h+c|0;o[e>>2]=o[b>>2];b=c+(d<<2)|0;d=e+4|0;if((g|0)>=1){ll(c,f,g)}o[a+8>>2]=b;o[a+4>>2]=d;o[a>>2]=c;if(f){jl(f)}return}Nk();D()}db(10528);D()}function eh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=o[a+4>>2];e=o[a+8>>2];if((c|0)!=(e|0)){o[c>>2]=o[b>>2];o[a+4>>2]=c+4;return}f=o[a>>2];g=c-f|0;c=g>>2;d=c+1|0;a:{if(d>>>0<1073741824){h=c<<2;e=e-f|0;c=e>>1;d=e>>2>>>0<536870911?c>>>0>>0?d:c:1073741823;c=0;b:{if(!d){break b}if(d>>>0>=1073741824){break a}c=yk(d<<2)}e=h+c|0;o[e>>2]=o[b>>2];b=c+(d<<2)|0;d=e+4|0;if((g|0)>=1){ll(c,f,g)}o[a+8>>2]=b;o[a+4>>2]=d;o[a>>2]=c;if(f){jl(f)}return}Nk();D()}db(8832);D()}function Fh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=o[a+4>>2];a=o[e+4>>2];d=o[e+8>>2];if((a|0)!=(d|0)){o[a>>2]=b;o[e+4>>2]=a+4;return}f=o[e>>2];g=a-f|0;a=g>>2;c=a+1|0;a:{if(c>>>0<1073741824){h=a<<2;d=d-f|0;a=d>>1;c=d>>2>>>0<536870911?a>>>0>>0?c:a:1073741823;a=0;b:{if(!c){break b}if(c>>>0>=1073741824){break a}a=yk(c<<2)}d=h+a|0;o[d>>2]=b;b=a+(c<<2)|0;c=d+4|0;if((g|0)>=1){ll(a,f,g)}o[e+8>>2]=b;o[e+4>>2]=c;o[e>>2]=a;if(f){jl(f)}return}Nk();D()}db(8832);D()}function oj(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=R-16|0;R=e;f=a+12|0;a:{if((Ai(f,b)|0)!=(a+16|0)){break a}g=cg(f,e+12|0,b);d=o[g>>2];if(!d){d=yk(32);Bk(d+16|0,b);o[d+28>>2]=0;o[d+8>>2]=o[e+12>>2];o[d>>2]=0;o[d+4>>2]=0;o[g>>2]=d;b=o[o[f>>2]>>2];h=d;b:{if(!b){break b}o[f>>2]=b;h=o[g>>2]}b=h;ag(o[a+16>>2],b);a=a+20|0;o[a>>2]=o[a>>2]+1}b=o[c>>2];o[c>>2]=0;c=d+28|0;a=o[c>>2];o[c>>2]=b;if(!a){break a}Kc(a+12|0,o[a+16>>2]);Lc(a,o[a+4>>2]);jl(a)}R=e+16|0}function be(a){a=a|0;var b=0,c=0,d=0,e=0;o[a>>2]=1692;b=o[a+60>>2];o[a+60>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}b=o[a+48>>2];if(b){o[a+52>>2]=b;jl(b)}d=o[a+36>>2];if(d){b=d;c=o[a+40>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=o[c>>2];o[c>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=o[a+36>>2]}b=e;o[a+40>>2]=d;jl(b)}o[a>>2]=1384;b=o[a+16>>2];if(b){o[a+20>>2]=b;jl(b)}b=o[a+4>>2];if(b){o[a+8>>2]=b;jl(b)}return a|0}function Cj(a,b){a:{if(a){if(b>>>0<=127){break a}b:{if(!o[o[3298]>>2]){if((b&-128)==57216){break a}break b}if(b>>>0<=2047){m[a+1|0]=b&63|128;m[a|0]=b>>>6|192;return 2}if(!((b&-8192)!=57344?b>>>0>=55296:0)){m[a+2|0]=b&63|128;m[a|0]=b>>>12|224;m[a+1|0]=b>>>6&63|128;return 3}if(b+ -65536>>>0<=1048575){m[a+3|0]=b&63|128;m[a|0]=b>>>18|240;m[a+2|0]=b>>>6&63|128;m[a+1|0]=b>>>12&63|128;return 4}}o[3314]=25;a=-1}else{a=1}return a}m[a|0]=b;return 1}function ce(a){a=a|0;var b=0,c=0,d=0,e=0;o[a>>2]=1692;b=o[a+60>>2];o[a+60>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}b=o[a+48>>2];if(b){o[a+52>>2]=b;jl(b)}d=o[a+36>>2];if(d){b=d;c=o[a+40>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=o[c>>2];o[c>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=o[a+36>>2]}b=e;o[a+40>>2]=d;jl(b)}o[a>>2]=1384;b=o[a+16>>2];if(b){o[a+20>>2]=b;jl(b)}b=o[a+4>>2];if(b){o[a+8>>2]=b;jl(b)}jl(a)}function Pa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=o[a+8>>2];d=o[a+4>>2];if(e-d>>1>>>0>=b>>>0){c=a;a=b<<1;i=c,j=ml(d,0,a)+a|0,o[i+4>>2]=j;return}f=o[a>>2];g=d-f|0;h=g>>1;c=h+b|0;a:{if((c|0)>-1){d=0;e=e-f|0;c=e>>1>>>0<1073741823?e>>>0>>0?c:e:2147483647;if(c){if((c|0)<=-1){break a}d=yk(c<<1)}b=b<<1;b=ml((h<<1)+d|0,0,b)+b|0;c=(c<<1)+d|0;if((g|0)>=1){ll(d,f,g)}o[a+8>>2]=c;o[a+4>>2]=b;o[a>>2]=d;if(f){jl(f)}return}Nk();D()}db(1040);D()}function rh(a){var b=0,c=0,d=0,e=0;b=o[a+196>>2];if(b){o[a+200>>2]=b;jl(b)}b=o[a+184>>2];if(b){c=o[a+188>>2];d=b;a:{if((b|0)==(c|0)){break a}while(1){d=c+ -12|0;e=o[d>>2];if(e){o[c+ -8>>2]=e;jl(e)}c=d;if((c|0)!=(b|0)){continue}break}d=o[a+184>>2]}o[a+188>>2]=b;jl(d)}b=o[a+156>>2];if(b){o[a+160>>2]=b;jl(b)}b=o[a+136>>2];o[a+136>>2]=0;if(b){c=b+ -4|0;a=o[c>>2];if(a){a=b+(a<<4)|0;while(1){a=a+ -16|0;if((b|0)!=(a|0)){continue}break}}jl(c)}}function Di(a,b){var c=0,d=0,e=0;d=R-16|0;R=d;e=yk(88);c=e;o[c>>2]=0;o[c+4>>2]=0;o[c+64>>2]=0;o[c+68>>2]=0;o[c+56>>2]=0;o[c+48>>2]=0;o[c+52>>2]=0;o[c+40>>2]=0;o[c+44>>2]=0;o[c+32>>2]=0;o[c+36>>2]=0;o[c+24>>2]=0;o[c+28>>2]=0;o[c+16>>2]=0;o[c+20>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;o[c+72>>2]=0;o[c+76>>2]=0;o[c+80>>2]=0;o[c+84>>2]=0;o[c+60>>2]=c;o[d+8>>2]=c;a:{if(Ei(c,b)){o[a>>2]=e;o[d+8>>2]=0;break a}o[a>>2]=0;o[d+8>>2]=0;za(d+8|0,e)}R=d+16|0}function Ka(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{f=o[a+8>>2];d=o[a+4>>2];b:{if(f-d>>>0>=b>>>0){while(1){m[d|0]=0;d=o[a+4>>2]+1|0;o[a+4>>2]=d;b=b+ -1|0;if(b){continue}break b}}e=o[a>>2];h=d-e|0;c=h+b|0;if((c|0)<=-1){break a}f=f-e|0;i=f<<1;c=f>>>0<1073741823?i>>>0>>0?c:i:2147483647;if(c){g=yk(c)}ml(g+h|0,0,b);c=c+g|0;b=((b+d|0)-e|0)+g|0;if((h|0)>=1){ll(g,e,h)}o[a+8>>2]=c;o[a+4>>2]=b;o[a>>2]=g;if(!e){break b}jl(e)}return}Nk();D()}function vi(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;a:{if(a>>>0>10){break a}f=o[c+16>>2];d=o[c+12>>2];e=o[c+20>>2];g=e;if((d|0)<(g|0)?1:(d|0)<=(g|0)?r[c+8>>2]>f>>>0?0:1:0){break a}h=m[f+o[c>>2]|0];d=f+1|0;if(d>>>0<1){e=e+1|0}o[c+16>>2]=d;o[c+20>>2]=e;g=b;f=b;d=h;b:{if((d|0)<=-1){if(!vi(a+1|0,b,c)){break a}a=b;c=o[b+4>>2];b=o[b>>2];e=c<<7|b>>>25;b=b<<7;o[a>>2]=b;o[a+4>>2]=e;a=d&127|b;break b}e=0;a=d&255}o[f>>2]=a;o[g+4>>2]=e;i=1}return i}function sg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;a:{if(a>>>0>10){break a}f=o[c+16>>2];d=o[c+12>>2];e=o[c+20>>2];g=e;if((d|0)<(g|0)?1:(d|0)<=(g|0)?r[c+8>>2]>f>>>0?0:1:0){break a}h=m[f+o[c>>2]|0];d=f+1|0;if(d>>>0<1){e=e+1|0}o[c+16>>2]=d;o[c+20>>2]=e;g=b;f=b;d=h;b:{if((d|0)<=-1){if(!sg(a+1|0,b,c)){break a}a=b;c=o[b+4>>2];b=o[b>>2];e=c<<7|b>>>25;b=b<<7;o[a>>2]=b;o[a+4>>2]=e;a=d&127|b;break b}e=0;a=d&255}o[f>>2]=a;o[g+4>>2]=e;i=1}return i}function sd(a,b){var c=0,d=0,e=0;d=o[a>>2];a:{if(!d){break a}c=o[b>>2];if(!c){break a}e=d;d=o[c>>2];pi(e,d,o[c+4>>2]-d|0,0);m[a+24|0]=p[b+24|0];o[a+28>>2]=o[b+28>>2];m[a+32|0]=p[b+32|0];c=o[b+44>>2];o[a+40>>2]=o[b+40>>2];o[a+44>>2]=c;c=o[b+52>>2];o[a+48>>2]=o[b+48>>2];o[a+52>>2]=c;o[a+56>>2]=o[b+56>>2];c=o[b+12>>2];o[a+8>>2]=o[b+8>>2];o[a+12>>2]=c;c=o[b+20>>2];o[a+16>>2]=o[b+16>>2];o[a+20>>2]=c;o[a+60>>2]=o[b+60>>2];e=1}return e}function Uj(a,b){var c=0;c=(b|0)!=0;a:{b:{c:{d:{if(!b|!(a&3)){break d}while(1){if(!p[a|0]){break c}a=a+1|0;b=b+ -1|0;c=(b|0)!=0;if(!b){break d}if(a&3){continue}break}}if(!c){break b}}if(!p[a|0]){break a}e:{if(b>>>0>=4){while(1){c=o[a>>2];if((c^-1)&c+ -16843009&-2139062144){break e}a=a+4|0;b=b+ -4|0;if(b>>>0>3){continue}break}}if(!b){break b}}while(1){if(!p[a|0]){break a}a=a+1|0;b=b+ -1|0;if(b){continue}break}}return 0}return a}function Ki(a,b,c){var d=0,e=0,f=0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a:{b:{if(!b){break b}if((b|0)<=-1){break a}e=b+ -1>>>5|0;f=e+1|0;d=yk(f<<2);o[a+8>>2]=f;o[a>>2]=d;f=p[c|0];o[a+4>>2]=b;o[(b>>>0<33?d:d+(e<<2)|0)>>2]=0;c=b>>>5|0;e=c<<2;if(f){d=ml(d,255,e);b=b&31;if(!b){break b}c=d+(c<<2)|0;o[c>>2]=o[c>>2]|-1>>>32-b;return a}d=ml(d,0,e);b=b&31;if(!b){break b}c=d+(c<<2)|0;o[c>>2]=o[c>>2]&(-1>>>32-b^-1)}return a}Nk();D()}function Wh(a,b){var c=0,d=0,e=v(0),f=0;c=2;a:{if((b|0)==1){break a}c=b;if(!(b+ -1&b)){break a}c=_j(b)}d=o[a+4>>2];if(c>>>0>d>>>0){Xh(a,c);return}b:{if(c>>>0>=d>>>0){break b}f=d>>>0<3;e=v(B(v(v(r[a+12>>2])/s[a+16>>2])));c:{if(e=v(0)){b=~~e>>>0;break c}b=0}d:{e:{if(f){break e}if(Rl(d)>>>0>1){break e}b=b>>>0<2?b:1<<32-x(b+ -1|0);break d}b=_j(b)}b=c>>>0>>0?b:c;if(b>>>0>=d>>>0){break b}Xh(a,b)}}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=R-16|0;R=d;a:{b:{if(p[o[a+4>>2]+36|0]<=1){b=o[a+24>>2];break b}g=o[c+16>>2];e=o[c+12>>2];f=o[c+20>>2];b=f;h=0;if((e|0)<(b|0)?1:(e|0)<=(b|0)?r[c+8>>2]>g>>>0?0:1:0){break a}b=p[g+o[c>>2]|0];e=g+1|0;if(e>>>0<1){f=f+1|0}o[c+16>>2]=e;o[c+20>>2]=f;o[a+24>>2]=b}o[d+12>>2]=-1;o[d+8>>2]=1116;o[(d+8|0)+4>>2]=b;h=od(d+8|0,o[a+16>>2])}a=h;R=d+16|0;return a|0}function ne(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=m[o[a+8>>2]+24|0];e=c+c|0;g=yk(e>>>0>>0?-1:e);d=o[a+16>>2];e=0;a:{if(!o[d+80>>2]){break a}e=o[o[d>>2]>>2]+o[d+48>>2]|0}if(b){h=c<<1;while(1){d=i;f=0;if((c|0)>0){while(1){n[(f<<1)+g>>1]=o[(d<<2)+e>>2];d=d+1|0;f=f+1|0;if((f|0)!=(c|0)){continue}break}i=c+i|0}ll(o[o[o[a+8>>2]+64>>2]>>2]+j|0,g,h);j=h+j|0;k=k+1|0;if((k|0)!=(b|0)){continue}break}}jl(g)}function ma(a,b){var c=0,d=0,e=0,f=0,g=0;c=R-32|0;R=c;o[c+24>>2]=0;o[c+28>>2]=0;o[c+16>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;d=rl(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){e=d+16&-16;f=yk(e);o[c+16>>2]=e|-2147483648;o[c+8>>2]=f;o[c+12>>2]=d;e=c+8|0;break b}m[c+19|0]=d;e=c+8|0;f=e;if(!d){break a}}ll(f,b,d)}m[d+f|0]=0;lj(a,c+8|0,c+24|0);g=t[c+24>>3];if(m[e+11|0]<=-1){jl(o[c+8>>2])}R=c+32|0;return g}Ak();D()}function na(a,b,c){var d=0,e=0,f=0,g=0;d=R-16|0;R=d;o[d+8>>2]=0;o[d>>2]=0;o[d+4>>2]=0;e=rl(c);if(e>>>0<4294967280){a:{b:{if(e>>>0>=11){g=e+16&-16;f=yk(g);o[d+8>>2]=g|-2147483648;o[d>>2]=f;o[d+4>>2]=e;break b}m[d+11|0]=e;f=d;if(!e){break a}}ll(f,c,e)}m[e+f|0]=0;a=a+16|0;c=0;c:{if(!mj(b,d,a)){break c}c=o[a>>2];if(m[a+11|0]<=-1){break c}c=a}if(m[d+11|0]<=-1){jl(o[d>>2])}R=d+16|0;return c}Ak();D()}function di(a){a=a|0;var b=0,c=0,d=0,e=0;a:{b=o[a+8>>2];b:{if((b|0)<0){break b}c=o[a+4>>2];e=o[c>>2];d=o[c+4>>2]-e>>2;c:{if(b>>>0>d>>>0){ei(c,b-d|0);b=o[a+8>>2];break c}if(b>>>0>=d>>>0){break c}o[c+4>>2]=e+(b<<2)}e=1;if((b|0)<1){break b}a=o[a+4>>2];c=o[a>>2];d=o[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(d|0)){break a}o[c+(a<<2)>>2]=a;a=a+1|0;if((a|0)<(b|0)){continue}break}}return e|0}Ok();D()}function ch(a,b){var c=0,d=0,e=0,f=0;d=o[a+12>>2];c=o[a+16>>2]-d>>2;a:{if(c>>>0>>0){Ia(a+12|0,b-c|0);break a}if(c>>>0<=b>>>0){break a}o[a+16>>2]=d+(b<<2)}b:{c=o[a>>2];c:{if(o[a+8>>2]-c>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}d=o[a+4>>2];e=b<<2;b=yk(e);e=b+e|0;d=d-c|0;f=d+b|0;if((d|0)>=1){ll(b,c,d)}o[a+8>>2]=e;o[a+4>>2]=f;o[a>>2]=b;if(!c){break c}jl(c)}return}db(8832);D()}function xh(a,b){var c=0,d=0,e=0;a:{if((a|0)!=(b|0)){e=a;c=o[b+4>>2];d=0;b:{if(!c){break b}c:{if(c>>>0<=o[a+8>>2]<<5>>>0){d=o[a>>2];break c}d=o[a>>2];if(d){jl(d);o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;c=o[b+4>>2]}if((c|0)<=-1){break a}c=(c+ -1>>>5|0)+1|0;d=yk(c<<2);o[a+8>>2]=c;o[a+4>>2]=0;o[a>>2]=d;c=o[b+4>>2]}nl(d,o[b>>2],(c+ -1>>>3&536870908)+4|0);d=o[b+4>>2]}o[e+4>>2]=d}return}Nk();D()}function kj(a,b,c){var d=0,e=0,f=0;a:{b=Ai(a,b);b:{if((b|0)==(a+4|0)){break b}a=o[b+28>>2];d=o[b+32>>2];if((a|0)==(d|0)){break b}a=d-a|0;if(a&3){break b}d=a>>>2|0;e=o[c+4>>2];a=o[c>>2];f=e-a>>2;c:{if(d>>>0>f>>>0){Ia(c,d-f|0);a=o[c>>2];e=o[c+4>>2];break c}if(d>>>0>=f>>>0){break c}e=(d<<2)+a|0;o[c+4>>2]=e}if((a|0)==(e|0)){break a}c=a;a=o[b+28>>2];ll(c,a,o[b+32>>2]-a|0)}return}Ok();D()}function Tg(a,b){var c=0;c=o[b+8>>2];o[a+12>>2]=o[b+4>>2];o[a+16>>2]=c;o[a+28>>2]=o[b+20>>2];c=o[b+16>>2];o[a+20>>2]=o[b+12>>2];o[a+24>>2]=c;xh(a+32|0,b+24|0);xh(a+44|0,b+36|0);if((a+8|0)==(b|0)){o[a+92>>2]=o[b+84>>2];return}yd(a+56|0,o[b+48>>2],o[b+52>>2]);yd(a+68|0,o[b+60>>2],o[b- -64>>2]);yd(a+80|0,o[b+72>>2],o[b+76>>2]);o[a+92>>2]=o[b+84>>2];kd(a+96|0,o[b+88>>2],o[b+92>>2])}function hj(a,b){var c=0,d=0,e=0;c=o[b+4>>2];a:{if(!c){d=o[b+8>>2];if(o[d>>2]==(b|0)){break a}e=b+8|0;while(1){c=o[e>>2];e=c+8|0;d=o[c+8>>2];if((c|0)!=o[d>>2]){continue}break}break a}while(1){d=c;c=o[c>>2];if(c){continue}break}}if(o[a>>2]==(b|0)){o[a>>2]=d}o[a+8>>2]=o[a+8>>2]+ -1;pj(o[a+4>>2],b);a=o[b+28>>2];if(a){o[b+32>>2]=a;jl(a)}if(m[b+27|0]<=-1){jl(o[b+16>>2])}jl(b)}function Gg(a){a=a|0;var b=0,c=0,d=0,e=0;o[a>>2]=8120;b=o[a+48>>2];o[a+48>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}o[a>>2]=10116;b=o[a+20>>2];if(b){o[a+24>>2]=b;jl(b)}d=o[a+8>>2];if(d){b=d;c=o[a+12>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=o[c>>2];o[c>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=o[a+8>>2]}b=e;o[a+12>>2]=d;jl(b)}return a|0}function Hg(a){a=a|0;var b=0,c=0,d=0,e=0;o[a>>2]=8120;b=o[a+48>>2];o[a+48>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}o[a>>2]=10116;b=o[a+20>>2];if(b){o[a+24>>2]=b;jl(b)}d=o[a+8>>2];if(d){b=d;c=o[a+12>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=o[c>>2];o[c>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=o[a+8>>2]}b=e;o[a+12>>2]=d;jl(b)}jl(a)}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;b=R-32|0;R=b;a:{if(p[o[a+4>>2]+36|0]>=2){c=0;if(!l[o[o[a>>2]+52>>2]](a)){break a}}o[b+24>>2]=0;o[b+28>>2]=0;o[b+16>>2]=0;o[b+20>>2]=0;o[b+12>>2]=-1;o[b+8>>2]=1232;jd(b+8|0,o[a+24>>2],o[a+28>>2],m[o[a+8>>2]+24|0],s[a+32>>2]);c=od(b+8|0,o[a+16>>2]);o[b+8>>2]=1232;a=o[b+16>>2];if(!a){break a}o[b+20>>2]=a;jl(a)}R=b+32|0;return c|0}function ka(a,b){var c=0,d=0,e=0,f=0;c=R-16|0;R=c;o[c+12>>2]=0;o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0;d=rl(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){e=d+16&-16;f=yk(e);o[c+8>>2]=e|-2147483648;o[c>>2]=f;o[c+4>>2]=d;e=c;break b}m[c+11|0]=d;e=c;f=c;if(!d){break a}}ll(f,b,d)}m[d+f|0]=0;jj(a,c,c+12|0);a=o[c+12>>2];if(m[e+11|0]<=-1){jl(o[c>>2])}R=c+16|0;return a}Ak();D()}function Fk(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=R-16|0;R=h;if((b^-1)+ -17>>>0>=c>>>0){i=nk(a);a:{if(2147483623>b>>>0){o[h+8>>2]=b<<1;o[h+12>>2]=b+c;c=sk(o[fk(h+12|0,h+8|0)>>2]);break a}c=-18}j=c+1|0;c=tk(j);if(f){ek(c,g,f)}d=d-e|0;g=d;if(d){ek(c+f|0,e+i|0,g)}if((b|0)!=10){jl(i)}uk(a,c);vk(a,j);b=a;a=d+f|0;qk(b,a);m[h+7|0]=0;pk(a+c|0,h+7|0);R=h+16|0;return}Ak();D()}function le(a,b,c){var d=0,e=0,f=0,g=0;d=R-80|0;R=d;e=qd(d+16|0);f=o[o[a+8>>2]+56>>2];g=c<<24>>24;c=u(xi(5),c);rd(e,f,g,5,0,c,c>>31);c=yk(96);e=vd(c,e);m[c+84|0]=1;o[c+72>>2]=o[c+68>>2];wd(e,b);o[d>>2]=0;o[d+8>>2]=0;b=o[a+16>>2];o[a+16>>2]=c;a:{if(!b){o[d>>2]=0;break a}Kb(b);a=o[d>>2];o[d>>2]=0;if(!a){break a}Kb(a)}a=o[d+8>>2];o[d+8>>2]=0;if(a){Kb(a)}R=d+80|0}function ql(a,b,c){var d=0,e=0,f=0;a:{d=o[c+16>>2];if(!d){if(ol(c)){break a}d=o[c+16>>2]}f=o[c+20>>2];if(d-f>>>0>>0){l[o[c+36>>2]](c,a,b)|0;return}b:{if(m[c+75|0]<0){break b}d=b;while(1){e=d;if(!e){break b}d=e+ -1|0;if(p[d+a|0]!=10){continue}break}if(l[o[c+36>>2]](c,a,e)>>>0>>0){break a}b=b-e|0;a=a+e|0;f=o[c+20>>2]}ll(f,a,b);o[c+20>>2]=o[c+20>>2]+b}}function Tj(a){var b=0,c=0,d=0,e=0,f=0,g=0;while(1){b=a;a=b+1|0;c=m[b|0];if((c|0)==32|c+ -9>>>0<5){continue}break}c=m[b|0];e=c+ -43|0;a:{if(e>>>0>2){break a}b:{switch(e-1|0){case 1:f=1;break;case 0:break a;default:break b}}c=m[a|0];b=a;g=f}if(Bj(c)){while(1){d=(u(d,10)-m[b|0]|0)+48|0;a=m[b+1|0];b=b+1|0;if(Bj(a)){continue}break}}return g?d:0-d|0}function Aa(a,b){var c=0,d=0,e=0;c=R-16|0;R=c;o[a+68>>2]=0;o[a+72>>2]=0;o[a>>2]=b;Zi(c+8|0,b);d=o[c+8>>2];o[c+8>>2]=0;e=o[a+4>>2];o[a+4>>2]=d;a:{if(!e){o[c+8>>2]=0;break a}d=a+4|0;za(d,e);e=o[c+8>>2];o[c+8>>2]=0;if(e){za(c+8|0,e)}d=o[d>>2]}if(d){d=o[b+100>>2];b=o[b+96>>2];m[c+7|0]=0;eb(a+56|0,(d-b|0)/12|0,c+7|0);a=1}else{a=0}R=c+16|0;return a}function cl(a,b,c,d){m[a+53|0]=1;a:{if(o[a+4>>2]!=(c|0)){break a}m[a+52|0]=1;c=o[a+16>>2];if(!c){o[a+36>>2]=1;o[a+24>>2]=d;o[a+16>>2]=b;if((d|0)!=1|o[a+48>>2]!=1){break a}m[a+54|0]=1;return}if((b|0)==(c|0)){c=o[a+24>>2];if((c|0)==2){o[a+24>>2]=d;c=d}if(o[a+48>>2]!=1|(c|0)!=1){break a}m[a+54|0]=1;return}m[a+54|0]=1;o[a+36>>2]=o[a+36>>2]+1}}function ia(a,b){var c=0,d=0,e=0,f=0;c=R-16|0;R=c;o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0;d=rl(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){e=d+16&-16;f=yk(e);o[c+8>>2]=e|-2147483648;o[c>>2]=f;o[c+4>>2]=d;e=c;break b}m[c+11|0]=d;e=c;f=c;if(!d){break a}}ll(f,b,d)}m[d+f|0]=0;a=ja(a,c);if(m[e+11|0]<=-1){jl(o[c>>2])}R=c+16|0;return(a|0)!=0}Ak();D()}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=R+ -64|0;R=d;e=1;a:{if(Yk(a,b,0)){break a}e=0;if(!b){break a}b=_k(b);e=0;if(!b){break a}o[d+20>>2]=-1;o[d+16>>2]=a;o[d+12>>2]=0;o[d+8>>2]=b;ml(d+24|0,0,39);o[d+56>>2]=1;l[o[o[b>>2]+28>>2]](b,d+8|0,o[c>>2],1);e=0;if(o[d+32>>2]!=1){break a}o[c>>2]=o[d+24>>2];e=1}R=d- -64|0;return e|0}function qg(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=o[c+16>>2];d=o[c+12>>2];e=o[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?r[c+8>>2]>f>>>0?0:1:0){break a}d=p[f+o[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}o[c+16>>2]=f;o[c+20>>2]=e;e=b;if(d&128){if(!qg(a+1|0,b,c)){break a}a=o[b>>2]<<7;o[b>>2]=a;d=a|d&127}o[e>>2]=d;g=1}return g}function bj(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=o[c+16>>2];d=o[c+12>>2];e=o[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?r[c+8>>2]>f>>>0?0:1:0){break a}d=p[f+o[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}o[c+16>>2]=f;o[c+20>>2]=e;e=b;if(d&128){if(!bj(a+1|0,b,c)){break a}a=o[b>>2]<<7;o[b>>2]=a;d=a|d&127}o[e>>2]=d;g=1}return g}function Zh(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=o[c+16>>2];d=o[c+12>>2];e=o[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?r[c+8>>2]>f>>>0?0:1:0){break a}d=p[f+o[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}o[c+16>>2]=f;o[c+20>>2]=e;e=b;if(d&128){if(!Zh(a+1|0,b,c)){break a}a=o[b>>2]<<7;o[b>>2]=a;d=a|d&127}o[e>>2]=d;g=1}return g}function Xg(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=o[c+16>>2];d=o[c+12>>2];e=o[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?r[c+8>>2]>f>>>0?0:1:0){break a}d=p[f+o[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}o[c+16>>2]=f;o[c+20>>2]=e;e=b;if(d&128){if(!Xg(a+1|0,b,c)){break a}a=o[b>>2]<<7;o[b>>2]=a;d=a|d&127}o[e>>2]=d;g=1}return g}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=R-16|0;R=d;o[a+4>>2]=b;b=o[b+64>>2];e=o[b>>2];b=o[b+4>>2];m[d+15|0]=0;eb(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=o[a+4>>2];e=o[b+56>>2];b=o[b+52>>2];m[d+14|0]=0;eb(a+36|0,e-b>>2,d+14|0);b=o[c+12>>2];o[a+16>>2]=o[c+8>>2];o[a+20>>2]=b;b=o[c+4>>2];o[a+8>>2]=o[c>>2];o[a+12>>2]=b;R=d+16|0}function Tf(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=o[c+16>>2];d=o[c+12>>2];e=o[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?r[c+8>>2]>f>>>0?0:1:0){break a}d=p[f+o[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}o[c+16>>2]=f;o[c+20>>2]=e;e=b;if(d&128){if(!Tf(a+1|0,b,c)){break a}a=o[b>>2]<<7;o[b>>2]=a;d=a|d&127}o[e>>2]=d;g=1}return g}function Ge(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=o[c+16>>2];d=o[c+12>>2];e=o[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?r[c+8>>2]>f>>>0?0:1:0){break a}d=p[f+o[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}o[c+16>>2]=f;o[c+20>>2]=e;e=b;if(d&128){if(!Ge(a+1|0,b,c)){break a}a=o[b>>2]<<7;o[b>>2]=a;d=a|d&127}o[e>>2]=d;g=1}return g}function Cd(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=o[c+16>>2];d=o[c+12>>2];e=o[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?r[c+8>>2]>f>>>0?0:1:0){break a}d=p[f+o[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}o[c+16>>2]=f;o[c+20>>2]=e;e=b;if(d&128){if(!Cd(a+1|0,b,c)){break a}a=o[b>>2]<<7;o[b>>2]=a;d=a|d&127}o[e>>2]=d;g=1}return g}function rl(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!p[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(p[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=o[c>>2];if(!((d^-1)&d+ -16843009&-2139062144)){continue}break}if(!(d&255)){return c-a|0}while(1){d=p[c+1|0];b=c+1|0;c=b;if(d){continue}break}}return b-a|0}function ie(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=R-48|0;R=e;a:{if((d|0)!=1){o[a>>2]=0;break a}d=o[b+4>>2];b=o[b+12>>2];o[e+40>>2]=0;f=e+32|0;o[f>>2]=0;o[f+4>>2]=0;o[e+24>>2]=0;o[e+28>>2]=0;o[e+16>>2]=0;o[e+20>>2]=0;o[e+8>>2]=0;o[e+12>>2]=0;je(e,c,b,d,e+8|0);b=o[f>>2];if(b){o[e+36>>2]=b;jl(b)}o[a>>2]=o[e>>2]}R=e+48|0}function Da(a,b,c){var d=0,e=0,f=0,g=0;a:{if(r[a+80>>2]>65535){break a}d=b;e=o[a+96>>2];b=o[a+100>>2]-e|0;a=(b|0)/12|0;if((d|0)!=(u(a,6)|0)){break a}f=1;if(!b){break a}g=a>>>0>1?a:1;a=0;while(1){b=u(a,6)+c|0;d=u(a,12)+e|0;n[b>>1]=o[d>>2];n[b+2>>1]=o[d+4>>2];n[b+4>>1]=o[d+8>>2];a=a+1|0;if((g|0)!=(a|0)){continue}break}}return f}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=1;a:{if((l[o[o[b>>2]+20>>2]](b)|0)<1){break a}d=0;while(1){c=rj(o[o[a+4>>2]+4>>2],l[o[o[b>>2]+24>>2]](b,e)|0);if((c|0)==-1){break a}c=mi(o[a+4>>2],c);if(!c){break a}if(!l[o[o[b>>2]+28>>2]](b,c)){break a}e=e+1|0;if((e|0)<(l[o[o[b>>2]+20>>2]](b)|0)){continue}break}d=1}return d|0}function fl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Yk(a,o[b+8>>2],e)){dl(b,c,d);return}a:{if(!Yk(a,o[b>>2],e)){break a}if(!(o[b+20>>2]!=(c|0)?o[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}o[b+32>>2]=1;return}o[b+20>>2]=c;o[b+32>>2]=d;o[b+40>>2]=o[b+40>>2]+1;if(!(o[b+36>>2]!=1|o[b+24>>2]!=2)){m[b+54|0]=1}o[b+44>>2]=4}}function Vi(a){o[a>>2]=0;o[a+4>>2]=0;o[a+28>>2]=0;o[a+32>>2]=0;m[a+24|0]=1;o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;o[a+36>>2]=0;o[a+40>>2]=0;o[a+44>>2]=0;o[a+48>>2]=0;o[a+52>>2]=0;o[a+56>>2]=0;o[a+60>>2]=0;o[a+64>>2]=0;o[a+72>>2]=0;o[a+76>>2]=0;o[a+80>>2]=0;o[a+84>>2]=0;o[a+88>>2]=0;o[a+92>>2]=0;o[a+68>>2]=a}function Nj(a,b,c){var d=0,e=0,f=0;a:{if((b|0)==1&a>>>0<0|b>>>0<1){d=a;break a}while(1){d=Ql(a,b,10,0);e=T;f=e;e=Ol(d,e,10,0);c=c+ -1|0;m[c|0]=a-e|48;e=(b|0)==9&a>>>0>4294967295|b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c+ -1|0;a=(d>>>0)/10|0;m[c|0]=d-u(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=R-16|0;R=d;o[a+4>>2]=b;e=o[b>>2];b=o[b+4>>2];m[d+15|0]=0;eb(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=o[a+4>>2];e=o[b+28>>2];b=o[b+24>>2];m[d+14|0]=0;eb(a+36|0,e-b>>2,d+14|0);b=o[c+12>>2];o[a+16>>2]=o[c+8>>2];o[a+20>>2]=b;b=o[c+4>>2];o[a+8>>2]=o[c>>2];o[a+12>>2]=b;R=d+16|0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0>3){o[a>>2]=0;return}a:{b:{switch(c-1|0){default:b=yk(20);Ld(b);break a;case 0:b=yk(24);ee(b);break a;case 1:b=yk(36);ee(b);o[b+32>>2]=0;o[b+24>>2]=-1;o[b+28>>2]=0;o[b>>2]=7720;break a;case 2:break b}}b=yk(28);ee(b);o[b+24>>2]=-1;o[b>>2]=5584;o[a>>2]=b;return}o[a>>2]=b}function wa(a,b,c){var d=0,e=0,f=0;d=R-16|0;R=d;e=o[a+96>>2];o[d+8>>2]=0;o[d>>2]=0;o[d+4>>2]=0;a=yk(12);o[d>>2]=a;o[d+4>>2]=a;f=a+12|0;o[d+8>>2]=f;a=ll(a,e+u(b,12)|0,12);b=a+12|0;o[d+4>>2]=b;e=o[c>>2];if(e){o[c+4>>2]=e;jl(e);o[c+8>>2]=0;o[c>>2]=0;o[c+4>>2]=0}o[c+8>>2]=f;o[c+4>>2]=b;o[c>>2]=a;R=d+16|0;return 1}function ii(a){var b=0,c=0,d=0,e=0;if(a){d=o[a+24>>2];if(d){b=d;c=o[a+28>>2];e=b;a:{if((c|0)==(b|0)){break a}while(1){c=c+ -4|0;b=o[c>>2];o[c>>2]=0;if(b){Kc(b+12|0,o[b+16>>2]);Lc(b,o[b+4>>2]);jl(b)}if((c|0)!=(d|0)){continue}break}e=o[a+24>>2]}b=e;o[a+28>>2]=d;jl(b)}Kc(a+12|0,o[a+16>>2]);Lc(a,o[a+4>>2]);jl(a)}}function Ci(a){var b=0;o[a>>2]=0;o[a+4>>2]=0;o[a+56>>2]=0;o[a+48>>2]=0;o[a+52>>2]=0;o[a+40>>2]=0;o[a+44>>2]=0;o[a+32>>2]=0;o[a+36>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;b=a- -64|0;o[b>>2]=0;o[b+4>>2]=0;o[a+72>>2]=0;o[a+76>>2]=0;o[a+80>>2]=0;o[a+84>>2]=0;o[a+60>>2]=a}function dg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;if(!a){return 1}e=o[c+16>>2];h=o[c+12>>2];g=o[c+20>>2];f=g;a:{if((h|0)<(f|0)?1:(h|0)<=(f|0)?r[c+8>>2]>e>>>0?0:1:0){break a}f=p[e+o[c>>2]|0];e=e+1|0;if(e>>>0<1){g=g+1|0}o[c+16>>2]=e;o[c+20>>2]=g;if(f>>>0>1){break a}if(f-1){return eg(a,b,c,d)}i=fg(a,c,d)}return i}function Si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=R-16|0;R=d;e=o[c>>2];o[c>>2]=0;o[d+8>>2]=e;wj(a,b,d+8|0);c=o[d+8>>2];o[d+8>>2]=0;if(c){Kb(c)}e=o[a+84>>2];c=o[a+88>>2]-e>>2;a:{if((c|0)>(b|0)){break a}b=b+1|0;if(b>>>0>c>>>0){Ti(a+84|0,b-c|0);break a}if(b>>>0>=c>>>0){break a}o[a+88>>2]=e+(b<<2)}R=d+16|0}function Bg(a){a=a|0;var b=0,c=0,d=0,e=0;o[a>>2]=10116;b=o[a+20>>2];if(b){o[a+24>>2]=b;jl(b)}d=o[a+8>>2];if(d){b=d;c=o[a+12>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=o[c>>2];o[c>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=o[a+8>>2]}b=e;o[a+12>>2]=d;jl(b)}return a|0}function Jk(a,b,c,d,e){var f=0,g=0,h=0;f=R-16|0;R=f;if(-17-b>>>0>=c>>>0){g=nk(a);a:{if(2147483623>b>>>0){o[f+8>>2]=b<<1;o[f+12>>2]=b+c;c=sk(o[fk(f+12|0,f+8|0)>>2]);break a}c=-18}h=c+1|0;c=tk(h);if(e){ek(c,g,e)}d=d-e|0;if(d){ek(c+e|0,e+g|0,d)}if((b|0)!=10){jl(g)}uk(a,c);vk(a,h);R=f+16|0;return}Ak();D()}function bi(a){a=a|0;var b=0,c=0,d=0,e=0;o[a>>2]=10116;b=o[a+20>>2];if(b){o[a+24>>2]=b;jl(b)}d=o[a+8>>2];if(d){b=d;c=o[a+12>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=o[c>>2];o[c>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=o[a+8>>2]}b=e;o[a+12>>2]=d;jl(b)}jl(a)}function xk(a,b,c){var d=0,e=0,f=0,g=0;e=R-16|0;R=e;d=c-b|0;if(d>>>0<=4294967279){a:{if(d>>>0<=10){rk(a,d);f=a;break a}g=sk(d)+1|0;f=tk(g);uk(a,f);vk(a,g);qk(a,d)}d=c-b|0;a=f;while(1){if((b|0)!=(c|0)){pk(a,b);a=a+1|0;b=b+1|0;continue}break}m[e+15|0]=0;pk(d+f|0,e+15|0);R=e+16|0;return}Ak();D()}function Ea(a,b,c){var d=0,e=0,f=0,g=0;e=o[a+96>>2];d=o[a+100>>2]-e|0;a=(d|0)/12|0;a:{if((b|0)!=(d|0)){break a}f=1;if(!b){break a}g=a>>>0>1?a:1;a=0;while(1){d=u(a,12);b=d+c|0;d=d+e|0;o[b>>2]=o[d>>2];o[b+4>>2]=o[d+4>>2];o[b+8>>2]=o[d+8>>2];a=a+1|0;if((g|0)!=(a|0)){continue}break}}return f}function wd(a,b){var c=0,d=0;a:{if(o[a+64>>2]){break a}d=yk(32);oi(d);c=o[a+64>>2];o[a+64>>2]=d;if(!c){break a}d=o[c>>2];if(d){o[c+4>>2]=d;jl(d)}jl(c)}c=xi(o[a+28>>2]);c=u(c,m[a+24|0]);d=c;c=c>>31;if(pi(o[a+64>>2],0,Ol(d,c,b,0),T)){td(a,o[a+64>>2],d,c);o[a+80>>2]=b;a=1}else{a=0}return a}function zh(a){a=a|0;var b=0;o[a+8>>2]=9152;o[a>>2]=8940;b=o[a+96>>2];if(b){o[a+100>>2]=b;jl(b)}b=o[a+80>>2];if(b){o[a+84>>2]=b;jl(b)}b=o[a+68>>2];if(b){o[a+72>>2]=b;jl(b)}b=o[a+56>>2];if(b){o[a+60>>2]=b;jl(b)}o[a+8>>2]=9388;b=o[a+44>>2];if(b){jl(b)}b=o[a+32>>2];if(b){jl(b)}return a|0}function Ah(a){a=a|0;var b=0;o[a+8>>2]=9152;o[a>>2]=8940;b=o[a+96>>2];if(b){o[a+100>>2]=b;jl(b)}b=o[a+80>>2];if(b){o[a+84>>2]=b;jl(b)}b=o[a+68>>2];if(b){o[a+72>>2]=b;jl(b)}b=o[a+56>>2];if(b){o[a+60>>2]=b;jl(b)}o[a+8>>2]=9388;b=o[a+44>>2];if(b){jl(b)}b=o[a+32>>2];if(b){jl(b)}jl(a)}function cb(a,b){var c=0,d=0;c=o[a+4>>2];if(!c){return 0}b=o[o[o[a+8>>2]+(b<<2)>>2]+60>>2];if((b|0)<0){return 0}a=o[c+24>>2];c=o[c+28>>2];if((a|0)==(c|0)){return 0}a:{while(1){d=o[a>>2];if((b|0)==o[d+24>>2]){break a}a=a+4|0;if((c|0)!=(a|0)){continue}break}return 0}return d}function Pk(a){var b=0;if(o[a+76>>2]<0){a:{if(m[a+75|0]==10){break a}b=o[a+20>>2];if(b>>>0>=r[a+16>>2]){break a}o[a+20>>2]=b+1;m[b|0]=10;return}pl(a);return}b:{c:{if(m[a+75|0]==10){break c}b=o[a+20>>2];if(b>>>0>=r[a+16>>2]){break c}o[a+20>>2]=b+1;m[b|0]=10;break b}pl(a)}}function yh(a){a=a|0;var b=0;o[a>>2]=9152;b=o[a+88>>2];if(b){o[a+92>>2]=b;jl(b)}b=o[a+72>>2];if(b){o[a+76>>2]=b;jl(b)}b=o[a+60>>2];if(b){o[a- -64>>2]=b;jl(b)}b=o[a+48>>2];if(b){o[a+52>>2]=b;jl(b)}o[a>>2]=9388;b=o[a+36>>2];if(b){jl(b)}b=o[a+24>>2];if(b){jl(b)}return a|0}function Zb(a){a=a|0;var b=0,c=0,d=0,e=0;if(a){if(m[a+27|0]<=-1){jl(o[a+16>>2])}c=o[a>>2];if(c){b=c;d=o[a+4>>2];e=b;a:{if((d|0)==(b|0)){break a}while(1){b=d+ -12|0;if(m[d+ -1|0]<=-1){jl(o[b>>2])}d=b;if((b|0)!=(c|0)){continue}break}e=o[a>>2]}b=e;o[a+4>>2]=c;jl(b)}jl(a)}}function jk(){var a=0,b=0,c=0;a=R-16|0;R=a;a:{if(L(a+12|0,a+8|0)){break a}b=il((o[a+12>>2]<<2)+4|0);o[3331]=b;if(!b){break a}b:{b=il(o[a+8>>2]);if(b){c=o[3331];if(c){break b}}o[3331]=0;break a}o[(o[a+12>>2]<<2)+c>>2]=0;if(!M(o[3331],b|0)){break a}o[3331]=0}R=a+16|0}function Uf(a){var b=0,c=0,d=0,e=0,f=0;d=0-p[a+12|0]|0;c=o[a+8>>2];a:{if(c>>>0>4095){break a}b=o[a+4>>2];if((b|0)<1){break a}b=b+ -1|0;o[a+4>>2]=b;c=p[b+o[a>>2]|0]|c<<8;o[a+8>>2]=c}d=d&255;b=u(d,c>>>8|0);e=c&255;f=e>>>0>>0;o[a+8>>2]=f?b+e|0:(c-d|0)-b|0;return f}function Gh(a){a=a|0;var b=0;o[a>>2]=9152;b=o[a+88>>2];if(b){o[a+92>>2]=b;jl(b)}b=o[a+72>>2];if(b){o[a+76>>2]=b;jl(b)}b=o[a+60>>2];if(b){o[a- -64>>2]=b;jl(b)}b=o[a+48>>2];if(b){o[a+52>>2]=b;jl(b)}o[a>>2]=9388;b=o[a+36>>2];if(b){jl(b)}b=o[a+24>>2];if(b){jl(b)}jl(a)}function $f(a,b,c,d){var e=0;e=R-16|0;R=e;c=bg(a,b,e+12|0,e+8|0,c);if(!o[c>>2]){b=yk(40);Bk(b+16|0,d);Bk(b+28|0,d+12|0);o[b+8>>2]=o[e+12>>2];o[b>>2]=0;o[b+4>>2]=0;o[c>>2]=b;d=o[o[a>>2]>>2];if(d){o[a>>2]=d;b=o[c>>2]}ag(o[a+4>>2],b);o[a+8>>2]=o[a+8>>2]+1}R=e+16|0}function Yg(a){var b=0;b=o[a+84>>2];if(b){o[a+88>>2]=b;jl(b)}b=o[a+72>>2];if(b){o[a+76>>2]=b;jl(b)}b=o[a+52>>2];if(b){o[a+56>>2]=b;jl(b)}b=o[a+40>>2];if(b){o[a+44>>2]=b;jl(b)}b=o[a+28>>2];if(b){o[a+32>>2]=b;jl(b)}b=o[a+12>>2];if(b){jl(b)}a=o[a>>2];if(a){jl(a)}}function Ej(a,b){var c=0,d=0,i=0;h(+a);c=e(1)|0;d=e(0)|0;i=c;c=c>>>20&2047;if((c|0)!=2047){if(!c){c=b;if(a==0){b=0}else{a=Ej(a*0x10000000000000000,b);b=o[b>>2]+ -64|0}o[c>>2]=b;return a}o[b>>2]=c+ -1022;f(0,d|0);f(1,i&-2146435073|1071644672);a=+g()}return a}function za(a,b){if(b){a=o[b+76>>2];if(a){o[b+80>>2]=a;jl(a)}a=o[b- -64>>2];if(a){o[b+68>>2]=a;jl(a)}a=o[b+48>>2];if(a){o[b+52>>2]=a;jl(a)}a=o[b+24>>2];if(a){o[b+28>>2]=a;jl(a)}a=o[b+12>>2];if(a){o[b+16>>2]=a;jl(a)}a=o[b>>2];if(a){o[b+4>>2]=a;jl(a)}jl(b)}}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=1;e=l[o[o[a>>2]+24>>2]](a)|0;a:{if((e|0)<1){break a}g=a+48|0;c=0;while(1){f=o[o[a+36>>2]+(d<<2)>>2];if(!l[o[o[f>>2]+20>>2]](f,g,b)){break a}d=d+1|0;if((e|0)!=(d|0)){continue}break}c=1}return c|0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=1;e=l[o[o[a>>2]+24>>2]](a)|0;a:{if((e|0)<1){break a}g=a+48|0;c=0;while(1){f=o[o[a+36>>2]+(d<<2)>>2];if(!l[o[o[f>>2]+16>>2]](f,g,b)){break a}d=d+1|0;if((e|0)!=(d|0)){continue}break}c=1}return c|0}function Ml(a,b,c,d){var e=0,f=0,g=0,h=0;e=b;f=e>>31;e=e>>31;a=a^e;g=a-e|0;h=(b^f)-((a>>>0>>0)+f|0)|0;e=d;f=e>>31;e=e>>31;a=c^e;e=Ql(g,h,a-e|0,(d^f)-((a>>>0>>0)+f|0)|0);b=b^d;c=b>>31;a=b>>31;b=e^a;d=b-a|0;T=(c^T)-((b>>>0>>0)+c|0)|0;return d}function dd(a,b){a=a|0;b=b|0;var c=0,d=0;o[b>>2]=2;c=o[b+8>>2];d=o[b+12>>2]-c|0;if(d>>>0<=4294967291){b=b+8|0;ri(b,d+4|0);c=o[b>>2]}b=c+d|0;a=p[a+4|0]|p[a+5|0]<<8|(p[a+6|0]<<16|p[a+7|0]<<24);m[b|0]=a;m[b+1|0]=a>>>8;m[b+2|0]=a>>>16;m[b+3|0]=a>>>24}function pl(a){var b=0,c=0,d=0;b=R-16|0;R=b;m[b+15|0]=10;c=o[a+16>>2];a:{if(!c){if(ol(a)){break a}c=o[a+16>>2]}d=o[a+20>>2];if(!(m[a+75|0]==10|d>>>0>=c>>>0)){o[a+20>>2]=d+1;m[d|0]=10;break a}if((l[o[a+36>>2]](a,b+15|0,1)|0)!=1){break a}}R=b+16|0}function ck(a,b,c){var d=0,e=0,f=0,g=0;d=R-16|0;R=d;b=b-a>>2;while(1){if(b){o[d+12>>2]=a;e=d+12|0;f=e;g=o[e>>2];e=b>>>1|0;o[f>>2]=g+(e<<2);if(dk(o[d+12>>2],c)){a=o[d+12>>2]+4|0;o[d+12>>2]=a;b=(e^-1)+b|0}else{b=e}continue}break}R=d+16|0;return a}function lj(a,b,c){var d=0;a:{d=a+4|0;a=Ai(a,b);if((d|0)==(a|0)){break a}b=o[a+32>>2];a=o[a+28>>2];if((b-a|0)!=8){break a}b=p[a+4|0]|p[a+5|0]<<8|(p[a+6|0]<<16|p[a+7|0]<<24);o[c>>2]=p[a|0]|p[a+1|0]<<8|(p[a+2|0]<<16|p[a+3|0]<<24);o[c+4>>2]=b}}function Kb(a){a=a|0;var b=0,c=0;if(a){b=o[a+88>>2];o[a+88>>2]=0;if(b){c=o[b+8>>2];if(c){o[b+12>>2]=c;jl(c)}jl(b)}b=o[a+68>>2];if(b){o[a+72>>2]=b;jl(b)}b=o[a+64>>2];o[a+64>>2]=0;if(b){c=o[b>>2];if(c){o[b+4>>2]=c;jl(c)}jl(b)}jl(a)}}function vj(a,b){var c=0,d=0,e=0,f=0;c=R-16|0;R=c;d=o[a+12>>2];e=o[a+8>>2];f=o[b>>2];o[b>>2]=0;o[c+8>>2]=f;l[o[o[a>>2]+8>>2]](a,d-e>>2,c+8|0);b=o[c+8>>2];o[c+8>>2]=0;if(b){Kb(b)}R=c+16|0;return(o[a+12>>2]-o[a+8>>2]>>2)+ -1|0}function Ll(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=u(e,f);g=c&65535;h=a&65535;i=u(g,h);f=(i>>>16|0)+u(f,g)|0;e=(f&65535)+u(e,h)|0;a=(u(b,c)+j|0)+u(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;T=a;return b}function tj(a,b){var c=0,d=0,e=0;c=o[a+8>>2];a=o[a+12>>2];a:{if((c|0)==(a|0)){break a}a=a-c>>2;e=a>>>0>1?a:1;a=0;while(1){d=o[(a<<2)+c>>2];if(o[d+60>>2]==(b|0)){break a}a=a+1|0;if((e|0)!=(a|0)){continue}break}d=0}return d}function si(a){n[a+38>>1]=0;o[a>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;m[a+29|0]=0;m[a+30|0]=0;m[a+31|0]=0;m[a+32|0]=0;m[a+33|0]=0;m[a+34|0]=0;m[a+35|0]=0;m[a+36|0]=0;return a}function ri(a,b){var c=0,d=0;d=o[a>>2];c=o[a+4>>2]-d|0;a:{if(c>>>0>>0){Ka(a,b-c|0);break a}if(c>>>0<=b>>>0){break a}o[a+4>>2]=b+d}b=a+24|0;c=b;d=b;a=o[b+4>>2];b=o[b>>2]+1|0;if(b>>>0<1){a=a+1|0}o[d>>2]=b;o[c+4>>2]=a}function li(a){a=a|0;var b=0,c=0,d=0,e=0;c=1;b=o[a+8>>2];d=o[a+12>>2];a:{if((b|0)==(d|0)){break a}while(1){e=o[b>>2];if(l[o[o[e>>2]+16>>2]](e,o[a+32>>2])){b=b+4|0;if((d|0)!=(b|0)){continue}break a}break}c=0}return c|0}function Ck(a,b,c){var d=0,e=0,f=0;d=R-16|0;R=d;if(4294967279>=c>>>0){a:{if(c>>>0<=10){rk(a,c);e=a;break a}f=sk(c)+1|0;e=tk(f);uk(a,e);vk(a,f);qk(a,c)}ek(e,b,c);m[d+15|0]=0;pk(c+e|0,d+15|0);R=d+16|0;return}Ak();D()}function Pf(a){a=a|0;var b=0;o[a>>2]=7720;b=o[a+28>>2];o[a+28>>2]=0;if(b){jl(b)}o[a>>2]=1908;b=o[a+20>>2];o[a+20>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}o[a>>2]=1596;b=o[a+16>>2];o[a+16>>2]=0;if(b){Kb(b)}return a|0}function $k(a,b,c){var d=0;d=o[a+16>>2];if(!d){o[a+36>>2]=1;o[a+24>>2]=c;o[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(o[a+24>>2]!=2){break a}o[a+24>>2]=c;return}m[a+54|0]=1;o[a+24>>2]=2;o[a+36>>2]=o[a+36>>2]+1}}function wi(a){var b=0,c=0,d=0,e=0,f=0,g=0;m[a+36|0]=0;d=o[a+20>>2];e=a;f=a;g=o[a+16>>2];a=o[a+32>>2]+7|0;if(a>>>0<7){b=1}c=b>>>3|0;a=b<<29|a>>>3;b=g+a|0;c=c+d|0;o[f+16>>2]=b;o[e+20>>2]=b>>>0>>0?c+1|0:c}function cf(a){a=a|0;var b=0;o[a>>2]=4352;b=o[a+96>>2];if(b){jl(b)}b=o[a+84>>2];if(b){jl(b)}b=o[a+72>>2];if(b){jl(b)}b=o[a+60>>2];if(b){jl(b)}o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}return a|0}function Qf(a){a=a|0;var b=0;o[a>>2]=7720;b=o[a+28>>2];o[a+28>>2]=0;if(b){jl(b)}o[a>>2]=1908;b=o[a+20>>2];o[a+20>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}o[a>>2]=1596;b=o[a+16>>2];o[a+16>>2]=0;if(b){Kb(b)}jl(a)}function Ce(a){a=a|0;var b=0;o[a>>2]=2788;b=o[a+96>>2];if(b){jl(b)}b=o[a+84>>2];if(b){jl(b)}b=o[a+72>>2];if(b){jl(b)}b=o[a+60>>2];if(b){jl(b)}o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}return a|0}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;yj(a,b);a:{if((b|0)<0){break a}c=o[a+88>>2];d=o[a+84>>2];if(c-d>>2<=(b|0)){break a}b=d+(b<<2)|0;d=b+4|0;c=c-d|0;e=c>>2;if(c){nl(b,d,c)}o[a+88>>2]=b+(e<<2)}}function Ek(a,b,c){var d=0,e=0,f=0,g=0;e=R-16|0;R=e;d=lk(a);a:{if(d>>>0>=c>>>0){f=nk(a);g=f;d=c;if(c){nl(g,b,d)}m[e+15|0]=0;pk(c+f|0,e+15|0);wk(a,c);break a}f=a;a=kk(a);Fk(f,d,c-d|0,a,a,c,b)}R=e+16|0}function df(a){a=a|0;var b=0;o[a>>2]=4352;b=o[a+96>>2];if(b){jl(b)}b=o[a+84>>2];if(b){jl(b)}b=o[a+72>>2];if(b){jl(b)}b=o[a+60>>2];if(b){jl(b)}o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}jl(a)}function Kj(a,b,c,d,e){var f=0;f=R-256|0;R=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;ml(f,b,d?c:256);if(!d){while(1){Hj(a,f,256);c=c+ -256|0;if(c>>>0>255){continue}break}}Hj(a,f,c)}R=f+256|0}function De(a){a=a|0;var b=0;o[a>>2]=2788;b=o[a+96>>2];if(b){jl(b)}b=o[a+84>>2];if(b){jl(b)}b=o[a+72>>2];if(b){jl(b)}b=o[a+60>>2];if(b){jl(b)}o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}jl(a)}function Hk(a,b){var c=0,d=0,e=0,f=0;e=R-16|0;R=e;if(b){d=lk(a);c=kk(a);f=c+b|0;if(d-c>>>0>>0){Jk(a,d,f-d|0,c,c)}d=c;c=nk(a);d=d+c|0;if(b){ml(d,0,b)}wk(a,f);m[e+15|0]=0;pk(c+f|0,e+15|0)}R=e+16|0}function mj(a,b,c){var d=0,e=0;d=a+4|0;a=Ai(a,b);a:{if((d|0)==(a|0)){break a}b=o[a+32>>2];d=o[a+28>>2];if((b|0)==(d|0)){break a}Gk(c,b-d|0);c=Kk(c);b=o[a+28>>2];ll(c,b,o[a+32>>2]-b|0);e=1}return e}function mi(a,b){var c=0,d=0;a:{if((b|0)<0){break a}c=o[a+4>>2];if(o[c+12>>2]-o[c+8>>2]>>2<=(b|0)){break a}a=o[o[a+8>>2]+(o[o[a+20>>2]+(b<<2)>>2]<<2)>>2];d=l[o[o[a>>2]+32>>2]](a,b)|0}return d}function ud(a){qd(a);o[a+64>>2]=0;o[a+68>>2]=0;o[a+88>>2]=0;o[a+72>>2]=0;o[a+76>>2]=0;m[a+77|0]=0;m[a+78|0]=0;m[a+79|0]=0;m[a+80|0]=0;m[a+81|0]=0;m[a+82|0]=0;m[a+83|0]=0;m[a+84|0]=0;return a}function td(a,b,c,d){var e=0;o[a>>2]=b;e=o[b+20>>2];o[a+8>>2]=o[b+16>>2];o[a+12>>2]=e;e=o[b+24>>2];b=o[b+28>>2];o[a+48>>2]=0;o[a+52>>2]=0;o[a+40>>2]=c;o[a+44>>2]=d;o[a+16>>2]=e;o[a+20>>2]=b}function qd(a){o[a+8>>2]=0;o[a+12>>2]=0;o[a>>2]=0;o[a+40>>2]=0;o[a+44>>2]=0;o[a+28>>2]=9;m[a+24|0]=1;o[a+56>>2]=-1;o[a+60>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+48>>2]=0;o[a+52>>2]=0;return a}function ol(a){var b=0;b=p[a+74|0];m[a+74|0]=b+ -1|b;b=o[a>>2];if(b&8){o[a>>2]=b|32;return-1}o[a+4>>2]=0;o[a+8>>2]=0;b=o[a+44>>2];o[a+28>>2]=b;o[a+20>>2]=b;o[a+16>>2]=b+o[a+48>>2];return 0}function uj(a,b){var c=0,d=0;c=o[a+8>>2];a=o[a+12>>2];if((c|0)!=(a|0)){d=a-c>>2;a=0;while(1){if(o[o[(a<<2)+c>>2]+60>>2]==(b|0)){return a}a=a+1|0;if(a>>>0>>0){continue}break}}return-1}function ik(a,b){var c=0,d=0;c=p[a|0];d=p[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=p[b+1|0];c=p[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function Kc(a,b){var c=0;if(b){Kc(a,o[b>>2]);Kc(a,o[b+4>>2]);c=b+28|0;a=o[c>>2];o[c>>2]=0;if(a){Kc(a+12|0,o[a+16>>2]);Lc(a,o[a+4>>2]);jl(a)}if(m[b+27|0]<=-1){jl(o[b+16>>2])}jl(b)}}function Bk(a,b){var c=0,d=0,e=0;d=R-16|0;R=d;hk(a);c=a;a:{if(!mk(b)){o[c+8>>2]=o[b+8>>2];e=o[b+4>>2];o[c>>2]=o[b>>2];o[c+4>>2]=e;break a}Ck(a,o[b>>2],o[b+4>>2])}R=d+16|0;return a}function ui(a,b,c){var d=0;a:{if(b){b=0;if(!vi(1,c,a)){break a}}m[a+36|0]=1;o[a+32>>2]=0;b=o[a+16>>2];c=b+o[a>>2]|0;o[a+24>>2]=c;d=a;a=o[a+8>>2];o[d+28>>2]=c+(a-b|0);b=1}return b}function jj(a,b,c){var d=0;a:{d=a+4|0;a=Ai(a,b);if((d|0)==(a|0)){break a}b=o[a+32>>2];a=o[a+28>>2];if((b-a|0)!=4){break a}o[c>>2]=p[a|0]|p[a+1|0]<<8|(p[a+2|0]<<16|p[a+3|0]<<24)}}function de(a,b){a=a|0;b=b|0;var c=0,d=0;d=o[a+16>>2];c=0;a:{if(o[a+20>>2]-d>>2<=(b|0)){break a}b=o[(b<<2)+d>>2];c=0;if((b|0)<0){break a}c=Qd(o[o[a+36>>2]+(b<<2)>>2])}return c|0}function Qh(a){a=a|0;var b=0;o[a+8>>2]=8568;o[a>>2]=9700;b=o[a+56>>2];if(b){o[a+60>>2]=b;jl(b)}o[a+8>>2]=8820;b=o[a+44>>2];if(b){jl(b)}b=o[a+32>>2];if(b){jl(b)}return a|0}function Kh(a){a=a|0;var b=0;o[a+8>>2]=9572;o[a>>2]=9408;b=o[a+56>>2];if(b){o[a+60>>2]=b;jl(b)}o[a+8>>2]=9388;b=o[a+44>>2];if(b){jl(b)}b=o[a+32>>2];if(b){jl(b)}return a|0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=o[a+8>>2];a:{if(m[d+24|0]<1){break a}if(!wd(d,o[b+4>>2]-o[b>>2]>>2)){break a}e=l[o[o[a>>2]+32>>2]](a,b,c)|0}return e|0}function Vj(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}while(1){d=p[a|0];e=p[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c+ -1|0;if(c){continue}break a}break}f=d-e|0}return f}function Rh(a){a=a|0;var b=0;o[a+8>>2]=8568;o[a>>2]=9700;b=o[a+56>>2];if(b){o[a+60>>2]=b;jl(b)}o[a+8>>2]=8820;b=o[a+44>>2];if(b){jl(b)}b=o[a+32>>2];if(b){jl(b)}jl(a)}function Lh(a){a=a|0;var b=0;o[a+8>>2]=9572;o[a>>2]=9408;b=o[a+56>>2];if(b){o[a+60>>2]=b;jl(b)}o[a+8>>2]=9388;b=o[a+44>>2];if(b){jl(b)}b=o[a+32>>2];if(b){jl(b)}jl(a)}function od(a,b){var c=0;c=yk(40);o[c>>2]=-1;oi(c+8|0);l[o[o[a>>2]+16>>2]](a,c);a=o[b+88>>2];o[b+88>>2]=c;if(a){b=o[a+8>>2];if(b){o[a+12>>2]=b;jl(b)}jl(a)}return 1}function Ve(a){a=a|0;var b=0;a:{if(!o[a- -64>>2]|!o[a+68>>2]|(!o[a+44>>2]|!o[a+48>>2])){break a}if(!o[a+52>>2]|!o[a+56>>2]){break a}b=o[a+92>>2]!=-1}return b|0}function cd(a,b){a=a|0;b=b|0;var c=0;b=o[b+88>>2];if(!(!b|o[b>>2]!=2)){c=a;a=o[b+8>>2];o[c+4>>2]=p[a|0]|p[a+1|0]<<8|(p[a+2|0]<<16|p[a+3|0]<<24);c=1}return c|0}function zf(a){a=a|0;var b=0;a:{if(!o[a+44>>2]|!o[a+48>>2]|(!o[a+24>>2]|!o[a+28>>2])){break a}if(!o[a+32>>2]|!o[a+36>>2]){break a}b=o[a+72>>2]!=-1}return b|0}function oe(a){a=a|0;var b=0;o[a>>2]=1908;b=o[a+20>>2];o[a+20>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}o[a>>2]=1596;b=o[a+16>>2];o[a+16>>2]=0;if(b){Kb(b)}return a|0}function fi(a){o[a+40>>2]=0;o[a>>2]=10116;o[a+4>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;o[a+32>>2]=0;n[a+36>>1]=0}function Ik(a,b){var c=0,d=0;c=R-16|0;R=c;a:{if(mk(a)){d=o[a>>2];m[c+15|0]=0;pk(b+d|0,c+15|0);qk(a,b);break a}m[c+14|0]=0;pk(a+b|0,c+14|0);rk(a,b)}R=c+16|0}function Vd(a,b){var c=0;zd(a);o[a+36>>2]=0;o[a+40>>2]=0;o[a>>2]=1692;o[a+44>>2]=0;o[a+48>>2]=0;o[a+52>>2]=0;o[a+56>>2]=0;c=o[b>>2];o[b>>2]=0;o[a+60>>2]=c}function Lk(a){var b=0,c=0,d=0,e=0;b=R-32|0;R=b;c=b+8|0;d=b+21|0;e=b+32|0;a:{if((d|0)==(e|0)){break a}}Mk(c,d,e);c=o[b+8>>2];hk(a);xk(a,b+21|0,c);R=b+32|0}function Ij(a){var b=0,c=0,d=0;if(Bj(m[o[a>>2]])){while(1){b=o[a>>2];d=m[b|0];o[a>>2]=b+1;c=(u(c,10)+d|0)+ -48|0;if(Bj(m[b+1|0])){continue}break}}return c}function Vg(a){a=a|0;var b=0;o[a>>2]=8568;b=o[a+48>>2];if(b){o[a+52>>2]=b;jl(b)}o[a>>2]=8820;b=o[a+36>>2];if(b){jl(b)}b=o[a+24>>2];if(b){jl(b)}return a|0}function Jh(a){a=a|0;var b=0;o[a>>2]=9572;b=o[a+48>>2];if(b){o[a+52>>2]=b;jl(b)}o[a>>2]=9388;b=o[a+36>>2];if(b){jl(b)}b=o[a+24>>2];if(b){jl(b)}return a|0}function Gd(a,b){a=a|0;b=b|0;var c=0;a:{if(!l[o[o[a>>2]+36>>2]](a,b)){break a}if(!l[o[o[a>>2]+40>>2]](a,b)){break a}c=l[o[o[a>>2]+44>>2]](a)|0}return c|0}function pe(a){a=a|0;var b=0;o[a>>2]=1908;b=o[a+20>>2];o[a+20>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}o[a>>2]=1596;b=o[a+16>>2];o[a+16>>2]=0;if(b){Kb(b)}jl(a)}function Bi(a,b){var c=0;b=Ai(a,b);a:{if((b|0)==(a+4|0)){break a}a=b+28|0;if(m[b+39|0]<=-1){a=o[a>>2]}a=Tj(a);if((a|0)==-1){break a}c=(a|0)!=0}return c}function fj(a,b){var c=0,d=0;c=o[b>>2];if(!c){return}d=o[a+28>>2];if(d>>>0>2]){o[b>>2]=0;o[d>>2]=c;o[a+28>>2]=o[a+28>>2]+4;return}gj(a+24|0,b)}function th(a){a=a|0;var b=0;o[a>>2]=8568;b=o[a+48>>2];if(b){o[a+52>>2]=b;jl(b)}o[a>>2]=8820;b=o[a+36>>2];if(b){jl(b)}b=o[a+24>>2];if(b){jl(b)}jl(a)}function Ph(a){a=a|0;var b=0;o[a>>2]=9572;b=o[a+48>>2];if(b){o[a+52>>2]=b;jl(b)}o[a>>2]=9388;b=o[a+36>>2];if(b){jl(b)}b=o[a+24>>2];if(b){jl(b)}jl(a)}function Mk(a,b,c){var d=0,e=0;e=a;d=c-b|0;a:{if(!((1-(r[3096]>1)|0)>(d|0)?(d|0)<=9:0)){m[b|0]=49;o[a>>2]=b+1;a=0;break a}o[a>>2]=c;a=61}o[e+4>>2]=a}function kl(a){var b=0,c=0;c=U();a:{b=o[3460];a=b+(a+3&-4)|0;if(a>>>0<=c<<16>>>0){break a}if(N(a|0)){break a}o[3314]=48;return-1}o[3460]=a;return b}function gl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Yk(a,o[b+8>>2],f)){cl(b,c,d,e);return}a=o[a+8>>2];l[o[o[a>>2]+20>>2]](a,b,c,d,e,f)}function ta(a,b,c){var d=0;d=R-16|0;R=d;Xf(d,a,b,c);o[a+24>>2]=o[d>>2];Dk(a+28|0,d|4);a=a+24|0;if(m[d+15|0]<=-1){jl(o[d+4>>2])}R=d+16|0;return a}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=R-16|0;R=e;Wj(Q(o[a+60>>2],b|0,c|0,d&255,e+8|0)|0);R=e+16|0;T=o[e+12>>2];return o[e+8>>2]}function ni(a,b,c){var d=0,e=0,f=0;if((b|0)>0){while(1){e=d<<2;f=o[e+a>>2];o[c+e>>2]=0-(f&1)^f>>>1;d=d+1|0;if((d|0)!=(b|0)){continue}break}}}function sj(a){var b=0,c=0;b=o[a+20>>2];a:{if((o[a+24>>2]-b|0)<1){break a}b=o[b>>2];if((b|0)==-1){break a}c=o[o[a+8>>2]+(b<<2)>>2]}return c}function rj(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=u(b,12)+a|0;a=o[b+20>>2];if((o[b+24>>2]-a|0)<1){break a}c=o[a>>2]}return c}function rd(a,b,c,d,e,f,g){o[a>>2]=0;o[a+56>>2]=b;o[a+48>>2]=0;o[a+52>>2]=0;o[a+40>>2]=f;o[a+44>>2]=g;m[a+32|0]=e;o[a+28>>2]=d;m[a+24|0]=c}function Pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=o[b>>2]+15&-16;o[c>>2]=b+16;d=a,e=Zj(o[b>>2],o[b+4>>2],o[b+8>>2],o[b+12>>2]),t[d>>3]=e}function Rf(a){o[a>>2]=0;o[a+4>>2]=0;m[a+5|0]=0;m[a+6|0]=0;m[a+7|0]=0;m[a+8|0]=0;m[a+9|0]=0;m[a+10|0]=0;m[a+11|0]=0;m[a+12|0]=0;return a}function Pi(a){a=a|0;var b=0;o[a>>2]=10604;b=o[a+96>>2];if(b){o[a+100>>2]=b;jl(b)}b=o[a+84>>2];if(b){o[a+88>>2]=b;jl(b)}Qi(a);return a|0}function Mj(a,b,c,d){if(a|b){while(1){c=c+ -1|0;m[c|0]=p[(a&15)+11616|0]|d;a=(b&15)<<28|a>>>4;b=b>>>4|0;if(a|b){continue}break}}return c}function sa(a){var b=0;b=R-16|0;R=b;Yf(b);o[a+24>>2]=o[b>>2];Dk(a+28|0,b|4);a=a+24|0;if(m[b+15|0]<=-1){jl(o[b+4>>2])}R=b+16|0;return a}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(!fe(a,b,c)){break a}a=o[a+8>>2];if(p[a+24|0]!=3){break a}d=o[a+28>>2]==9}return d|0}function qa(a){var b=0;yi(a);b=a+16|0;o[b>>2]=0;o[b+4>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;o[a+12>>2]=b;o[a+32>>2]=0;o[a+36>>2]=0;return a}function Ri(a){a=a|0;var b=0;o[a>>2]=10604;b=o[a+96>>2];if(b){o[a+100>>2]=b;jl(b)}b=o[a+84>>2];if(b){o[a+88>>2]=b;jl(b)}Qi(a);jl(a)}function Lc(a,b){if(b){Lc(a,o[b>>2]);Lc(a,o[b+4>>2]);a=o[b+28>>2];if(a){o[b+32>>2]=a;jl(a)}if(m[b+27|0]<=-1){jl(o[b+16>>2])}jl(b)}}function zd(a){o[a+4>>2]=0;o[a+8>>2]=0;o[a>>2]=1384;o[a+12>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;o[a+32>>2]=0}function ff(a){a=a|0;var b=0;o[a>>2]=4588;b=o[a+76>>2];if(b){jl(b)}o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}return a|0}function Je(a){a=a|0;var b=0;o[a>>2]=3036;b=o[a+76>>2];if(b){jl(b)}o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}return a|0}function Rb(){var a=0;a=yk(28);o[a>>2]=0;o[a+4>>2]=0;o[a+24>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;return a|0}function zk(a,b){var c=0,d=0,e=0,f=0;c=rl(b);d=yk(c+13|0);o[d+8>>2]=0;o[d+4>>2]=c;o[d>>2]=c;e=a,f=ll(d+12|0,b,c+1|0),o[e>>2]=f}function Ed(a){a=a|0;var b=0;o[a>>2]=1384;b=o[a+16>>2];if(b){o[a+20>>2]=b;jl(b)}b=o[a+4>>2];if(b){o[a+8>>2]=b;jl(b)}return a|0}function Fc(a,b){if(b){Fc(a,o[b>>2]);Fc(a,o[b+4>>2]);if(m[b+39|0]<=-1){jl(o[b+28>>2])}if(m[b+27|0]<=-1){jl(o[b+16>>2])}jl(b)}}function yk(a){var b=0,c=0;a=a?a:1;while(1){a:{b=il(a);if(b){break a}c=o[3332];if(!c){break a}l[c]();continue}break}return b}function bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Yk(a,o[b+8>>2],0)){$k(b,c,d);return}a=o[a+8>>2];l[o[o[a>>2]+28>>2]](a,b,c,d)}function gf(a){a=a|0;var b=0;o[a>>2]=4588;b=o[a+76>>2];if(b){jl(b)}o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}jl(a)}function Oi(a){qj(a);o[a+84>>2]=0;o[a+88>>2]=0;o[a>>2]=10604;o[a+92>>2]=0;o[a+96>>2]=0;o[a+100>>2]=0;o[a+104>>2]=0;return a}function Ke(a){a=a|0;var b=0;o[a>>2]=3036;b=o[a+76>>2];if(b){jl(b)}o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}jl(a)}function Lj(a,b,c){if(a|b){while(1){c=c+ -1|0;m[c|0]=a&7|48;a=(b&7)<<29|a>>>3;b=b>>>3|0;if(a|b){continue}break}}return c}function Ic(){var a=0;a=yk(24);o[a+4>>2]=0;o[a+8>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a>>2]=a+4;o[a+12>>2]=a+16;return a|0}function Nb(){var a=0;a=yk(24);o[a+8>>2]=0;o[a+12>>2]=0;o[a+4>>2]=-1;o[a>>2]=1232;o[a+16>>2]=0;o[a+20>>2]=0;return a|0}function Md(a,b,c){a=a|0;b=b|0;c=c|0;o[a+4>>2]=b;b=o[o[o[b+4>>2]+8>>2]+(c<<2)>>2];o[a+12>>2]=c;o[a+8>>2]=b;return 1}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;if(fe(a,b,c)){a=o[o[o[o[b+4>>2]+8>>2]+(c<<2)>>2]+28>>2]==9}else{a=0}return a|0}function Me(a){a=a|0;var b=0;if(!(!o[a+60>>2]|!o[a+44>>2]|(!o[a+48>>2]|!o[a+52>>2]))){b=o[a+56>>2]!=0}return b|0}function ra(a){var b=0;b=R-32|0;R=b;Wf(b+8|0,a);a=o[b+24>>2];if(m[b+23|0]<=-1){jl(o[b+12>>2])}R=b+32|0;return a}function Yk(a,b,c){if(!c){return o[a+4>>2]==o[b+4>>2]}if((a|0)==(b|0)){return 1}return!ik(o[a+4>>2],o[b+4>>2])}function oi(a){o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;return a}function Uk(a){var b=0,c=0;a:{b=o[a>>2]+ -12|0;c=b+8|0;a=o[c>>2]+ -1|0;o[c>>2]=a;if((a|0)>-1){break a}jl(b)}}function db(a){var b=0;b=G(8)|0;o[b>>2]=12484;o[b>>2]=12528;zk(b+4|0,a);o[b>>2]=12576;H(b|0,12608,1);D()}function Dc(a){a=a|0;if(a){if(m[a+39|0]<=-1){jl(o[a+28>>2])}Ec(a+12|0,o[a+16>>2]);Fc(a,o[a+4>>2]);jl(a)}}function kf(a){a=a|0;var b=0;o[a>>2]=4812;o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}return a|0}function Se(a){a=a|0;var b=0;o[a>>2]=3272;o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}return a|0}function uh(a){a=a|0;var b=0;o[a>>2]=8820;b=o[a+36>>2];if(b){jl(b)}b=o[a+24>>2];if(b){jl(b)}return a|0}function Hh(a){a=a|0;var b=0;o[a>>2]=9388;b=o[a+36>>2];if(b){jl(b)}b=o[a+24>>2];if(b){jl(b)}return a|0}function xe(a){a=a|0;var b=0;if(!(!o[a+52>>2]|(!o[a+44>>2]|!o[a+48>>2]))){b=o[a+56>>2]!=0}return b|0}function hl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Yk(a,o[b+8>>2],f)){cl(b,c,d,e)}} + + + +function lf(a){a=a|0;var b=0;o[a>>2]=4812;o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}jl(a)}function Te(a){a=a|0;var b=0;o[a>>2]=3272;o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}jl(a)}function Ne(a,b){a=a|0;b=b|0;var c=0;if(!(o[b+56>>2]|!b|p[b+24|0]!=3)){o[a+60>>2]=b;c=1}return c|0}function vh(a){a=a|0;var b=0;o[a>>2]=8820;b=o[a+36>>2];if(b){jl(b)}b=o[a+24>>2];if(b){jl(b)}jl(a)}function dc(a,b,c){a=a|0;b=b|0;c=c|0;o[a+16>>2]=0;o[a+20>>2]=0;o[a>>2]=b;o[a+8>>2]=c;o[a+12>>2]=0}function We(a,b){a=a|0;b=b|0;var c=0;if(!(o[b+56>>2]|p[b+24|0]!=3)){o[a- -64>>2]=b;c=1}return c|0}function Ih(a){a=a|0;var b=0;o[a>>2]=9388;b=o[a+36>>2];if(b){jl(b)}b=o[a+24>>2];if(b){jl(b)}jl(a)}function Fl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return l[a](b,c,d,e,f,g)|0}function Af(a,b){a=a|0;b=b|0;var c=0;if(!(o[b+56>>2]|p[b+24|0]!=3)){o[a+44>>2]=b;c=1}return c|0}function ti(a,b,c,d){n[a+38>>1]=d;o[a>>2]=b;o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=c;o[a+12>>2]=0}function Gl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return l[a](b,c,d,e,f,g)|0}function sk(a){var b=0;if(a>>>0>=11){b=a+16&-16;a=b+ -1|0;a=(a|0)==11?b:a}else{a=10}return a}function ve(a){a=a|0;var b=0;o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}return a|0}function Td(a){a=a|0;var b=0;o[a>>2]=1596;b=o[a+16>>2];o[a+16>>2]=0;if(b){Kb(b)}return a|0}function ld(a){a=a|0;var b=0;o[a>>2]=1232;b=o[a+8>>2];if(b){o[a+12>>2]=b;jl(b)}return a|0}function Jl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=l[a](b,c,d,e)|0;P(T|0);return a|0}function Hl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;l[a](b,c,d,e,f,g)}function we(a){a=a|0;var b=0;o[a>>2]=2732;b=o[a+32>>2];if(b){o[a+36>>2]=b;jl(b)}jl(a)}function Ud(a){a=a|0;var b=0;o[a>>2]=1596;b=o[a+16>>2];o[a+16>>2]=0;if(b){Kb(b)}jl(a)}function Rl(a){var b=0,c=0;while(1){c=b;if(a){a=a-1&a;b=b+1|0;continue}break}return c}function md(a){a=a|0;var b=0;o[a>>2]=1232;b=o[a+8>>2];if(b){o[a+12>>2]=b;jl(b)}jl(a)}function Bc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Xa(b,c,d,e,f)|0}function ge(a,b){a=a|0;b=b|0;return l[o[o[a>>2]+48>>2]](a,o[b+4>>2]-o[b>>2]>>2)|0}function Ec(a,b){if(b){Ec(a,o[b>>2]);Ec(a,o[b+4>>2]);Fc(b+20|0,o[b+24>>2]);jl(b)}}function Ag(a){a=a|0;if(o[a+44>>2]){return l[o[o[a>>2]+48>>2]](a)|0}return 0} + + + +function _e(a,b){a=a|0;b=b|0;if(b>>>0<=1){o[a+28>>2]=b;a=1}else{a=0}return a|0}function Mb(a){a=a|0;var b=0;if(a){b=o[a+8>>2];if(b){o[a+12>>2]=b;jl(b)}jl(a)}}function Ld(a){o[a+12>>2]=-1;o[a+16>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;o[a>>2]=1596}function al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Yk(a,o[b+8>>2],0)){$k(b,c,d)}}function Qk(){var a=0;a=R-16|0;R=a;o[a+12>>2]=0;a=o[2779];Fj(a);Pk(a);K();D()}function Il(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;l[a](b,c,d,e,f)}function pb(a){a=a|0;var b=0;if(a){b=o[a>>2];if(b){o[a+4>>2]=b;jl(b)}jl(a)}}function mb(){var a=0;a=yk(12);o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;return a|0}function kb(a){a=a|0;var b=0;b=a+4|0;if(m[a+15|0]<=-1){b=o[b>>2]}return b|0}function Kg(a,b){a=a|0;b=b|0;a=o[a+48>>2];return l[o[o[a>>2]+16>>2]](a,b)|0}function Jg(a,b){a=a|0;b=b|0;a=o[a+48>>2];return l[o[o[a>>2]+12>>2]](a,b)|0}function Gk(a,b){var c=0;c=kk(a);if(c>>>0>>0){Hk(a,b-c|0);return}Ik(a,b)}function Cg(a,b){a=a|0;b=b|0;a=o[a+48>>2];return l[o[o[a>>2]+20>>2]](a,b)|0}function lk(a){if(mk(a)){a=(o[a+8>>2]&2147483647)+ -1|0}else{a=10}return a}function Sl(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a}function xi(a){a=a+ -1|0;if(a>>>0<=10){return o[(a<<2)+10476>>2]}return-1}function gk(a,b){var c=0,d=0;c=R-16|0;R=c;d=dk(a,b);R=c+16|0;return d?b:a}function ci(a,b){a=a|0;b=b|0;m[b+84|0]=1;o[b+72>>2]=o[b+68>>2];return 1}function Jc(a){a=a|0;if(a){Kc(a+12|0,o[a+16>>2]);Lc(a,o[a+4>>2]);jl(a)}}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;o[a+32>>2]=c;o[a+28>>2]=b;return 1}function jd(a,b,c,d,e){o[a+4>>2]=b;kd(a+8|0,c,(d<<2)+c|0);s[a+20>>2]=e}function dl(a,b,c){if(!(o[a+28>>2]==1|o[a+4>>2]!=(b|0))){o[a+28>>2]=c}}function ak(a,b,c){var d=0;d=R-16|0;R=d;a=ck(a,b,c);R=d+16|0;return a}function yb(){var a=0;a=yk(8);o[a+4>>2]=-1;o[a>>2]=1116;return a|0}function lc(a,b,c){a=a|0;b=b|0;c=c|0;return o[o[b+8>>2]+(c<<2)>>2]}function El(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;l[a](b,c,d,e)}function lb(a){a=a|0;if(a){if(m[a+15|0]<=-1){jl(o[a+4>>2])}jl(a)}}function Ig(a){a=a|0;a=o[a+48>>2];return l[o[o[a>>2]+36>>2]](a)|0}function Fg(a){a=a|0;a=o[a+48>>2];return l[o[o[a>>2]+28>>2]](a)|0}function Eg(a){a=a|0;a=o[a+48>>2];return l[o[o[a>>2]+24>>2]](a)|0}function Bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return l[a](b,c,d)|0}function zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra(b,c,d)|0}function yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa(b,c,d)|0}function xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ma(b,c,d)|0}function wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ja(b,c,d)|0}function vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ta(b,c,d)|0}function uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ha(b,c,d)|0}function tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fa(b,c,d)|0}function sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ea(b,c,d)|0}function rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(b,c,d)|0}function pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(b,c,d)|0}function kc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return va(b,c,d)|0}function Nd(a,b){a=a|0;b=b|0;o[a+12>>2]=-1;o[a+8>>2]=b;return 1}function Ac(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Va(b,c,d)|0}function zb(a,b){a=a|0;b=b|0;return l[o[o[a>>2]+12>>2]](a,b)|0}function tk(a){if(4294967295>>0){db(12086);D()}return yk(a)}function sl(a,b){a=a|0;b=b|0;if(!o[3457]){o[3458]=b;o[3457]=a}}function Mf(a,b){a=a|0;b=b|0;return l[o[o[a>>2]+56>>2]](a,b)|0}function Lb(){var a=0;a=yk(40);o[a>>2]=-1;oi(a+8|0);return a|0}function Ob(a,b){a=a|0;b=b|0;return v(s[o[a+8>>2]+(b<<2)>>2])}function yi(a){o[a+4>>2]=0;o[a+8>>2]=0;o[a>>2]=a+4;return a}function $b(a,b){a=a|0;b=b|0;return v(s[o[a>>2]+(b<<2)>>2])}function kk(a){if(mk(a)){return o[a+4>>2]}return p[a+11|0]}function Hd(a,b){a=a|0;b=b|0;return o[o[a+4>>2]+(b<<2)>>2]}function Hc(a){a=a|0;return(o[a+100>>2]-o[a+96>>2]|0)/12|0}function Tl(a){if(a){return 31-x(a+ -1^a)|0}return 32} + + + +function wb(a,b){a=a|0;b=b|0;return o[o[a>>2]+(b<<2)>>2]}function nb(a,b){a=a|0;b=b|0;return q[o[a>>2]+(b<<1)>>1]}function _b(a,b){a=a|0;b=b|0;return n[o[a>>2]+(b<<1)>>1]}function Dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;l[a](b,c,d)}function zl(a,b,c){a=a|0;b=b|0;c=c|0;return l[a](b,c)|0}function rf(a,b,c){a=a|0;b=b|0;c=c|0;return ke(a,b,c)|0}function hc(a,b,c){a=a|0;b=b|0;c=c|0;return ta(a,b,c)|0}function fe(a,b,c){a=a|0;b=b|0;c=c|0;return Md(a,b,c)|0}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;return oa(a,b,c)|0}function Wb(a,b,c){a=a|0;b=b|0;c=c|0;return na(a,b,c)|0}function Tk(a){a=a|0;o[a>>2]=12528;Uk(a+4|0);return a|0}function Ub(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;la(b,c,d)}function qc(a,b,c){a=a|0;b=b|0;c=c|0;return xa(b,c)|0}function oc(a,b,c){a=a|0;b=b|0;c=c|0;return cb(b,c)|0}function mc(a,b,c){a=a|0;b=b|0;c=c|0;return tj(b,c)|0}function jc(a,b,c){a=a|0;b=b|0;c=c|0;return ua(b,c)|0}function ic(a,b,c){a=a|0;b=b|0;c=c|0;return rj(b,c)|0}function Tb(a,b,c){a=a|0;b=b|0;c=c|0;return ka(b,c)|0}function Sb(a,b,c){a=a|0;b=b|0;c=c|0;return ia(b,c)|0}function Kk(a){if(kk(a)>>>0<=0){bk();D()}return nk(a)}function Dk(a,b){if((a|0)!=(b|0)){Ek(a,nk(b),kk(b))}}function rb(a){a=a|0;return o[a+12>>2]-o[a+8>>2]>>2}function qj(a){o[a>>2]=11e3;ml(a+4|0,0,80);return a}function gc(a,b,c){a=a|0;b=b|0;c=c|0;return sa(a)|0}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;return+ma(b,c)}function ub(a,b){a=a|0;b=b|0;return p[o[a>>2]+b|0]}function Qb(a,b){a=a|0;b=b|0;return m[o[a>>2]+b|0]}function Id(a){a=a|0;return o[a+8>>2]-o[a+4>>2]>>2}function wk(a,b){if(mk(a)){qk(a,b);return}rk(a,b)}function tb(a){a=a|0;if(a){l[o[o[a>>2]+4>>2]](a)}}function Wj(a){if(!a){return 0}o[3314]=a;return-1}function Mg(a,b){a=a|0;b=b|0;o[a+4>>2]=b;return 1}function xb(a){a=a|0;return o[a+4>>2]-o[a>>2]>>2}function ob(a){a=a|0;return o[a+4>>2]-o[a>>2]>>1}function nk(a){if(mk(a)){return o[a>>2]}return a}function hk(a){o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0}function vb(a){a=a|0;return o[a+4>>2]-o[a>>2]|0}function Dj(a,b){if(!a){return 0}return Cj(a,b)}function zg(a){fi(a);o[a+44>>2]=0;o[a>>2]=8024}function ee(a){Ld(a);o[a+20>>2]=0;o[a>>2]=1908}function Hj(a,b,c){if(!(p[a|0]&32)){ql(b,c,a)}}function Al(a,b,c){a=a|0;b=b|0;c=c|0;l[a](b,c)}function xl(a,b){a=a|0;b=b|0;return l[a](b)|0}function ul(a){a=a|0;a=R-a&-16;R=a;return a|0}function qe(a){a=a|0;return m[o[a+8>>2]+24|0]}function nc(a,b){a=a|0;b=b|0;return o[b+4>>2]}function Xb(a,b){a=a|0;b=b|0;return o[b+8>>2]}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function xf(a){a=a|0;o[a>>2]=5700;return a|0}function Gf(a){a=a|0;o[a>>2]=6704;return a|0}function fc(a,b){a=a|0;b=b|0;return ra(b)|0}function Ql(a,b,c,d){a=Nl(a,b,c,d);return a}function Qj(a){a=a|0;return I(o[a+60>>2])|0}function Pl(a,b,c,d){a=Ml(a,b,c,d);return a}function Ol(a,b,c,d){a=Ll(a,b,c,d);return a}function Pb(a){a=a|0;return v(s[a+20>>2])}function vk(a,b){o[a+8>>2]=b|-2147483648}function yf(a){a=a|0;o[a>>2]=5700;jl(a)}function pi(a,b,c,d){return qi(a,b,c,d)}function dk(a,b){return r[a>>2]>2]}function Hf(a){a=a|0;o[a>>2]=6704;jl(a)}function sb(a){a=a|0;return o[a+80>>2]}function Jb(a){a=a|0;return o[a+60>>2]}function Ib(a){a=a|0;return o[a+48>>2]}function Hb(a){a=a|0;return o[a+40>>2]}function Eb(a){a=a|0;return o[a+28>>2]}function Db(a){a=a|0;return o[a+56>>2]}function Cb(a){a=a|0;return o[a+88>>2]}function ze(a,b){a=a|0;b=b|0;return-1}function jb(a){a=a|0;return!o[a>>2]|0}function hh(a){a=a|0;return o[a+8>>2]}function Wk(a){a=a|0;return o[a+4>>2]}function Kd(a,b){a=a|0;b=b|0;return 1}function Jd(a,b){a=a|0;b=b|0;return 0}function Gb(a){a=a|0;return p[a+32|0]}function Fb(a){a=a|0;return m[a+24|0]}function Ab(a){a=a|0;return o[a+4>>2]}function yl(a,b){a=a|0;b=b|0;l[a](b)}function wl(a){a=a|0;return V(a|0)|0}function Cc(a,b){a=a|0;b=b|0;Zf(a,b)}function ib(a){a=a|0;return o[a>>2]}function ek(a,b,c){if(c){ll(a,b,c)}}function Bj(a){return a+ -48>>>0<10}function $j(a,b,c){return ak(a,b,c)}function Gc(){return Oi(yk(108))|0}function qb(){return qj(yk(84))|0}function mk(a){return m[a+11|0]<0}function ec(){return qa(yk(40))|0}function cc(){return si(yk(40))|0}function bc(a){a=a|0;if(a){jl(a)}}function ac(){return qd(yk(64))|0}function Sk(a){a=a|0;return 12461}function Bb(){return ud(yk(96))|0}function Xk(a){a=a|0;Tk(a);jl(a)}function fk(a,b){return gk(a,b)}function ed(a){a=a|0;return a|0}function sh(a){a=a|0;jl(qh(a))}function pk(a,b){m[a|0]=p[b|0]}function ph(a){a=a|0;jl(oh(a))}function Vk(a){a=a|0;jl(Tk(a))}function Aj(a){a=a|0;jl(Qi(a))}function ye(a){a=a|0;return 0}function nd(a){a=a|0;return 1}function gd(a){a=a|0;return 2}function Ue(a){a=a|0;return 6}function Le(a){a=a|0;return 5}function Ee(a){a=a|0;return 4}function Bf(a){a=a|0;return 3}function rk(a,b){m[a+11|0]=b}function qk(a,b){o[a+4>>2]=b}function Nk(){db(12424);D()}function Kl(a,b){i(a|0,b|0)}function Cl(a){a=a|0;l[a]()}function Ak(){db(12360);D()}function uk(a,b){o[a>>2]=b}function fd(a){a=a|0;jl(a)}function vl(a){a=a|0;R=a}function tl(){return R|0}function Fd(a){a=a|0;D()}function bd(){return 12}function ad(){return 11}function $c(){return 10}function _c(){return 9}function Zc(){return 8}function Yc(){return 7}function Xc(){return 6}function Wc(){return 5}function Vc(){return 4}function Uc(){return 3}function Tc(){return 2}function Sc(){return 1}function Rk(){Qk();D()}function Rc(){return-5}function Qc(){return-4}function Pc(){return-3}function Ok(){bk();D()}function Oc(){return-2}function Nc(){return-1}function Mc(){return 0}function bk(){K();D()}function ok(a){a=a|0}function ha(){jk()} +// EMSCRIPTEN_END_FUNCS +l[1]=Tk;l[2]=ed;l[3]=fd;l[4]=gd;l[5]=cd;l[6]=dd;l[7]=ld;l[8]=md;l[9]=nd;l[10]=hd;l[11]=id;l[12]=Ed;l[13]=Fd;l[14]=Ad;l[15]=Bd;l[16]=Gd;l[17]=Hd;l[18]=Id;l[19]=Eb;l[20]=Jd;l[21]=Rk;l[22]=Kd;l[23]=nd;l[24]=Td;l[25]=Ud;l[26]=Md;l[27]=Nd;l[28]=Od;l[29]=Pd;l[30]=Kd;l[31]=Rd;l[32]=Sd;l[33]=be;l[34]=ce;l[35]=Wd;l[36]=Yd;l[37]=de;l[38]=Zd;l[39]=_d;l[40]=$d;l[41]=ae;l[42]=oe;l[43]=pe;l[44]=fe;l[45]=ge;l[46]=he;l[47]=ke;l[48]=ie;l[49]=qe;l[50]=me;l[51]=ve;l[52]=we;l[53]=nd;l[54]=Ab;l[55]=xe;l[56]=ye;l[57]=ze;l[58]=Jd;l[59]=ye;l[60]=nd;l[61]=Ae;l[62]=Be;l[63]=Fd;l[64]=Fd;l[65]=Ce;l[66]=De;l[67]=Ee;l[68]=xe;l[69]=Fe;l[70]=Ie;l[71]=Je;l[72]=Ke;l[73]=Le;l[74]=Me;l[75]=nd;l[76]=Jd;l[77]=Ne;l[78]=Oe;l[79]=Pe;l[80]=Se;l[81]=Te;l[82]=Ue;l[83]=Ve;l[84]=nd;l[85]=Jd;l[86]=We;l[87]=Xe;l[88]=Ye;l[89]=ed;l[90]=fd;l[91]=_e;l[92]=Eb;l[93]=Ze;l[94]=Fd;l[95]=we;l[96]=nd;l[97]=xe;l[98]=bf;l[99]=Fd;l[100]=cf;l[101]=df;l[102]=Ee;l[103]=xe;l[104]=Fe;l[105]=ef;l[106]=ff;l[107]=gf;l[108]=Le;l[109]=Me;l[110]=nd;l[111]=Jd;l[112]=Ne;l[113]=Oe;l[114]=hf;l[115]=kf;l[116]=lf;l[117]=Ue;l[118]=Ve;l[119]=nd;l[120]=Jd;l[121]=We;l[122]=Xe;l[123]=mf;l[124]=ed;l[125]=fd;l[126]=_e;l[127]=Eb;l[128]=nf;l[129]=Fd;l[130]=we;l[131]=ye;l[132]=nd;l[133]=pf;l[134]=pe;l[135]=qf;l[136]=sf;l[137]=rf;l[138]=vf;l[139]=gd;l[140]=tf;l[141]=xf;l[142]=yf;l[143]=Ue;l[144]=Ab;l[145]=zf;l[146]=nd;l[147]=Jd;l[148]=Af;l[149]=nd;l[150]=Bf;l[151]=Cf;l[152]=Df;l[153]=ed;l[154]=fd;l[155]=_e;l[156]=Eb;l[157]=Ze;l[158]=Gf;l[159]=Hf;l[160]=Ue;l[161]=zf;l[162]=nd;l[163]=Jd;l[164]=Af;l[165]=Cf;l[166]=If;l[167]=ed;l[168]=fd;l[169]=_e;l[170]=Eb;l[171]=nf;l[172]=ed;l[173]=fd;l[174]=ye;l[175]=nd;l[176]=ye;l[177]=ze;l[178]=Jd;l[179]=Ff;l[180]=Jf;l[181]=Pf;l[182]=Qf;l[183]=Kf;l[184]=Lf;l[185]=rf;l[186]=Mf;l[187]=Nf;l[188]=Of;l[189]=Bg;l[190]=Fd;l[191]=nd;l[192]=nd;l[193]=Ag;l[194]=ki;l[195]=li;l[196]=nd;l[197]=ye;l[198]=Jd;l[199]=Jd;l[200]=Gg;l[201]=Hg;l[202]=Dg;l[203]=Cg;l[204]=Fg;l[205]=Ig;l[206]=Jg;l[207]=Kg;l[208]=Eg;l[209]=oh;l[210]=ph;l[211]=Mg;l[212]=Ng;l[213]=Og;l[214]=Pg;l[215]=Wg;l[216]=nd;l[217]=Ab;l[218]=hh;l[219]=qh;l[220]=sh;l[221]=Mg;l[222]=Ng;l[223]=Og;l[224]=Pg;l[225]=jh;l[226]=nd;l[227]=Ab;l[228]=hh;l[229]=Vg;l[230]=th;l[231]=Ug;l[232]=uh;l[233]=vh;l[234]=zh;l[235]=Ah;l[236]=Bh;l[237]=Ch;l[238]=yh;l[239]=Gh;l[240]=wh;l[241]=Hh;l[242]=Ih;l[243]=Kh;l[244]=Lh;l[245]=Mh;l[246]=Nh;l[247]=Jh;l[248]=Ph;l[249]=Qh;l[250]=Rh;l[251]=Sh;l[252]=Th;l[253]=bi;l[254]=ai;l[255]=Yh;l[256]=ed;l[257]=fd;l[258]=ci;l[259]=di;l[260]=Fd;l[261]=ye;l[262]=nd;l[263]=Pi;l[264]=Ri;l[265]=Si;l[266]=Ui;l[267]=Qi;l[268]=Aj;l[269]=wj;l[270]=yj;l[271]=Qj;l[272]=Sj;l[273]=Rj;l[274]=Oj;l[275]=Pj;l[276]=ed;l[277]=fd;l[278]=Sk;l[279]=Vk;l[280]=Wk;l[281]=Xk;l[282]=ed;l[283]=fd;l[284]=ok;l[285]=ok;l[286]=Zk;l[287]=hl;l[288]=fl;l[289]=al;l[290]=fd;l[291]=gl;l[292]=el;l[293]=bl;function U(){return buffer.byteLength/65536|0}function V(pagesToAdd){pagesToAdd=pagesToAdd|0;var W=U()|0;var X=W+pagesToAdd|0;if(W=0;--$){_[48+$]=52+$;_[65+$]=$;_[97+$]=26+$}_[43]=62;_[47]=63;function aa(uint8Array,offset,b64){var ba,ca,$=0,da=offset,ea=b64.length,fa=offset+(ea*3>>2);if(b64[ea-2]=="=")--fa;if(b64[ea-1]=="=")--fa;for(;$>4;if(da+1>2;if(da+2>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":294,"maximum":294+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=5256880,DYNAMIC_BASE=5256880,DYNAMICTOP_PTR=13840;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}if(!Math.imul||Math.imul(4294967295,5)!==-5)Math.imul=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};if(!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(x){froundBuffer[0]=x;return froundBuffer[0]}}if(!Math.clz32)Math.clz32=function(x){var n=32;var y=x>>16;if(y){n-=16;x=y}y=x>>8;if(y){n-=8;x=y}y=x>>4;if(y){n-=4;x=y}y=x>>2;if(y){n-=2;x=y}y=x>>1;if(y)return n-2;return n-x};if(!Math.trunc)Math.trunc=function(x){return x<0?Math.ceil(x):Math.floor(x)};var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="draco_decoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(wasmBinaryFile);if(binary){return binary}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function _abort(){abort()}function _emscripten_get_sbrk_ptr(){return 13840}var _emscripten_memcpy_big=Uint8Array.prototype.copyWithin?function(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}:function(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)};function _emscripten_get_heap_size(){return HEAPU8.length}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648-PAGE_MULTIPLE;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function __getExecutableName(){return thisProgram||"./this.program"}function _emscripten_get_environ(){if(!_emscripten_get_environ.strings){var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8","_":__getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}_emscripten_get_environ.strings=strings}return _emscripten_get_environ.strings}function _environ_get(__environ,environ_buf){var strings=_emscripten_get_environ();var bufSize=0;strings.forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=_emscripten_get_environ();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function _fd_close(fd){return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i0WAuMrwXkX1iYYtsCWT9c#eMHcR0tQh#W)&4@W_fe!u^-*52=J zCYcFMTl~_??ES92F3)<_v!2^})>^^dBX@;C5QLu#^V`FPaN+i7L4U)A;P!aIUP*B8 z!R-NG5>l1Jp26*P{j`Ldy^yI&3~qO6Am~+AG~Al{LJ*sci%B{_x!$t2ZBJKQ}=oP#fJ}mS5O=MuDwV0O&>jQ zWPa}p_Rln5c<1zY9o{!T6Ep@t+_C@Qk(nUq{jiD}_Z>cXVEV|u@0mF={i2!qAneVN zmO1R3AgJwq!NJ4xL8|xjXYM+3$Kic<&(9o~K0KpJre8d>_ihL3d0ijxnz`$ayYHQT z!M+y-v329f%>162yY9YuW_~J&dYf#}jUzKNbAjQbPSJyh?~Q_!k+p6;4et(qE{gvx z`PU>3!?5<$I8LCMIE?u(36okJ$Bj6NlZGDp!@r{q`zMTQNv%ols2=h^&oBrB-g$NZ zMD?h?_9Zxi7lB7v<&196G#G&;}y#r-Hz(1;A$RKkV0Vg=FB}okw zQ;ak~O`6szUdRs@BonZk{bWS0HQtt5g!xUt;M6YpfOPU;`_llzFw0r@pb0#;e&^#?>h1#GHu*2k39K3bMf%!`=FAg8xd++o>!c=hWGfrFTx|#Xs?%jWMX8Mxgx~H8s zw{eQ8VEZ?pHfJyRI|i!WeQ@7_`D^wcJbLGJ*XvYp{Q$^apAQ_pYkKee{Na5sI64p8 zn+k3?RlUl6x0+GT8z=ig?y9#J*qbit&sw2&Qy;4RZ!rDz)0OE$^v-WOU1pExT^FA& zV=v@8mZp+RpVbF?nQ%%fDKm8ezk2}X6?V$p9{O)vno7!?ec<2F-`%1d>|J-v?|t#i zort_WhxZ;h^1_3M@0vd4$Eo1v%`2*H$ANwG*B(B2S5+%B;+BsY1M~a7XRo9_ zBGc$@&y_2Jq8A}IJ+r^C5p4&=zMoUUt>1W>5`JuM9004YDn`6&rb7AFz4LpSOV2$W zSbNK1o1VY-ZZXQ|4NQ-|=I&I@KJ#s-t6mfPj)QmIeel4Ho7~^NIMb*)Fns`e*}ES# z=T3n6j*X|m(F^WHe}nh#GbaBZmzDkC3txz8MD5Q%U007D*mnqiyHB8e=jrP1rHB7? zbwA`)7kkHOiR7tZ`if=NFkekGKPp=;TV}~#kZ<3$WU+7Snl2Uiomsv3=c!=tmKD~x z=*(VeB`ciUivxexz5~K<^k3$v4f+?-kSdwxctL_stxh?*Ba%%nVG#{yf|F z9@%za{_wri&k9~RAZhzE(@Bt0=6}(%`f+lK{7&*-8oYRF8HKhUJc>zJwzF?JMQ(vr z9e7b$WOe|x{h;kUdY3ZqLxs8|m>ZDN{n_cc)xC4?T{EC+|7lUxJ9c*sj9od@J(?@X zEq^bmPIcw!qPYW$t5aQ>J<)9+fV>})UdVTROaFLT{%iLi+&f=tFoP*TKQID=xw_y# zIG~yiW-nE$0ns>^^>lr>Zsy=!Gf;gcBc=yarh>Z%S{lsN+tQ&y?9RweI=toR3tz|# z-P-eODmXk~`Sj)x+lJhZ49NE0Y<)nq2ZqcwTQ&~^ogbJ}zD5uMr3>ae%g*kR{&Goh zbYQxdMcmVManC{1YMfQ`tl*wOGU$P&EOgV%kr&g^?;0cnpB=EO!P;>rS-*Q=&X(Zx zX5DhHpR@N4i2bDsl#}0alS_l|8Jt{;Km|3G)JS#XcD6u*fU%U5?87caP_Dh3>L7S9<)MZf6*UYUQv?*eXYJc+_V&z=tij$ZE4!S*#!%Kkz5+Ly5x z@*UqWh<2wlSIRP&e|0#}e#J<8>w8VuUEz#|?@j^WeWKUMCA#Z|;3vXvvA1}(tv46f z?3&(o^Ub?%4*ql4&8!#CzoX3jy0BXiFOhlYbBh~yY@Oa+++5tWZO^uwgV%@Mw(H`h zZrypyt-E*cx_QsGt<%rlcJnPecI^y)vS-#TRqlqJyPmhRD)UoIbw^Xvw27^Irgu0H z!Bsc%yBg@tyk}Ezf7tDITO#MJJ9d)w4a><&&Py&2emd;dIZjb4d4Fb^)n59n;El_z zmb`CTX0?}J7QA`6)spvTmop64-ngsS0}O9jc4lh+x#f)6mR-AU4E{^lJ!6-^?w)Vo zz3rCiYj)kbb5HO<*zMoxDzKPR>S<{Dx^26l@|(YXS~W47x@Gujs@S~?GMK*R#$C5= zg%tlo7rQu3!96$cD0W_V>y5?D(>HCqWjoZleeuGBg2kplv42ww z+t!|Dl1)bs+_CrQi(Wk6S&Y92JR~nXJTnvgLsG{j%wm1;xnvkgCkOP*fji@Hh(-B3 z=5E=0&rI-tlVSUTmQ22XN=EG0&8*8EJUkQpbJCigei7^W&tusTYGbuK_);=_=e-B6 z(GudmeZiMIzwX%={7aH{zU>QG122ExL*B0>BjwM1{1g0JGF1M)C-`dTBYF1)k0hhj zN6US(HeM#^H~$3R*PV2yC4GObYGZca?7rY-oh+)Be}b3P#>$FZQt;B+&<9vNF2eLJ z(f>@|7Csn06#jhp3*p{r{?~h&* zy@Nb2jb0Z0K=eb=4@a+ve#BCKH2SgV$0Nb|s_3>?Mym0P;eF8u!q-MW5xFYZx~$@7s6vpuDf+wc&Cy$;pN$@f9twXh`i1DN6xj1NYxF_>J{0{T z0U=exZ;yVJ@8#!TjNVax`Wbssm9Cq=61_8ecl2A)yP{vC@?VdBBl^wguYva+{QFnY zd*k=T%K69q`|0R^M}HH2GWy%-Gtu8gpN&2h{aF0t@jpbLkG>H7WAtTU*z<$&E8|yJ zNk2qUlD-tZCjRH>zWBBA>*Jq{e=5E|eqH?2@lV7*6TdNjbNsXMTjHOK-xNO(|9t!l z@mu4!#qWyW8UISGp8Q(;>+uJy`wz#Ti2o}7Wc-)$4<|26UY@)zd3|z!@{`F=CGRxC z_;~V{$-~Jf?EMwVE0VuX{yzD;|H+>Y|104LtzS*jUnLr0;TwXY zHJ3*lf-EY6%cEu%Z3(W3gDh)9CBuw>oWx#`+@wQPCk}S;P))$fs(k#xB*&?_y2r^2vM%!@~ zZ4A<4;YM1CCZnMB4+$k{4$$HvxNbac{ZSI6e-nnyg)Eqik~|=1$V(Pp9He+3fJ`;aI$zu-kiu2nyHnQ z@vV_1tv4t6korTe9iz1@*)|$=aV$oO2 z(O1%;uf)+;;_0g{`l^B7dPQFp&1#oNEgq2BTH%t8^^Gvamax+dV7Y63R>1XNG5y6?-McgV6D(h9ASSjLKml%g6^#>0?b4JjkrHJ)^{ zZ#<)gLNhzINu4LHe}%gQ7i3ArKoZ7FwIyjA>{Q7bMn6EtS0dl7kBU+wcm$-Kh1ZTk zB23D>t{IuQi5Xv)Y=(;@#r&*5D;8!q27yCXt*o_1=J-0zU`Q-vOtQL$hIdy{s7ihH zj8NU`gDcf&T5VAnUIR*6A51QAAi&l5z|5l>btvHDnw0$X5dOT4{Jb@D!H^}_jzar3 z_^Mis#-0>ZjmstYsEG`*mC9oSILvA)4F(b>cdea_1VIWv4%#uTMKD!iMcmf-RBf&p zxhsoqBC*ETk^Qr|L-X~d2;_FmAf_LQ!rDRvYN?}BI96dOC7jKp;{SQ;pT9Mfl+l<* z$^}(ehPVjl^P1}4F;V=vvN3OY{CThg4s9dui|>N{3J91+3iJ@PATs`u=#AO+!6Xks zBUCOpVDQ$B_}bA3OoWVT9#V=&bWs#sp)uoUb2b+iZIUrfg<^3A!D-`cbe8i~`^ zM-foPE1Ruvg=xeoQ_#o&yot)2JnCW{5W6F$Sj0qC-Ne)pebfu(J93f?5@$-&i^CA{ z*ZOcQ0%-xYgDcQuoojC-vtL;jq*s#LF`kfF9BR%7t@oR(TGu9FWAG$L!%*mm&5Y1k z7e#M$MNtl{XzTYtnGv#>cu=edsYP*7jc!1SCtvCstx zl_Hj^%DA^mNXl19E?1>EH(d$RS9PRIrMlwvU{GJXMW1%Z|&z)2M3oK z4lH#;Cv~!ux~`MDzLUDP4LE{%ZD#1CgD@GsKZUA5j@cLK?AIka$Ap#E7dMW@G zA$&M2J{ipB!vfkYf!lLLEdwrrf=m|wgXtC0tC0GjNGICO1M)YM&U)HwA`6AmZ z(w8DC7!>0v@myY;$i}kqxgt7>HbRc0dF_Tgp2$YkE`>9Fg65bN6E|QQsjrjK)*_UE zH|cm|E`5^p21Tf3hzA0iGN#O6|IjzDk3=Zwm<1Q6S>5qCH91coHzMDqGa#lY&di`x zd?05!AdWRj;{5=koY-zsW6Sp9sy$N*0}LpnLU(&jYtK5f9SjKC?c@QQ)&r5?@+(Wa zD+_66yD3@BfGpF1qeL(bnAfRMLQ_gh6XYdQQFfT>REMOP{&D)65USC1nT&4C%{tYD z-;Kx>HHXFKIV$XY*jj#=jHWuNmvvItbyC-NQb#(egz3Agd+LRHT&n)2?+tsbd{Yf* zSzLwLCygL%{T-@?Be=-TZU#)|J)LsMOhl;en`xm^WM$SqrLUZrh1D5rdPylYJuq1i zPVUr95-x2*UKunX;!W`7EOg3b(U@&LrwD79ziol$1^u70VZkfsK%}15=JLAHw+16N ziIEtALQtkgnnuPb!T5?$^8kWFhh+XeBHb`LYOi6J8Yw46;?&4!UTS0>!-xg0u~;i* z%9?1O4%CZqCw)az&g#xMF0>*Y;-AypQ+)*aGsZ%1c$oC421e@ zWHd))d|*E?D(b8?rarfaRkfdD;8VzMV*(1QMiH1zL1mlZ1~CdRGj53N3)fD7rw$7e zM(9}~h5Eun^Ehuj5Zeui?b6t@y2c#pXBsD{FEzuxCi0L|sf+mTY6AB%j3#w2%`j?? zVH68ySqM0$EnX4BcX0ylK+U*aDwBi$oPv9Zz~E&)9BWwsWKJt{0HBibFS1r`XM$z< z+>5qv^dOWhb4dUqgbplHEYq2D%SCV50t4gO@{(;xzWO#`%kafyGvr|Xj4nW64~h3O zwxmGHBY*@!=`FXg5O*`{;u|D4;RX7G7@f-zqIc!BqP{;1v30Tls*_s`S`K2E2|S`Mrt5~{Nqi#>yfJc4<5ERt<}Bvt zk|mbV8V^Z59!a+?8WygzK5Cw~og9~+>o}c~H%2I54}meX!;E>f zd9iiyZQ@c{bp3?)%o-1*R{fU+7sXThgZlT-iDM5y zy2Z9zMMHX)G_Plvb5PWsZYqMrnpV&lc(KbDmW`!7AtTji%G{19n*du+m z5EhX82naN2Bhp71*o%YUR}I*OYt9hZp~nu`Zw?)1zxv3v-N1^IEEBUb@r-uQK4za8 zI?O(@aNQXKiyHb^0SkdUnhmDz>!MjxJeEhZ_#GcZU>(h#eC8Pf3$J;sfQ1FW!zNge zbpwkIwOpDN`+tmR7GU3Lz@EJD41tv^^lShd!{bW^3$aQL$+x|1B$jgQ(PpXLa6Kaq z-sO1x3Pu;{ca{-`BszIDe*#bjyI;9DlE`0VOj&45-w;)1MdJKXyYY7;0@oo^lTrg| z^6E7Z#4;v-V}FihL-;!-p=rK@_y*GzXl<_bO-@yfcOljz7!tmRd2E$L>kzUMkl9+C zKmwy06~7nA|Ixsq&>m($YHfO|zV5*a3~FZGJKBMAP(6VTLvn+v38)5bbeMMorQK8# zbs#8Ano9?CJ_A#IB*iO*uVJ2Yfl^AJy7!%zh9v8ebyEeK=yrijSQ$ZiWDb!~tJ~&b zGnF=%mn;k9b{JPT(Gipvebp>a)F5d#W;M#v!KQSUr|~jxc53$37B@THdX+a_Wp=86 z(&-v$9%)uct#*DohbyL*%cNBeZx1r29pe+LGsx(=lr)M<@2eIKdX3L_C1JxGpCy&B zrmb-*&o(!Wxv*Q1+<*8vPjzixuD*C0x@r@sc{_e;WSc}EKvPL zr9F^js;KT1XQ2ux$Q$^^^Z)?WQ8y}!T{wc-##CrvisDdW16ed+1!b|CC%9GpBw^6! zT9ay?H#bStO+P~#ZiWavk+Yv6G^!agM3SNtYMMIbEQxEGj5{~-yp*$q*VaXDqQp!T zisCHeH|6C}g)9A$QEO|hIza^q+o;flVIun63q(SoR4 zej7lZhbl1z`~;F0(EK+zZRBN&8BLsWKwPH=aDf|3er@OtreKiJcNz4qX|sgovXSSr za@pW3)T}W=3go%rtMJh6vw3JVjW2OP7+ z&JH-J+*cWPR-iMQt@XqK$25=?fU_MDEirBaWKpk*=Q}Xx@agD4jaNv0-SwUD(#FqA zs7VX@?sWN7MWh5mXeq|CeKcG?JSh2j^YvSShkqU}?f|CdTl-;J&RD9<(lAMGEDJ|x z#+xPc6bxB0LutY0dop{Z`-?>k+9#w|Zz20sPtU1$PL~9MUx(`5Gafhf?l;bIW^~0*g2=>oC-TKv&Ju&4gWZ*I$qQH zd~rwC^zT9NLc!L2TQ_X~|5AD0lY~S49xcKiL_UrE?V#JERV!k7v}#2%=+VLn=Jeo2 zJX$O*$|Iqm9z}hdTPx^xDCzrAvakRykCK#+Fl)@>O8El*6r6?f208bZD!~U(I$8$Z zTjr!P2bdOIRTACQ#j|%i+OmddvUG3ZaGlTP6%hdDHf-Uuq#r-aK1! z6IuwPyo4^c$a}WFB+r%<{AMnHAC6(Ify*%*9yP}ngBcZcN+@33F-+hc{=B2amCLbK zEL^YNkln(OSfR&5$TtSFa%b_?g&`4{MatCU3r5*3 z1CbW-1v{77Kp@g9$DUBWE%izB)`ocH?kyE(m~4^Wq0BGRFJ)^k*RFGL;dT@0tq3kt z0M9a9eoD9?p3=1ogE^J>bU_Vg7hh)rmy2IGyKphL-8imb#nOc;Jn`T%CGjlN7f!Kn zHM(DpR^c5NE&$=|;_FP{GPQBV_*$-yOckHTO}2c>dvx4nB}k|7lsT}LGr*6Ir%Yg( zNxfo@YR?&Y@7s(bkM9z8$a6V02Y?#i2`j;_dSWWid(5(7TC<>YIY z*#;NhtQEuMbg#1u7u!l4Tr1FVPQ69v(ZLtqtQEs`>fJbx4qWJ74z3k@v(D}~o(Wve zn{{^KLic)(&Bx_9J9@lXPdvDsH*2MEE!&$##i#LREuZopC2y7o=``Lf2i9^1_)+p^ z0hW2QT*HX8pG`wV(3JaSMe z0d)e~a=F3w+eZBsP&Fl#!F04qS{tdg1r!X{IU=UQVB)ubveUR5gE~#C-2RzpWX*xc zu1R;!miAg>P3Um7;d1|{ut;+bsw^;Ms>|AYs*`&B{!i7M>p)fdW_utbJ3q`F;A2M~ z>g=j7cW}?XVZ*&ACZgi(;5Z|u?g7vtsiz$P(UoBZL|W*i8-$+VM%%k`i9dZX+dN8gS#Fh_IH0syRbZUSQ z_|gujNP&S0Wl%^dPapE+@!qq`7QEZeZQ&iV4mlyoYGEJ^_4Gy5~&j^B~=b;5CU zUh-)N;0exgd??E)$o>h*adf=ESwa0{$Z@=9Mr^IM8qDi`r0@>H;MEek3gSd9`F-nMA3dZSG zoK#mdTgd)ghee)z*sml!SiU51*VZ4f23maFB}K(o9!6s5(~^RgCH>oH(rj zO(L@PIVGZ~%@b5_r>j66WRVuxt8Q^bgO0Y-Id)&w37t3TxX|Ll+2Zy?6pf2I>!H$y zcTCjm2#7}7y4re&B7@wen_~Q?odE}k)5ZXI1PTV5gld41XEFW6yRg^`HeCr@Rn_U+ z?r?Qlt=$92(Y$Il5uZh@lO=Sfc!Xn4kalfq=FChTUJOowjzIyf%FO|i8E2W^qvJHy zOHk5Zgp7+8DHe_#qEvZkqTiSB^2nXw?Cy;ywcREt1)%^P3Fnl zLIo7qvd?PEYIg%c`dU{Nt#aRr#=;6|ltjI*5FepbjfFq_*-jVqnE12U*;3`9iYmup zIa1|O&gb-#jo_x?=j>*Q852O#N6rV0G%dT>`l)DGF{tYnx2%Tz5B^1?&tk|3|Ad9+uS0L@zDSd}8v4GXA; zQS1LOj5-EJ=k(O(=Sa2)2i@@?Dm4svQ0{?d)HKlwvfZ-KTDN6i4Iv}ual&-GJX%iz zQ%I-8H#D?y#=O$~ENHS?!X~pkU);+x%O4%V&e*pKsa%2s`U>2xQ=o_T|tFOm;tQEI&O3&Rc$LHy5#}0>#?z*IZcCqPmuP6ZgxV%!cT6C2C<`2EdLj8h zZ25&Z2+B-iI~XZ_GR6I|{&pmlIKBA;(iSC!cV@mBgFeAY6Ky9;H(1lEoqV}Y3n#ZB zzpH^XDE>@-ht?xpDq>ZRD8HS|=6ka{UCRe6u9^UF6+KNoLt_^ja?Ahnt#<+E6p23I zqNC{r>R3|_4+hl`SbW?>Wst6-H7L@xHL?l?z+sgW#sf~#7qIURecEmQxye7*+mr1` z_PjXAeEOt+PWk6m=_^80e$=hvW9*s~5w~G`#&I)$wt6#<$Uv&NjI)=W$N;#l9h7eO zf+XPF^~Ebf@hK}}<{AEdMS6GGn5?h?0>r+47rxdrip@@w9EaRBij%_Tx~e?GP<+HV zLm;Zb`=bYf(vO4J@Hk?{(DC$WZP#eBs+B%X^{u!1y2y^pSbROcR*^Z#X^oUGW9hJ^ z5IZ(rrnQvj@~u*H(0;R%v^qVhQ{&57;IFp=z3wgy5rI&Lo~k{K#xdl}$hl4@xB%5N zE^L=#jMxNl^b(<&3=YNUBfuv;)W|7ifI+`zd^h%brV@)(z2qw_L3r;o!uz!_9ica( z8XLIbpwO_j{vb}*kq%zC5{BB<1T5hp?%PU-e4e#wUG1KyN6fBO}+m8D7~CFA#P*vG&fER?s`YWoKmg&JOB z6f=oE@6xbZ2C$LnEiBd&459l~$ZaENQ(S>MFCs3GRtNQucvY-2ybKO0) zECxGoA-5no&H`0A7G=0RMTPReFW$KwJvb5o4oAERGr4Le@$x8hL$GvB3F0W_&w~D( z(4XV_b4-7}SARnNiS#GdpG1FZ`cv1RhW<45XGnjB^(WPzk@TCvMg$m>(QWSb7T%~y zhQC4EoD2XE{jx2uW_pd7IYx+0Z96QU36pClbn(5;$ioy6cTZ*?YJC8%Ky6rT6cynG z$>lJ;CzM1;=%+Df%>ghHrGM)VMRX`J`$8hitvrY*=%C#q*Kn9I5mMf{;$%9Cs-kw$ z|FvH?)@hJ2;=z5^j^y###}bfNc@S75r!DX>`& zVe!gBZlgtWMmiQ5>{-edg&ogj4OkjqJPU->pg2{=r0$N-Hw9`fp6c}PZI3)(Z7}H< zjWS+HyxuW|lb6FOk{^DmD$!hy}*gTQMZY zVTgv<0DV+&Bbo)0YeZ;uy;vEXYejasQM6NmWa#p*0oVE!P0VBy!udURx83GwGv7jg zF028-J$nK{r^Nz-Y)Q(%?$FzFAf_g|!jRW*&}E_&t&v6AcMVg`Zbq%U!*{VC%!KqJ zR&{0+@QY>kQ+I~QnIno&rH&}LrOHl!B~@LJ?h55O9o2Xth_?g$Ik`>Oo@lX=#ftu$ zQmjH9x~ZE|Vms%}G7H;SmWfmm%yv*E3Zh^3PF-$!Ob47otm-cW1=O}k6O?zMI8C@z zi9{D(qKG?tO~7;>s`q-+;+gzp4AbXHK{AC6`(Cg_rNRafLKos>6>}JRxXtWgIMZ!T z{25s?3`X#!R%xORZuvT`eqIA1UG@7 z17uS@x(md;Z89_}tpv0i`0R=}bNSZkj#(>Pf?Rf^t0mg)ZZQ3UFp3t!6A|f?(PnNx z%QVNisnMu+vpOTGvDqDj>pTrm5A-EI<4h>s5@(wI`qqbH+2YhxP|Oab*#BS-r+erG z!y@~_KEj`V6Amft?Jn&4r}T|6cRqm=yD>}7GlL_p;Gi;*1Yl-dI%4zBP6aj|#2hdX z1dcTzA+#l+5qw8hCT#tNc^YYxBdxCt_D~Pwz1uG9;vO0?0xi)iajX7pZ@m{63op0H z?lB(IMsb1EY`Qaa+-NLJGU&zzX@;*b5|{?38H-4>I`wD0*Q zH&B)Zab?0HjERy-3_(mZ7Rv{iEV?MR;kGw7++u9P4XC_L%gP30({x9YP3^5vBdK9V zHr)!u4*fh7tj6mG*|ExckL({VBK=J4c^=7p>`1>*70O?W?#G&f^YwcPSl)#y>>4Ae zn5eY)@&Z(r&Yes|hI*N(9E|@oxUM zj%WkVl7qcRxA$`2PG*hipd5tS92@A9gVO32lY`;}#ixg@jDUh>^+1i$W379vPgj#o z(=2ntyB@jpxg;7{h)?)C9%BV%6p&HzaZzsTca6kB%JcIEV;XT*l#Qz!3%umgI)zk8 zZ@x+6lp~QhEiSOQPoRbAm`za%m!J-*XqKna{s6C7JKG)xgY|f`*ikcQ4!|Ju@#mRl z#}$G$WyFogACN!Fe4681!ejZExM(XI>&h8rV=j|4q46!zsWWMwjc3R@h!z5l`1uS0-fSynDc z){)~Nd99Wi_Bc-%9Ug7{mL@dg)ym}W=64@ z(Nv+KUdTGhEo5ToAxJ|`h&DssH0O&3ixi@Mn0N6=aOkkuwF3n?lAP1N(9Iao?jz}o z&!^J9bh|S+^}ItgQL$_;J2ggce78zv*0|I(#>TnIS@ZBrQ5yekz^!ZCze<^`Qe2LW zs{&?_Y5^-sB zK~=VaON0-rQ3e(sj0rkguaXL!49pCgMe<-mJ9+79Gx`!Rt=}%?JyhnplC6pn-pow_ z8m2$2=(e(+7_C4o&`>IjNKMd_iN2i)!ecA57>SAQKq0LV89P;j+x2HFmsBc6Oox2Z zB`nh`M_cbQbaT6_m@SE#jo5y!+q!=gCdHJYMPn3yNTeWwRs0tPzyb#wu`x1AB~pIe zDvSZ8HdEPiHjQmix4I!Jv+DA|&Y)@9!Od6)8G#_2L$;N^L<)966?BcNteUlqyrEVs z6o#*1=0Cn8)hx$4Xr*-$%|`G8g`fqmin3DhYtgtRqnN!Co$QQJ$9STPu}BL!i(?F7I( zOskm<9m|Jr@pH>!A{YhQ$(j#{w|^mNBMY-()A(uEX`}j1lx1m$(+`<^KE$%F9^jW? zmO)eBnY6Xk`u*kS{RNok6Hj%%Ez$N~N?A02*}8<)lU* z_fJV^4aO{{Drpx^w@9BSTB3q1b%I7RKJ|hoK{27Ca)wW>s(~3m2Nz;25J@69;4mT! zBB0%!&U|Khcyaiw9L0UP0r>5nmLYMg+^O5NPm}z&9t`rskjKxpP`&SY6V9V4;U|Dy z%c6cG?3m?9+D7`Rj>mxtq}~DuO=y0*U>YeVjGwxpqdlEf(0f&p_z$i=M0w?AkdKHn zDP>Cd>7pzQTy;&6=1X-uuF0KJ-<6BV#ghPOBbE2U0YLK?Fdr;<79OQFcVvRi9k1L+ zA_Wb58{zLr!BL0!x&};Pd(eP#*c?Yy5=nSPn&1Kyc6T9=@)~({>O|M@buv883@FLV z*X+DuwuI}=m*VHgBtic&thoMF8bBkSVhS4q{QBVKQL&^NzK zF>SJKKXx>W!^EMPm=f)s5}Z2B2w&{e2wj>f^BM9|9m69HvPPyoff3Q0S#~8YZI~*u&PJ zhWUsxl=#!owwb;7hZtV6O^Vc=hr*HbmehO z3Rf#W;$E5d%zgqbV$)~DSZs}j(U9FpJFTp~Js+JAP}yiXHr%QtF51*3%FJqVX|xo=^FfC{Tn-HN_XlAQi$5peRkH4~OYf>>X0Dd0LaH=%}#+}E0m z73Sg_^oqO$HE8jP8)Q}ygy>b7dirA_1{zxDREdh1)lmR(Y(Ri88@z@;(#A{>2$MWA z_y}5VOsDkVmPkEtn&_bu)}{IhWP)-&1(E>P07MtMoFVmYXk+LaJ~B?BT%{+Ry~w@h zf`TpzW$++J7P7H?znk#+!mbEcm(@dRerAXwjBf}&*PKT)`by)_;i7d<>+eJBKVi(S zUum&XJPOSU8|ZUV^G(A{(~l-mU1kjgWZ0EOonzXT;oRV|o2+s?Gp$cs<#<_eQOg-F zbwJ&<9+wG5VZ)BXhRm-gOTp# zqn_a`Evu}TnzsTYha52$HM#nYE?Uk?%CR%GDjfwbR*^taVq(z^Ehbf~+*WVL7{gL~ zC?7ud?Y=>~+j4(*He|ESo}uGeot#HFHBIm1ex7|q_fld+n9mV!rn8w*R-o~9^ToQO1xlU`SQa^F=EI7q!EcyUK17W@UDIg_CxaB!Do1)O64B=B?UfMQI9Nt5WM`Vr{v~{``(?b@z zA?cEL=mxY1LNaB#qa8z$)ZB3%5CXuA)LN_Nr6#5Kw`#j;s{OrZ4l)%#4j?CrO?E(I zheC0HvBTUl%SAO4hKN})UxCj$gO(Vywoqc+UvmmEE3&o=={j0*QKSzKBHb=XU?$at zba*b>Hj903mVd215bZvmJwW{~#{f|Vi}%;19zvB|(NJhopLPromR(~YMfz(W16bLk z(*yCo$D;>`Ta-{({B4SR^J*hcOfj(+*k$CH=OV_0bB2={M!JY~;5~)^@hnv=-C6O# zuvbNCzd3SSyVz}0N0LY(k&YCXIuf(SBoT?Sg&X3$^iBJYv@C=$Wl~jnHb}#Pdy;?} z1tKP+jcCbvV?qKVFqGI*Vf9&(&{R2cZv<@+vsM8xw&e)I!z8s_tCJ%*YFe;iT}rM^ z?P!Ak5So0f6fv)0x@rhYS!Ok#_to$)0Fht*S$BI^J{+rHgp+{;&^6GMzSK2q|>Q z#<7y8ED#`1lO!|?{VJ!|!tWsWFUa8k^teNST&QScpEq?vrb?CLlZGN`^Q>yxW2<}I z=pK9A2>=%Aqm7gA{QdRlF)L4A{Ndm!&QCF6L_bZ5iu(#$F(e0h8zA{i% z@rO@#g*VT+(J9MsugdQRFkCsnr}#(eE#5Jq1zJlLxStJXTfZGy@RUGK&k&ujLFq1j z>!|{#>U%FbEypL@2JoYVPF2~5&X0V9!w93WB6J#bzx<7^@Ji76BTqXeIzMrW$!4>x z#VoVQhM!op(>vLiUYcyoIWY_9;S`fCImKkdneK*0R_efHWBCaoDDNBjU`M@^?ThSz z)TqWrnj764pj_rBppS<1%tT=pk`l~o*|O!T?bDc~bnuj!#LJ)ICbKxLxCqZF|GdmU zHxX29zOf(wP9{}!n5U=}}k9P?iLeH+ik)=>;IhSJ9< za`Dud>25?f!09KW%i88Xnrg2q=qY-MzVb&t#`q9R5EFR~K8R4OX;1LDnne2K=Cy@M zINv%;wqpJnsw@wpoJZr$dGY25bNGRkMKK}RoCXH)vj%}$VOlj2JAw%1S`!6`+^I2Ix*-A_cLh>HV8Oaa z^rT8^2j-eNG-b#LQ1*NBHYW&UgK;NbDqC5OXBE1^qM*RxpcAq=a15=Rv>pidm3p35 zYinAqMXxy8UgLlq;oy%Q3(#z7-wUi8k>tyqrh?0*y7Do zqvnXvtRySt(_`q=HU#1*@#aD*?Rv$3{2MB``IXn_4SIp*P>k%K)!GoJ zNwvPJd>90$|gN#1u0f?>$^%G3;41BR} z!8RiBhFvfx`xZ87rk;*r0Bst!?vog7ETx2UE&_Tr2*#*V$3=>j8v}qd3*8|ZY?9LQi%^uXYf6V? z2y~k#^hA_NkPItf=8pGx2;Fflnu{(5je+YqtA%47d@aJG8&+vjBGJ+=UK_60>eXhJ z2cTO(>{l>NnX#Su41p<_D3w{=E0`oX1rrB_1PR(a!80O@P3|$}9+P-8&{muJ!bs?` z&ONj^0WmSRTo{`L4J%ZDRvHTJMekYnDJ+RXS>YVR)aZK^K0(IY)1nR>07 zijl)q7SCCIT{TeiMpaJ;n3g!zKhfEutpGj5W;{7Jq(z}4dwnx4omB@mX!Mosdh|5Xq8$-Rf zWyz;xW1=-WtJ85<95*GJ>%8xtfY;^cG3VQBDU4e`JI|zVW;$S7%Yv)38euh?jWo1` z)e*!(XiRpq2LhGY++z>atu3fYnvo0v{D*p+pRE@t!`X#;3>mozxDv*8HntO59cDFB zgo8aW(r*u>RTk^Y`4fz+FJ9JCcUinWV3U5ebPyWCq-3t`$3!yYM@zl!{p}G=3+Qdw z0R-JaQDv?6D=mM?KB!~m`L+<-46wS%^fsM?&BEtrtCh04(84IoY*ItGY`$1v?iu+p zlhn6iP@)~8W^*~sdnp{7X5NcqU(PC2y;LY1PuLAiYRm8=GfXCvYbNjt{!-1@_eGk~ zXvcR$_cTgCwM}o`rdL<*5QG*+h1{Xd>loc8^5HOj&W99s)#N;#w%iLt4DET2GOV|2 zJrc7_MrBDv=T*aKh|%C4cB{pHC3@0|3aMBG=VpL>2u+hjFipqZ2FQxC znoHUFA~L9UY(GV6Xxf^nl1;(&qp^-P)~6KB!#F?2A-V(OVO*4cqcjO3b`1%q-bzz9 zfrbug(vj7i8PqSv=>&j@f*t`-rPv6svz)SAPb~nN;<+>jRY(ZLhTIO5FLkQLnY_Sp zO#Vr{c_y!x#pIQ=6q6?$!R%IATVp+x1TY(-cGn=LOUwmbn3KK;<~*YSQ?8!J4pRZJ zi{49dC>~@zUQ`^OF{VsDK^)N9ST^AVq^3h&XJ}D^q`}u^3T98{uTxK|Pn-NF3QTqi zZ0w}2@1$m()K({z^(m{o!F)t-Tvd9ENltwdAP%nENnDEa4FVa zF)%`&@!DqfBgBb>hr~m*2Aeg_)ON4Z{Rzhrn>~UBfjHC@ibXO6W;nasJmGz2w(A21 z$JN-Q+Zi~&+JP&diP zo}f0EtDRL4V~B#P?&ACqOk?8QM@{oXG4_hPAo0Fl^uSVoCvg)lU%12=Rao$r29ChT z)(^S^QQ0{aOI#};-4t+rX>2@DGZ zN|tCYa@$5dgVa0yO8Mg+>DaUj?z!rfo`2GUu*KvQe=)icte_$pJ)| z9Z3=d=y1H5AV{ob2?8b28K><_0^^TRlg7*p`wb;FvhkfPcS{kmktoLjgl7%>6{&Z1 z#_4Ap%+RK`04Yd}z*H$$1VhqiZOnRiQUNrAdk@`f`Dkxw3d?K1@!W0%aO*X=&41 z4q}*xisY~=gkezH63OfK$n_LE? z{Oq!hwnH_WwH%BwZV8)|5BzE$Amat8Z>?xkJ9h{(%xc6=P;S#~>*e@7RBhR*vf3$E z*`#}9%da!*)X4}qP;o~I!2Y;cgA*QYaKda^X|GC1_``D@ocJz*Gf@~Meg^%qZls%BNTv}sHp*lm(4@ZBE)ds7Kn1mAV&qfF(Gw`5_PyG zfl-5$0E3mm-iMpS!36`n|I|T?tMzs&W#PT z8l2SXjpooW91nt49Hm10qU$GoAgQfViQf1x3m^~unbh$f#~#4_D5eMkk)_O0SjZHc zUzktgF#zfr+F}(uZH<<8j>-**+yP3c7W(4Eb=%)&@UH9?gp;21<|*h0YuJydbS|)CkCzPb}M`@ zXOWK11S08SE17G{zS$JCM{F(U6w$o?ife)(nEp;=M*SD@2W`>bJ^N>Y)iJTF<&c^7 z2`tW$@Z^}BUk;BHOuE{%@%pX6#6J&Ta|duWetA*2(4MiH zapk$tDjfif@I}YyvzujrVLD^Iv_VFc{{G_^d4*z8Gg}ii$S>)l6fP2VRhiK!R6guV z$FXXm{5^JRd6ND~Ga6rrWMBBmVd}md1r#zfBT?#*4sn#ZfY%d+%vMS3Qe#^n3MO4y zk7i8bL?oxINHZVDunjRLwSGXu78b-DkQvFU0#m$MW-bi)E;D zFJ>WB6V3g|8xQ8^XSD}UWalkBpi_Yqt9(8IZ!Q4~Ql}At8jNt<9urznajjvC){e}{ z{7i~K^AnqzWn`<`3h*P%TJm_XxTj^X8a=RWed>lg-v^``xH$CJ3B&ra7HiMouv!FD z%lzH074?7)tB=m~h2d$puq;%!MOdGDkR*^OcBd8U`7(z~n||5OVzfme%(~?-KTw(O zWX`#FHMJ9UC955ldBwLVZ#Zmed@bgR;8{D3zoEw*}9lpod+>@eAin8s|kL_3kusO9C6>9=UD|aGSq_Xs<$&zxAxoTH-N200))u4imd8R#E^6=e)(Fts2iE0N;Md^D2JZz zwQ7sIv-m4{Yg~nzbHar4T7w_d?0B>64Vq(+a3s{SH8Plm2R(5(IA=uzQgGM$3Cfyz zD9l+=Gw-~d6>^tQs%L3ZP&i$FNPdMOt!71TF;*@k=curyt}P}ahrL_;9`o^gtdvo!RUq}`toB=OuuYzfe zZ&_eJF5ZA~>O4jc4E#`A2T385rHrz+fgj`h&}F0TP~dnry5%V^-_m$VKDuCV^AKb_ zTBY;DJRsf;vc*a&s@s)Zq?mNe@#ipqScZEJq=gsqIbt8h!?tO2opdhAPbNn9>AmqQUZjG0~~u;$Vc;e*dq?SPo~KIGQI+9K0*6Gy4y=?8Wq{T>jKU zwrb6i@0+!jUrl#It^}7(5VJc|7Oh>5A)gihXehwM32?Ckj?GyEgMBnU%`L$7d44J% z4qYfADL0DdXi(~!_yD6QeToA#fQ*^Mn;_(1G5LJJSrcD}AqjcM(_m+5W`PBc&4RN8 zs$?Wz3wj*B4Jc}6BddS{f4l*d99hjY{lwS*W{d~h$Td2&)Mku78V*|`S(GNpamL>- zl9*OHWG-%`(2~0e2+9z@vS2R?SGx(cEWv2oSN@!CH-WK9Bswybf%k&Iub3>pn}7o& z#8B!I)23F~ZUU`qX(X!@q}!0&O;C3++GP&X$!k7SNh=3{M7R_Sp1?okK+zfw63UAv z394#0fwXLNY1Bg4tmzZ1rZ{~<%O@bz?Iw^U5uhxg^Je;lQ~0G%D2dWepYZBK2OOxe zH|}Wh-2{Tw;|ux8gc8WaEShOhgo|z?AhLrH1t)FXL=CgmJuyKxdzl|}-Zll)^*w;s zGkwi9?;mhiNl{y(v8WansbF6OU0w%6Tve?fpe>gTw)vB9r#>r{64>*qd7;GOn+YQM{^no?ugpUetZjc}u5ERC$oSFGA z&p=dgx1g}t-%XrdiH17m9+S*%qJoE%#EPXJ>)fNom#(N_DyNAiGJ;l`)q%fU%4WgA z+CQM&uwFu6Ongy7vAjHP61Qd2d6AWAvZ*E)72KG!`nqbM%8jabl1uayD?rJvs9^1Y z@-H#N`hSB5ejcmR4`#KL}gJ0j86iT!*_TyUPWvu zuT`8t85K<9vg8GhfH6T?MFn55SX8i)22p!PWVF~96^v12Kq{Qr_OOapIMRS^UC6%z zh%G9ZaraTdvQPS?^C_c(HB#s{8Yu?sJRTtHe21kcA*4q&cKSD)$VNNiz|{$OtDQ1U z2;)f3O@4^a)h0ey&*m2b`D{Crq-QvYU#y~ly#xeH1VfrKZj+~0#x){`@hDo1?~p}D z=5nU>iuW}Z^$5CG@d@i>m5KLNPQ0(OhcMS*v9(8xf@mu4( z=P99w^HwRwc@+$spPKU;8y^z0qdB;;0cXhVa94IyoPxWG**os4-MyZ>s%3FkB~{_L zp1Z0^HP{u7i<4g@0PB_L&&C%C$5kl-7j$6`Hh~eTs@B+rUEd9+ON?uIfR5c z8<!|}a%k|Y9M}Tw~AF$ad!!zYCMyz!OY^ral!6p|v0h`+NjB@1zHcivy z_o4xtsHaj~wMp% z@BrrCXp*Wzq8W4}UvB!H7N0s%95#ZA;sBoxzA}nKrY>G34n2ujD>doP{>a1gDL&$b#(5ScHW?diMcd}9v-Qu>?p2a11tYZS*Hije zNqWvsaRA6d#&Iby%w=bwV9gdd{sj??REs4*Bu3gz-*B?^L9E3s}efHg;fcyQ2>>P(Jv~I)yHspl(OHD zqVl7y&Q>YjzkiPogGqnLEXUy?oa}AVZuK=Ba%n9@=caY<|D~7IhHyET4rDgrwkXu8du)3`d?ZVE0 z(fq$S*x>di^JASwO)+GhYa|lxOL3?9XNkMxg0^uHxSL3+-a@Eh1`5>Wrd)7{ykKng zMam0r)ZA*l({|HI=%Ct!>06_y!Dc!a+RlAb%A~WhQD~H13y}&3*RmV`>4_SE!zJR} zU?h?~0wxzR?2qG7ZFK9y|qYJjbYw$&9 z#EKBj;RsWK9a>`u;?36t!O5$$S=b{({uar-rL=e*uJaM=o^O5^i#qXruYPr&ynE}9{{1`O z_|G5s<>%bt`x{v_fVv6=*+U(UcoXTo>a{Yk?%M=0pt9Y^aHC@1mukGTcoXv_%7RUt z0QJ?7MKm`f5_GdoT%-O%F?2^w zFKS`~w7a*Rw{u_kd9 z_|+B-9nav-#%C_ciY;^KY<$AVm{-1tPR6J2O_4m>pmLU1N+)hx>TZ6145gUE&^_k0Raf9~Pq7`nz5?)I z&P3}k4j$hI!TZvsi-C9l6{iFbwyBsAQKGHi>N&y`^_>mU@va|orCsC2+TiKh>oj5v z{CfY){BwhUZpU_VTf@H5)xjwCZ4DE#Z7f2!FN|YKW3JA#n+7yC7&l_XI+i=>IhI?( zZW2<`)UZRjbvOVgekOKqcb2%R$2lm#7rm&s@JMbXX)=fu7`&T~CyEmp8VX{FSYOnf z%!wiNLo!9IX=;lYq6Q_4+ibaGAyiBOR)5emBG90Rz! zYT!oR@TAkg9*qH%I3+xC*A^4Wh@PDX(vI!2N*JAni~A5|wKgO8iFS@@eO}XsY(92X zhAOJ@QB&L|omL6-774n+j^kzt9_!RkU8=>7EVqS?fa>0DVNJ2rzHMQQ1Wj~p3mdDp zh3x^S;;T^CWVA=y!p1Xg3mbFW!n9F{FchBveprw|ms#$%Ft_8(3TQhQS2eyb0#g{& zTmT13%57mIJ=?-sM0$WXiji@|v<+#cYE}-VCVm(};Wvlw0R`kk50(s2a3=kUWNz60 zE`2IdVw=27Y@!KSp`I^n3xlKgYzwp9c5Yu4_}NVZhDS?gzZG;qYTvf7YP(mBfd(e= z(kgAKtzr)QZbgbEIk%mQS#O;Y?Uas1#>hDqt6b_XsH`@Q?P0WQ)wVEgFH@IknCj4q zG|XhEwuLE!Vk4Sb^Gaqff_^O~SWMV9i)B2ubC)%Hc2nuvJ9bn3MI&r-=&+PFBpXu1ZRHte;2+wO z{eU|kiC@V>FV&fmp7?FIV>veV0|3=#{l+{+cQW-3$qL25wFtgIoZ%w6eiWvnXl6Oj zNMdecMj+|=)k*b{HJH^%A7<|a=3hgrbF!ouD8iTabMLfb&73A|Y0dpQrwE5)z}R4* z?sxPWLB$Qr%V=Q5Il9MsG{%lb00C=XD`c+9(39+^>d_#>WYw4QU(TY1dDN^M%#XHa zGCh(49c(vX4`G_ATXdYhTBj%IX@hRY92KcKRRq^t5=TR$v(q_l6d%DVpmRGpj3hg1pmarh+S(dsf91a>!-I<&pU{of!vv>-RS6%xJipLcx)Wp%k5A zG>8T-GCkNkE-x4t=i*(Hd7yU;c)LKsG#!+7J0Kp(fcYfG*XNIw>T3p-%Qs_h)(rgA?y+}{%Lc3osQmu(r(>jv@0s_q%hWFy7o77Fy*5qX z90tx45}GFjO)!zCGGb>05*UYxltccz41=FV9+X0vE?C`q*x6y`;wwIa?T*Fn-H_Z` zMH~7fUt<;kj>!L$uv1EKt1cEUcl1 z8N3DitiJ+s2vn0lfuZ6McFmTUD-4e0u^Fcv(9DkO`0cO7xrR#4Sh2ih$XWU>T6{gI zFTiTMab@JTQK)oSI`WpL+oKFZz|@eIV;jmbGKQYc6r}xj#0Q2!@MBqlY@0vcA*>B@ zWPG(;eZXTbUD+0BAaE|?;Ozuq3t`vD4Krie#-p2Su|8N15m1?e(XnjpB2`pd%^;l- zy#XAj#}#HD6rX>#@M7m1Fv3Bb8D;*Ku8Sbf#&ww|!^g9EO}^Fini;On^9X8Lkp78Q z66}y1h%Gj5(U~wqqFqnD?v8Hl19$VpQE-8(iS5Shd#_!e+*KCexYT&2+^{AMimBWo zo!Xr4FJh3*fj@=GQPl6@yw+Gjp^zfv%)hcPy~0gtT!jp%vR-{io?1wWotAvSm5Vwk zQwsg`1VnRj;M}lZ4Gv}e2;5P-1#3d$8&Pq*ll^#=T{)woW!~HH&|z0FEl#rSP20^W z_Q)ewYs!Y0$HSWM5FK32ugpA}7s&{rA?=8FobDo-6Re4A;&NmGz6x+A1`79l#IYCH zKjw_bzv0^}^J2c78~}FUvCa9zy6g^n7q(h(>^deGsrO(?hy(Lmo;IwhESgi69eK#L zlZc1(ZCHlh_0D1x&7+&k&&Fd8UNNQ3T45fyKB0xAk9|nKO@AV0MUQecwq!|N){~j6 z1VI!huU@hU!Ye8=E2KQpmiys+Ctu3{c!lLz;Oqh&vhvbz6|+Wcg~eB{x`>k&1If8B zx>w1#&$?HU2Fr0;8(`C60tvJ}n6yJW46kT8#=$vEA*uM3o#T(F4~#LL^QplyF~|MW zBNOK$067JF-I7pA=-p(n}8 z%3vff4cDm8w%)BVr=jjO27m)jWuzAdEigR^=LA$m))8Qm$#01UyH6zP;^0E{*s}^7 z8b4k_wz~rTH)3eccZ2m76eN~Cts9BD!4K<(C0jS_&AMT4)(zRF^dYJGAcEB72Xu+8 zjR9Negje}^42kG57qVzUQXfUbGpa$gS(M52MUK>iL#0~*^0ztw0! zGx{y=Rjo4cuo!NV)!-(62wAXjtqWaff)@u_>vtj$uH?K1D9%_`L62(73Ax~9G%%%e zB8)dGX9oJYaQ!`|!~_zO^@@C|ZkD*$5GXucY7{Oo8e}f7!VROwTZlVfeMB|pOY3|$ z+=&3mshgm+P~?X0%X!{SE0CTI!Y@@|02N;>6GP~co*ZU01$KU=T4@9b%?QHXBB9@k1Ehyw&#g% z;m{DcrM5g$APM^{B)%;6s>NKBdyUiGJ{;o{6L(o%po z8jb{272H~5Z@9BV!rl!7oaJ z`hPA_G+ijzuFWH~J5UN4LmAL2#DYRG8j@zK-%W!zPgpWnHjOV=q(O7a#RGUDgh=!Q zDbbkL)?@RBx(di|usVa7)bNYGSryp2Jtew=Y~^FQo@n2@UQNnL-lu$X(cq$J$i5^-J`qKJt@$! zuRjwG)RN(oA8k>EE^0{A^rN*f?Ol%$d(VMRyiUyA7WsgAtuEwH*ayo-^ToQOIp*MY z?kge%Je%}nMF5k`ePxI6_I!9ES2S32M?OYyi8`ba!LdBSok!vbOk`@%HJ5Kr@^SH0 z^6!B0G>pBt+^ULW?8*XamjxVk5gmdXB>|RSi8sWPLPnqA>)g>XDm zV=Y)AN+85;Op;QkQ5ZLNJa*y&O9MsR}`@Fw% z&b@ngwX$UpR9^X>bAG?~@AE$Y-{*Z^ISFofa33+u&bG~Nz6=Kvu66cN!ZK&uRUms@ z^UcOBS2J7A+j)(gHO-uy5e?4F`dRyK;%}OLIrE}lWkm9j&UR)K(7mQKI?aV5Oc@?4 zYjeuAWHq0RxaS4QL9WkU)^w3yF7kN#;~ifyRSI?+HgvpN$+lP_vTIpe1EDj}Vn zq8lf&DC8X+eIGgIMsc@4Xkri0xLtVBIK}N6F%{?s#aNK zEL*wiffvtlLlHWAXtwj9Y}Ha5IRtA)iX>a81U2S3Ftfw1R6pD0054>dTHw~B9PE2<9j-Qy`B+bxjH~nZK@(q3c>8DWkW2>@1 zv-(4!5L5Om}hew+Q1n!eNhUPqQ`?*LNhQC2pPi&C55iSJQB5#FksG-vs|O$aG*}(CJa0} z*e<(~(vlEkAwT-;@G`tGd4jmC3yF##+nr5FVY-luUTYX|Qk>_T4-&ESpj=a|XWu)r zZmo;3&_qmRBS<#wjm?ZgHR)JNa?eo!iTHG1Tw=`WNvOq2&~f+r^ag5|I<@E-`ChsFwd zwc7qjI0A?Y(#GVXNfv?-q%f-;RcKVQgau@|%s9$`W?#edAy#c$9ikW|&|&RMnlwN) zkGwwmk)Q)V!Z2*(Wq^Hq@`H|IDMR^S@NZ+{#2-+(O~G05i2 z);s5Px8`WxekY@p)hzwVK%N1IfwMrM8&2oKoo*E3h6j<%!xy-i*^!Bh8NtaHUCigL z9v3s3?#ji?4_wS3A6U|Rq;)a3;<%VwaTR2Ii%S=CRaBx=^^L0H z4+lUDM%tw7fOSSu+Et)td2T;E0W-*-ed8I~{12c5B9QToeP&{yoGf+b*&Qmy9{}em0e_GCo zlto*ur?`kg#I4D1b>)3S^;=@*?S*#u{ht&;fllKOrTR7GEN!p7`G}sUfH#Ib!@PYz zru$ixCVt(*{P;Mvza411*Bq^nXSbFUtp|Fr5&+#QHUTn$o<$c$2>+H2OXEQR0e1Ia zxa++K`mti90-bnAfR68hLrVZX)%6PsbR1g(9jum1vPZWB`q>qD&-H+0;H#(XbM!#3 zoqzxxf?Nmsc=B{Hgnt^I{47K0xxnuOISpT*73PgvnGUg73+iJK>G05`qn^C{xy_95JKxA|ykb>a^Ia{l78 z$ocspCtkr7a?X~>ST=W#t^MlRJw$${WIB_lfe9rG7em?dz;pZW%R_2m_|Y4r^rL0 zf^u#2-jXM-X&s&XJ;cy&?e{zeb$)-f6PK+I-M|L4DSk=H{I)u`BExIMmTY2}5W69HMjA46imWm+s}Kb(cMXzl(bL zI$+b-%f!v0)Eb~94H!?e#rCZ&>u#xgx@j=p>_l>P?pouxjwen3Jo{j7yCJRFL?xZ3J1}n($Y3BKKA9)FCP%g=9x`5QwF)we0Gh+IX~do_}b!(-|Kz{ zckQ-g%*!Rx<<0nJcv1&1-TKZsC+XS6U{RkKy!jD5`g|L{*;|2e7vbp~P2N%>mLWX5 zpYsga&-u!>pYuVGXl+BMTW#ocxcr|<8#*6EO@%|uKCc~}4-RTe=dI6TMM2R$tTLVbkLUw#%TpK(apTR2w^nK4l5tIqTB*jL~0&(K3*zE3J_%n7?w+B2V`U}+hy5=q*GWN)IYUSs%JyX6@MZiM z^iy3-96JM>^TaRwchY1GzoI+CxbK7M3`T#lGEdM^`I+=kj9Q4T?a)D>Kr9*~DF;&< zNp}IyM7KbhAGEI??C$7nab=VfP}6@M=g=*lz7i0(%;E#7Fve=dh|l-8(vK#b{a|TL zSN&l9>>bm5SYeI~hi3C~n>iA!KAD_cPM?zecZwCd>fsq5{x5CG+F@ie>nHA#33mnh zt0oL2o_u{-u$)B`d#=5{I;yh1pu?dV0{=tnn;`yvec%84a@Zp0;iWM>=@ICuy&=oH_*Zp&9G@iz06scME*5!hsn+%&tyzL6%P75(U3G ze)`2=^6}q4QzO-^2ePg^BNpfV!;6#On2`Hr^d@3;O%E_WJCISbP(Xk?MP$W#l}YH% z$8>&EfBc4{9XAy_<{ZfECPU{rb3Y~B`qUyE{HV9b^0uqDG}|B2+gaw=6#oKkqRD}_ zH?5Jgkb7BAJrh4>;t5U<5Z_NC05>oI6Z;R2u^$zf`;x(ZU?*_q;I6pH zxf&wmO#L#vWEzbmXa>2azg6k_D8ZZ!4Bq1Z0QNjj(kO|`;Si=0SiIxI#c^f4cZ=KR z7xq~B+$*pjl=-x+SeVIRJeKZtTb@|Ap$lz}68QvPD}I(~lyX7d&9>Tm;=0ko;Xp{P}jTQ9PX z8`fAASJ61jeeaP+V-G427_06vo-u+`;8iq{9j-a)GFJkXzoa{vS=-t9`G_U&m}KRU zmA9N*Y&@iC?s1;Q#_NgUWk9TWHbnTAb9I}D59$GsbF=J8&C*Kh?KQ|- zW*qE2$ME=b=ky;)5Isil6fpCq@Ou=saJ=}yXH}1@!X@^X4tGTsf7IC z7^+A%N4l8Yf{6GWs+q;BZFs@p()8aZHx*w!i9|4a9afufM(hDMlx9`L{YJqEOh&<9 zp7m-YwJPp9IRth&p2ACdLjcY#7Y$XsUU&-MDIb`I*vL-gvO#&0uu1|B&sR==Zak$DAI}moqV0V#=G;N{15J56cb)yTQ=5(Nz_RFPB%4Z8 z1CT+*Bq}(B>r@jQ1=AtXzv=jpG%Kd_m5t|&Jt}#Il6;(^9;j0l&MqtPtV)Z-Ct*3+ zxHTgIo7G`5>3UmY7MPr4T4y<9pb>EsO80OB*&$>*9k_>ny<$6V7t3~NRV)~~(0*G{ zbe4ewErJ*jIdaNS?{0T<*C|?cN+O{H$4H%GJJ@nzJE4_Rhbj6@&vr(|b{K0v$e!)= zgRILmYLH1S65~PMn4Va92N||=ZaGLT$znU*I&XB4099-OD>$6tAYnThBs`G0tg)SQ z2iOi602`6*fX3nfON7umTXG*7Z`|i!eJD6jHFOAwbIEy~8mbCO~ zl&28~OnPG4TKslo`grl4AFYO+1VQ`4{Q*8WcguMUp#h)t9U%<f>yE05FSi z_}3!f{Nl<#=C>01!X+Pp=zf$iHkY`?UtJ%st#|i2Hp$8*fJE{k29WJU>O{s%mhGD# z(7fy;)SkC#Gpq61sy?d^9M+cS7)?K}{JyuAjME?@E+Gd}pMnr#`fvC!)prSSMgC~< z>k;{&J}G2H;s{!Am|501zpSw;Zf=e4yszEG}mvCdycn$`KiP?SQXv?$KHp{@l7)d?m=OXCOLzMJqE#^_mA+eV>)wv0 z$NO6jzvt~O^KS8pcYosD8#orNjZcO{xc9eTwzZZ7c6XU0V7F{yjuUg=WO4+g2XU?S z9fkA!+`}o53yCRTH`~5Qvnhv(ba14M_CcSTZJ*5% zZ0N9|iqE*F=T=(a+g&QQ+~fk%#3}Si#^rOIKI8)JK)m6i4z9{khKn~qGBT;+=EKE( zabVTE*B*NJ={K2-Y`A!J%9wOzxOfeM%lev$s%D>g)5Yn($E2A-q;aKcqj_yY<5&GB zA$I$1@}CrFaME~5@KbHc=k7I^Z7#0-$hol2lq)&b z=2GvN%Yk>!Mb1%kiD+~#Yp@vgbI~fnLDFc<>3$NUYyc>Lt64wzfKGNUPCsb?W&MPr zF*RQ@;3o{aC8I~X7mvuzo$pup{;qsq{I(2=0Ld4R9;*kR z=7Be*zIgOk9o<_9CFb)>M!z~lr;?CBW*N!t7fA#oHaHYYyHb3cy?8XMZ=|mz&tL|s zD=pthUx|~$`&>~IspkEx15UZWT8kIpY7Go9wLR_r+rt9);{BZ*R=fe>yt6c+)33PHq?YYdHWsHW7%dHxPd2m+jdufHeRVP%>SXqj&1L zaM7xiUCKCv85rdd3KIjb1R#r%3tIW0EGPd~o>jsn69<~y=!eRd_%LQIJ*@ecO$h~} z)9g0Q$~JKwlId zXm>YdmsJO=pOe2kMh{0TnYE16-GxHqs{+q;Q1_ANmAh3Gnf?mE#{%kJ>l(x}?5_vv z;T!7X%CJ5k#eNm}O4W&{K=aof!-L`K_$BCWjx7+I4Yj0>xd-zi3a z8dW^Zg|wgh%;TY&(lb-ChkoXhf;ZAo0>QVTx(&{^%e(3u#64ahk*LMr`EdH)k%BhY zSG75y+rvPhTwC$(sowC@lc3^HuRu-Am%1=uI5uc|GT3iK+z-BQHAxvSJ%-OdSJ03AP|axbqQcSOKLG zM?#_GE-eq_w|L0W|EF(e=5bi#(Nwa7bcl+@pigS%xJ_m>By(6?SAySd7_-o^S_iga zzJ074orLDz!>6p;WNa{uQ*cr~W?=c~^;{Ds$_um|4dAYF32ogxFeNTDBsfzqF={Eq%=d-9Jll~_RD(=iG>gNmI%V88LYLJcX^F^EhGjr^@!Z-AKN)$d0-*6) z;{p(Z*uCFO+1vOwi^PltE(XYKnH=4q)VXMj2bNVCqCC}+)wudi)(((aI89e&_K4Lj0I?GW zd!2{(hgciuP2q;c;o(a zx(oHszC0@v8)nxo*^T4xCx>6XukjAWOh>KkvQCr+bWI;v_+2C)_Vaz@!OhBV`RhI1 zeAC4bis^vpQ4Hk|wXv7OO5G-@^S{E^t^qN#E z43$e!mp!SM>+iJ+14@UfpbSsRhZfys9hwiq%@@N5=iVfFd~;*SzY!pYhujI;@^Rs1 zdnjlib+QVhRGgaMlpEW#=Ma^u^k*+=&%~S(JQUmV0kWV*xqCq=GTU0rAj*X9>YMN7 z7*TgfFk?lIP(5(k)OvKb3*|Cja>zhQ_oFI;4{T7m|2xru+e4$OpYa;80}5=`3mk8D zk=hVs&wJX6J7{aRcQF&;dUte2haX1d?d*)=M26qq>BMg%w(%@CvsNd3c#&mz;IzrZ ze5Sd(MFPdhFc;1r{K+&NMF!k#j+@%-Y&BZv8)hTcbn#ipb9h`L#!FZ894H+IOBJ~xbp=9B<=d>T#lwf6Ff;lB_mo;72g#LR-x-cNGjoUpu7!Sk0 z3u)ziQbrWwrYa_D>lz6N1<*&Zu)KU+0E^P6-H#OE^6PDU@$wRK{02Fv0Y%O%K z$J)b~<%^;)*(GUAvHWeU8K=iG1 zZWU#3G_3&z)*<|1tM7QnYVhXPF(9`nuEO<>xB8APO@IZZS)U+M>(CKJO??3_4LS#v zTXNXa_^QKN@@xyC!iZUKgdHr4W-cmuaBcA@qQrrgDCy_Q`*m@9m(&u$o81jmYyi4W zFdGoeWHx1HrD~jg85=5`v;7vVIP*7$-ROg}1eE(VdnO{^`f4)_LP=@_y53u|UWk-? z9~|Sz*dcgPF)u2kK|T!dIAcwl3`4H!wHZ!@k6us%`~J185a{w}^g#F`OF02B?yqHh z+B>GoKFN$;oo{%Y{mCEiH2*VU1(2hr)Y=qPJ@H)*EP&z9aj?JKR!p0g&uF2zAFy03OvCbmo((X+q%jukXC>m@bJv$(t2_`rRA3)`J zh`HB$kX)@FKuxT&hIGkZgd@TbtSJ6i`pb&=#fuP|GA2wW&Zk}-%9>>{RO#q8Jg1+c z1h6*2n)i{V1+5b*%40u6I;P)~bjq_cr36L?xEd?Z6dPxMNURL*?8A%Y*fUv&stAC= zgf5E(+7Ei76SE&l>#+`d%EQi9JjQmtAW#O24{??FbNIaD;y$UDbvu&JIvTnvIlE!| z?oYA*wSNhlX*PjjU%Lk_?e9b} z6ehg_+b^=7xh1q&`X~T~H5GrK><1<2h^9}?cT1149r&pW8CC!e+6ZU((IVDg?9_`= zFLnwwn$nu-M8MhuZjJqE2Dy@i^W7Q_L){hZ&*Ot$o|j(QyLy9c^$pn@tAByL#m}0< zzIUBZz)b`C&?LF0gN=Sw%Q5vNjmSW6$@T}Y2dEJM>(%yJ4|nQesbH;mN+5BoggGIp zmQJg|aNbu}a>-sr5B{VAA~si5nR$pt((-&di!247-k{!x@q|lQ0H{v5>geAO>1lEvhRbZv zp3C>&L7U@zsP}x%E-vmRp(Y5l$p$+S9^@u5y1{AQx!Jg~1gi;C!3L4eBa_3R%Ksv!#ZxFi;{gpo)+cm|;4c zy0-+Gufr@KX^*vINY15+rWi6C)5oxJtQpSBP5|QyH*aGGV>EsuU(f(TtZGCoyXumR z9t&|xY}p?Qxi_dUtfQ0~fMZ-kcK2qe6&#z7(G5z;8rD^W4iVP$Etf-J<{>~mw+@NLXDV?M3#;74#9Mis zJ}&sDdJfkGk{6gS^rNr2?hqxMhHq%zF6Aj06D3~f`~^`{*iTa$zjstl z3Q4P46`DD;R3=?k7hs7ff)##90XC_;9!vCa;JXZ3l*tayh9L{{&{J6JcPIS??5;R~ zmb@GQYT8&l!gi8I+w_HL9Oj?KWj$TZ_!!&3ZWp-MQ~EYD+Tqu7L{$YL=S-qsQx{ht z5*KT=Z?Fw?HOz5_866*Ct*0;XMKw$Yz8dCuZJ5h(1;sMh0&tfvEh*X>=zsy?s{e1NPgi8I|`34&G04kr=ii1Fa5*lW!SJb;X{kuREneKPn_IU(s1%eW=%$$CLX#S}{M6QG8y5Qfz6 z2sH86Si zo97!zz%Su2)QwA2o?V=NXT$}+`-o)l=YBwPpK2=|_3l$C$bP*G=)Aij_f-$~&bPBX z#^mpQ^S(kAAL}vE33TRDG_CQ?#!aV(;@Ec$RYIb&CMa`8l?_p{0s(+BU~E(av}OVo z=!ZL2jkDCq=vOroYDQIp-_;{jF{0fK&6xxs*IR`-or~jEKYa`Thbtu{1g7M-b1qg_ zl%o#?oMZYZ!nbv=S`7P(hS!!LosuQD8d1!`c6N*(bO+)3LCM%LkAf1}o4 zXuw?^j&)cNyLK}wG3uIXIqS$YcG2D%GW6;?pJgv;q`K6Txd(f(oq>~ex4nK@)4M8) zrrxTd9u^PJ0iSPcweM|-de`f%SzY4CvDxv$53r`Dk9W!#;RF!OB+3v%taO$@PJafcLByjpU_78ctXb$aWFk_DEy5Zh1K?EQ+ zf`|u}8s!Pl&5qSlyS5!gwXt1U*9bo0%0|_JM55BOW-^CHCdiUHLKi?FkB)>w1;MYu zpdQeO((J7ItlVi01_2AO)sl5V8E4-+;8Xaq;z(VlO%gVI$jPwgv!fscXTAzT7_J4O zT2^+cRBzU(tov3suNX))j^c)xAJ^lCf=~!d_XWBKO+a&C439-pczU2&RhvXp&QBz` zS|7(~cH%2!fYwD~$c~gdSF7E#@M!U~#4|>!Itl2=QOa6XEUHw+6^w{0F!oVU^YIBY;;BLC zT}m6TL{qm7_}#>7wvnj-!R={hME6h$gx*P#g$bcGy&G9N;#lGIf1y0m4*mcvC{oi*|oefuBqls z1)FAZrDQdoYDm}R0`;9_&54Pxa{a~10Bc-+6cXpO!KiZY)S)^3@VFx*;zw`hnY!xt|v24BsW(aX6UmCe!z>4gZ^ z83O%#|H6Fdj}Hb{UipnPKL>+*wTE{8mLtnWdq&A@y!`a^?*uP_WHso{L<3}h!Bl3; z;yi%H9rh}`gFT^jXvs?29nd(G$Sipscc&JbzkrR!pbg#=bknKS+0A@2r%efDxO`N1 zS=#EVUZ(*&P@@8M_~ddAy}s(&fR0BnikA$)l6wD7x}4a_z@=zel^U-DRiWNp#x#Mo zOHy?)U8S(0Bnk++YDKNZDuqYLOXLxNUcIbw0hS?51hXM;A-;!%aVV=e$au*?`kb1r zF0PiwK|pqBF`R;iz|=%v^fx14HQL5O`cX#fbgsP}LKK8F-gplHEV49=sOwox)@x8< zK#mGC zCAsIoISVk~oc{Sbtw1pRca7NB(01(^3N}mR%GJT}-F1WE)vTfr&{i|X5Y-h7j}Ju; zrrRHLrix(Vn`Y(_!SFe3kT^qtv=$JrI|R(2X?C2MOk#S`PZ3LBsDOBP-sjwjNY6sY z!K^v_ZX_UnHE0&(_bMR%`!~wnJSFPs>;O#2_GJrrWM=I!#nAH|?Fa|o+7S-EwIdvS z%dv`-%dv{VOTPoD`DyBSnCTpudr*{;{$?vW@uG`M8&P_$dn_g1K5Tgh;@%r9-mVW= z_Z}DcUYtIjGVdFrUQ^?ThS3cdXvUV&<)?NYXNO0!^kQ=)VSk$$fq6KV#IeER1ALYi zXe;kekLYpfQT=@5(iACgiC*{IFz9hqzwoV<<<_5~NZdjcUCo%BG>ZLS7wL97I?Fte zfuLo5AOm}xfgQ`hY7Egx9p1U_Lz(5{2Owca8OHS@-+zF4*T~CZ$eVudF~4r31?+uo z5M!YvHX!V@japu~y+XKf#a81Gz#p49D_jsv8C_MqQxjGjZmvruu$b>jkMkYfu0V6P z<7li=eoh`Z2+rh`4Hy-@qca>4_|_;l{V=iIQh2RUY3VggS7wy$g_@U|b2*^4avqcD z+JA9&cIm7@yDM^ASFu@9=sb@>lQw zq0xo%fc8el+eWBR75&E&xtm|WU|oYCykw%P)lbi(-~d*{s^n*kThW?xhWXl{yx zcG-&rb60L({U!9dii16#m{ptrM0x4Xh1YEo>68JD7UbaD+!^q1M7ONnofwX732XUi zY?oNhz!Dw?=^zzfHs2ypR^OoD+-zZo8oMD; z6M@$U%I@@$Y0_i`$`VWAQXt;XDC3E$mgZ;ER}lHgkPMVn^fPk?!*uyxJ|<_oV;`Gz zcT;({GcdOsiLO13yG16wbx}-MZk#L^DZ7>iD`!ph!^9oRXHX}DO7mhfno&JY5Am*6 z@l3O#p;`lZ!e*}Y1{nERB0sb!VaUrI6J2C~I4dLh#02(cTNi15qLvJoyp23bn5^eg zS&E8^Jub;EgJma|D~NW&N+*sL6nwz=Bzifwwku$zW3?rtBdL#-&575<%HGssWdZP- z$10s|&Td+ItPaJ>66VX+M#XSakAU^7VrA1sb0{#VBVuL2zN2DgizDrmC4fj~;Uq2@ zAl;DGy@!gG1#eanLQ*AH+3)DhkrBYnj8mK6BnVp2E00^TCfuN%q8J+=|SKKz+XhXncQEQetnAqBnYa_)A|hqfjwV!QBA%!}A=%JXw2qK0ZPl=I{6#BEZq@Z9 zYiV~=^7+`u81g_8nW= zZBaj%Qrk3<1@lB^0VlA&gOOp_O`B~WG<($~vFPkex#%PvUf*31f`06;(R`|}1Wza&cYm)MKha}rmnh*EA3F_ zib%FLTPDz0J6=;rM`Fvj_{VVMIn7W{XMo8#MFY4cwPH${cR3NC&l13SMNC8(gccRhaNpv(K^M^KK;S9jWflHO141?kE6=U~qiu{l zaas7+o?}*qCyXrwT)Izo%vj3SUH`B)MGlp2TcB+{SAnO0h)!A1GYCFDLZFA&mDnIL zX#?avu$*CkiQC2fj#5ZU$>N98zc6w}`o|Iu6V;!cIWK<~7&GDJ^(_=;!+NV)}17lI)B4ugy-L{n^{5n`rH1x^D% z0;OOx^!Jnkr=e@C0j_SYlon1j5G&vfog zFp@SnW}wDz5H8a(WgyBugc!+aFr7c55JoFV5NWc%;S1Zb^L}GV2vbAb3 zit?*t4=n|JC(Kh}zFR7=W;u;ys}F`#5lRUlWZtaKjI-giv8KQ;gK)bF!UcX#IC=~5 z#+x(NVHL8wJoYy2gK(FTj4^}ZmkwdA#^LrcAua%_M0szvAYA8BStvbrw+zDVh!-#j z7hhW+gv;;`2jSAC$APq0sjPs4HVnc&Y8bMNJ_z?YB5)Vu(;3$y!DPdpmO;4Bhn;x@ zVl4=_jec}!^r)Oij~)}KLWqwZ{S6HJO|!N-M~yjxRhGI88)VF@Aly<(WjKN*LAWqT z{fn~8OR6iQ*YVn)YeBeSoTuh^F68;Uit(@({fas!qt#I5)ZF-AOdk+07DVCCct632 z7HFaW1mS9kQc@AnJR~#}4uWHuRrYA?B>RLeLlv1%i*>UMuJ@qzJ~-WZZ| z;g=*AL6{)i(wv;Zc3HkUu-llYM)+ZAx%7LH%&>VHQOepZpID!p3BpYT;v1MKQBo^f zP?|W#wMTOJ*sS2#ymQkzO4~F+xb<}zgu54cK>Zek3*jMK@cODCv5izBg0Y|4N2coF z=ls3Vx0T0&7v!SKCV*}gJ#6ei%y7QMP0#Cdz`MoXQZBEfnL&POOeL&;y7*LLZ^vzq z^R1(6Wv6R9#;A0NSGS*udbw71I{k^2oo*Rn;t_hlhDc~z!&nftHEe>q+8Q1$w}v+y zXTPb8w4$Ft43|6m~$;= z)~y!&TA?l9waJno*ES;8*yUF4vH(Z`^D-c?5+s!*4QMPzK34%X7A+9Q`7VNz7aTkr zbQk)6(hN?Sjn4Ds1BEAaZb~*)-F^6J%@CKgaD`eBBg~ucMeRVj1W=Ob}6VvpFhGF+%^Ppcpq*S`@kkVZv_mu7j z#nRz{uO+7g#>Ru+wXqra2?qoe@|u9`!03ALqByY<(M&%du%){j1lww8Hv~45Bq_kd>~k$K^DmS#nB;50GfMo>5adp<&MQtM7wF^CZDf+0 zd}>T|IP$2!Y=Jm^x6D-j8)=8*sp*O?MRUBmPW}tKWA6&`gFhL0lAWl;h9_XQu0Uxa z|KMpd!^H=gaBqHBW;i<@F36^K;GNmj99v~mtJGJoX?k3R>n(SVVHzznTtT*3}? z&lWRJ9|v%B!xOhTR?peSSw8>3+Vl6UJ!cbY+0J8Y&)>23{4IIj3wp+_WMNdb0i0t2 zkvYRzSB%tNm#w}bgINB&|KQJi5B@wl<rvw#?2Mpeb9awuHVIl5i!iR%7ZhQB(a=+Sxelz? zam5W-lr$_51v#`94M8TBqfyZi)>k_sV!6!kKXRFslRff3wxs9K>ovHe!X|ZOPDgXc z#Mu@-ye0JT%HdGn`@tWHZp4g_BF`Jl3oC-&TZZ_8xlz&Nf`77U4;Gg7Umxi1jca1L z#z&%1OU(Xc81YxykXpL+L7(ZHdL?YKl?i63Cc*#vRlem zMqA$ck+$H2daYu2yw_^ zwZQ@ek3(UtH!zUvP@`K;$*i^k+i8ayQ5~Ek`zG>>mReut)EosRFZ4+uFc`$XW(!Qk z^Q~xuL6f1QzYk`EPhlBp&LDF(Du&i2DkYLhe4$!aPK0xe9#o_4>W7uW z<9@)d<>~E81;7wAV|A7ey@9#N6PRd@83uP-cMld8CUY_lp-1GDx%A>xkW-x_6(w;D zC#?T914^-_^(HdtwIdYVzyQEwuTtl@RFb^!Na{^ z>J1}?eqtEgYGnf+H>H>4a5ZA2(&vO2wXN}_h>^)9K*g0oYDxR

^A`WCufLjpr%? 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.fromCharCode(k):(k-=65536,d+=String.fromCharCode(55296|k>>10,56320|k&1023))}}else d+=String.fromCharCode(k)}return d}function X(a,c){return a?h(ca,a,c):""}function e(a,c){0=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++b)&1023);127>=d?++c:c=2047>=d?c+2:65535>=d?c+3:c+4}c=Array(c+1);b=0;d=c.length;if(0=e){var f=a.charCodeAt(++k);e=65536+((e&1023)<<10)|f&1023}if(127>=e){if(b>=d)break;c[b++]=e}else{if(2047>=e){if(b+1>=d)break;c[b++]=192|e>>6}else{if(65535>=e){if(b+2>=d)break;c[b++]=224|e>>12}else{if(b+3>=d)break;c[b++]=240|e>>18;c[b++]=128|e>>12&63}c[b++]=128|e>>6&63}c[b++]=128| +e&63}}c[b]=0}a=n.alloc(c,T);n.copy(c,T,a)}return a}function x(){throw"cannot construct a Status, no constructor in IDL";}function A(){this.ptr=Oa();u(A)[this.ptr]=this}function B(){this.ptr=Pa();u(B)[this.ptr]=this}function C(){this.ptr=Qa();u(C)[this.ptr]=this}function D(){this.ptr=Ra();u(D)[this.ptr]=this}function E(){this.ptr=Sa();u(E)[this.ptr]=this}function q(){this.ptr=Ta();u(q)[this.ptr]=this}function J(){this.ptr=Ua();u(J)[this.ptr]=this}function w(){this.ptr=Va();u(w)[this.ptr]=this}function F(){this.ptr= +Wa();u(F)[this.ptr]=this}function r(){this.ptr=Xa();u(r)[this.ptr]=this}function G(){this.ptr=Ya();u(G)[this.ptr]=this}function H(){this.ptr=Za();u(H)[this.ptr]=this}function O(){this.ptr=$a();u(O)[this.ptr]=this}function K(){this.ptr=ab();u(K)[this.ptr]=this}function g(){this.ptr=bb();u(g)[this.ptr]=this}function y(){this.ptr=cb();u(y)[this.ptr]=this}function Q(){throw"cannot construct a VoidPtr, no constructor in IDL";}function I(){this.ptr=db();u(I)[this.ptr]=this}function L(){this.ptr=eb();u(L)[this.ptr]= +this}m=m||{};var a="undefined"!==typeof m?m:{},Ga=!1,Ha=!1;a.onRuntimeInitialized=function(){Ga=!0;if(Ha&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Ha=!0;if(Ga&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(a){if("string"!==typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2]},getStr:function(){return X(R.get())}, +get64:function(){var a=R.get();R.get();return a},getZero:function(){R.get()}},Ka={__cxa_allocate_exception:function(a){return ib(a)},__cxa_throw:function(a,c,b){"uncaught_exception"in ta?ta.uncaught_exceptions++:ta.uncaught_exceptions=1;throw a;},abort:function(){z()},emscripten_get_sbrk_ptr:function(){return 13664},emscripten_memcpy_big:function(a,c,b){ca.set(ca.subarray(c,c+b),a)},emscripten_resize_heap:function(a){if(2147418112= +c?e(2*c,65536):Math.min(e((3*c+2147483648)/4,65536),2147418112);a:{try{ia.grow(c-ka.byteLength+65535>>16);l(ia.buffer);var b=1;break a}catch(d){}b=void 0}return b?!0:!1},environ_get:function(a,c){var b=0;ba().forEach(function(d,e){var f=c+b;e=P[a+4*e>>2]=f;for(f=0;f>0]=d.charCodeAt(f);T[e>>0]=0;b+=d.length+1});return 0},environ_sizes_get:function(a,c){var b=ba();P[a>>2]=b.length;var d=0;b.forEach(function(a){d+=a.length+1});P[c>>2]=d;return 0},fd_close:function(a){return 0},fd_seek:function(a, +c,b,d,e){return 0},fd_write:function(a,c,b,d){try{for(var e=0,f=0;f>2],k=P[c+(8*f+4)>>2],h=0;h>2]=e;return 0}catch(ua){return"undefined"!==typeof FS&&ua instanceof FS.ErrnoError||z(ua),ua.errno}},memory:ia,setTempRet0:function(a){},table:gb},La=function(){function e(c,b){a.asm=c.exports;aa--;a.monitorRunDependencies&&a.monitorRunDependencies(aa);0==aa&&(null!==sa&&(clearInterval(sa),sa=null),ja&&(c=ja,ja=null,c()))}function c(a){e(a.instance)} +function b(a){return Ma().then(function(a){return WebAssembly.instantiate(a,d)}).then(a,function(a){Y("failed to asynchronously prepare wasm: "+a);z(a)})}var d={env:Ka,wasi_unstable:Ka};aa++;a.monitorRunDependencies&&a.monitorRunDependencies(aa);if(a.instantiateWasm)try{return a.instantiateWasm(d,e)}catch(Na){return Y("Module.instantiateWasm callback failed with error: "+Na),!1}(function(){if(da||"function"!==typeof WebAssembly.instantiateStreaming||va(U)||"function"!==typeof fetch)return b(c);fetch(U, +{credentials:"same-origin"}).then(function(a){return WebAssembly.instantiateStreaming(a,d).then(c,function(a){Y("wasm streaming compile failed: "+a);Y("falling back to ArrayBuffer instantiation");b(c)})})})();return{}}();a.asm=La;var hb=a.___wasm_call_ctors=function(){return a.asm.__wasm_call_ctors.apply(null,arguments)},jb=a._emscripten_bind_Status_code_0=function(){return a.asm.emscripten_bind_Status_code_0.apply(null,arguments)},kb=a._emscripten_bind_Status_ok_0=function(){return a.asm.emscripten_bind_Status_ok_0.apply(null, +arguments)},lb=a._emscripten_bind_Status_error_msg_0=function(){return a.asm.emscripten_bind_Status_error_msg_0.apply(null,arguments)},mb=a._emscripten_bind_Status___destroy___0=function(){return a.asm.emscripten_bind_Status___destroy___0.apply(null,arguments)},Oa=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return a.asm.emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null,arguments)},nb=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoUInt16Array_GetValue_1.apply(null, +arguments)},ob=a._emscripten_bind_DracoUInt16Array_size_0=function(){return a.asm.emscripten_bind_DracoUInt16Array_size_0.apply(null,arguments)},pb=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return a.asm.emscripten_bind_DracoUInt16Array___destroy___0.apply(null,arguments)},Pa=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm.emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},qb=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm.emscripten_bind_PointCloud_num_attributes_0.apply(null, +arguments)},rb=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm.emscripten_bind_PointCloud_num_points_0.apply(null,arguments)},sb=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm.emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},Qa=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return a.asm.emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null,arguments)},tb=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoUInt8Array_GetValue_1.apply(null, +arguments)},ub=a._emscripten_bind_DracoUInt8Array_size_0=function(){return a.asm.emscripten_bind_DracoUInt8Array_size_0.apply(null,arguments)},vb=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return a.asm.emscripten_bind_DracoUInt8Array___destroy___0.apply(null,arguments)},Ra=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return a.asm.emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null,arguments)},wb=a._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoUInt32Array_GetValue_1.apply(null, +arguments)},xb=a._emscripten_bind_DracoUInt32Array_size_0=function(){return a.asm.emscripten_bind_DracoUInt32Array_size_0.apply(null,arguments)},yb=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return a.asm.emscripten_bind_DracoUInt32Array___destroy___0.apply(null,arguments)},Sa=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm.emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},zb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1= +function(){return a.asm.emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)},Ab=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm.emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null,arguments)},Bb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm.emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},Ta=a._emscripten_bind_PointAttribute_PointAttribute_0= +function(){return a.asm.emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},Cb=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm.emscripten_bind_PointAttribute_size_0.apply(null,arguments)},Db=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm.emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},Eb=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return a.asm.emscripten_bind_PointAttribute_attribute_type_0.apply(null, +arguments)},Fb=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm.emscripten_bind_PointAttribute_data_type_0.apply(null,arguments)},Gb=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm.emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},Hb=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm.emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},Ib=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm.emscripten_bind_PointAttribute_byte_stride_0.apply(null, +arguments)},Jb=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm.emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},Kb=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm.emscripten_bind_PointAttribute_unique_id_0.apply(null,arguments)},Lb=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm.emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},Ua=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0= +function(){return a.asm.emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null,arguments)},Mb=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm.emscripten_bind_AttributeTransformData_transform_type_0.apply(null,arguments)},Nb=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm.emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Va=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0= +function(){return a.asm.emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null,arguments)},Ob=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm.emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},Pb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm.emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)}, +Qb=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm.emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null,arguments)},Rb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm.emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},Sb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm.emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)}, +Wa=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return a.asm.emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null,arguments)},Tb=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoInt8Array_GetValue_1.apply(null,arguments)},Ub=a._emscripten_bind_DracoInt8Array_size_0=function(){return a.asm.emscripten_bind_DracoInt8Array_size_0.apply(null,arguments)},Vb=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return a.asm.emscripten_bind_DracoInt8Array___destroy___0.apply(null, +arguments)},Xa=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm.emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null,arguments)},Wb=a._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return a.asm.emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},Xb=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm.emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},Yb=a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3= +function(){return a.asm.emscripten_bind_MetadataQuerier_GetIntEntryArray_3.apply(null,arguments)},Zb=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm.emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},$b=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm.emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},ac=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm.emscripten_bind_MetadataQuerier_NumEntries_1.apply(null, +arguments)},bc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm.emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null,arguments)},cc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm.emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},Ya=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return a.asm.emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null,arguments)},dc=a._emscripten_bind_DracoInt16Array_GetValue_1= +function(){return a.asm.emscripten_bind_DracoInt16Array_GetValue_1.apply(null,arguments)},ec=a._emscripten_bind_DracoInt16Array_size_0=function(){return a.asm.emscripten_bind_DracoInt16Array_size_0.apply(null,arguments)},fc=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return a.asm.emscripten_bind_DracoInt16Array___destroy___0.apply(null,arguments)},Za=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm.emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null, +arguments)},gc=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},hc=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm.emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},ic=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm.emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},$a=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm.emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, +arguments)},jc=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm.emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},ab=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm.emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},kc=a._emscripten_bind_DecoderBuffer_Init_2=function(){return a.asm.emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},lc=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm.emscripten_bind_DecoderBuffer___destroy___0.apply(null, +arguments)},bb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm.emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},mc=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm.emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)},nc=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm.emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null,arguments)},oc=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm.emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null, +arguments)},pc=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm.emscripten_bind_Decoder_GetAttributeId_2.apply(null,arguments)},qc=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm.emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},rc=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},sc=a._emscripten_bind_Decoder_GetAttribute_2= +function(){return a.asm.emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},tc=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm.emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},uc=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm.emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},vc=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm.emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null, +arguments)},wc=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm.emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},xc=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm.emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null,arguments)},yc=a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return a.asm.emscripten_bind_Decoder_GetTrianglesUInt16Array_3.apply(null,arguments)},zc=a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3= +function(){return a.asm.emscripten_bind_Decoder_GetTrianglesUInt32Array_3.apply(null,arguments)},Ac=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Bc=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Cc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null, +arguments)},Dc=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null,arguments)},Ec=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null,arguments)},Fc=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null,arguments)}, +Gc=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null,arguments)},Hc=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},Ic=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null,arguments)},Jc= +a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return a.asm.emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5.apply(null,arguments)},Kc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm.emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},Lc=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm.emscripten_bind_Decoder___destroy___0.apply(null,arguments)},cb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm.emscripten_bind_Mesh_Mesh_0.apply(null, +arguments)},Mc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm.emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},Nc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm.emscripten_bind_Mesh_num_attributes_0.apply(null,arguments)},Oc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm.emscripten_bind_Mesh_num_points_0.apply(null,arguments)},Pc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm.emscripten_bind_Mesh___destroy___0.apply(null,arguments)}, +Qc=a._emscripten_bind_VoidPtr___destroy___0=function(){return a.asm.emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},db=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm.emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null,arguments)},Rc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},Sc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm.emscripten_bind_DracoInt32Array_size_0.apply(null, +arguments)},Tc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm.emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},eb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm.emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},Uc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm.emscripten_bind_Metadata___destroy___0.apply(null,arguments)},Vc=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm.emscripten_enum_draco_StatusCode_OK.apply(null, +arguments)},Wc=a._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return a.asm.emscripten_enum_draco_StatusCode_DRACO_ERROR.apply(null,arguments)},Xc=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm.emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},Yc=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm.emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null,arguments)},Zc=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION= +function(){return a.asm.emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null,arguments)},$c=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm.emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},ad=a._emscripten_enum_draco_DataType_DT_INVALID=function(){return a.asm.emscripten_enum_draco_DataType_DT_INVALID.apply(null,arguments)},bd=a._emscripten_enum_draco_DataType_DT_INT8=function(){return a.asm.emscripten_enum_draco_DataType_DT_INT8.apply(null, +arguments)},cd=a._emscripten_enum_draco_DataType_DT_UINT8=function(){return a.asm.emscripten_enum_draco_DataType_DT_UINT8.apply(null,arguments)},dd=a._emscripten_enum_draco_DataType_DT_INT16=function(){return a.asm.emscripten_enum_draco_DataType_DT_INT16.apply(null,arguments)},ed=a._emscripten_enum_draco_DataType_DT_UINT16=function(){return a.asm.emscripten_enum_draco_DataType_DT_UINT16.apply(null,arguments)},fd=a._emscripten_enum_draco_DataType_DT_INT32=function(){return a.asm.emscripten_enum_draco_DataType_DT_INT32.apply(null, +arguments)},gd=a._emscripten_enum_draco_DataType_DT_UINT32=function(){return a.asm.emscripten_enum_draco_DataType_DT_UINT32.apply(null,arguments)},hd=a._emscripten_enum_draco_DataType_DT_INT64=function(){return a.asm.emscripten_enum_draco_DataType_DT_INT64.apply(null,arguments)},id=a._emscripten_enum_draco_DataType_DT_UINT64=function(){return a.asm.emscripten_enum_draco_DataType_DT_UINT64.apply(null,arguments)},jd=a._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return a.asm.emscripten_enum_draco_DataType_DT_FLOAT32.apply(null, +arguments)},kd=a._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return a.asm.emscripten_enum_draco_DataType_DT_FLOAT64.apply(null,arguments)},ld=a._emscripten_enum_draco_DataType_DT_BOOL=function(){return a.asm.emscripten_enum_draco_DataType_DT_BOOL.apply(null,arguments)},md=a._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return a.asm.emscripten_enum_draco_DataType_DT_TYPES_COUNT.apply(null,arguments)},nd=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm.emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, +arguments)},od=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm.emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},pd=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm.emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},qd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null, +arguments)},rd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},sd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},td=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null, +arguments)},ud=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},vd=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},wd=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},xd=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR= +function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},yd=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},zd=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)};a._setThrew=function(){return a.asm.setThrew.apply(null,arguments)};var ta=a.__ZSt18uncaught_exceptionv= +function(){return a.asm._ZSt18uncaught_exceptionv.apply(null,arguments)};a._free=function(){return a.asm.free.apply(null,arguments)};var ib=a._malloc=function(){return a.asm.malloc.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.__growWasmMemory=function(){return a.asm.__growWasmMemory.apply(null,arguments)}; +a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)}; +a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_iidiiii=function(){return a.asm.dynCall_iidiiii.apply(null,arguments)};a.dynCall_jiji=function(){return a.asm.dynCall_jiji.apply(null,arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)};a.asm=La;var fa;a.then=function(e){if(fa)e(a); +else{var c=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){c&&c();e(a)}}return a};ja=function c(){fa||ma();fa||(ja=c)};a.run=ma;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=n.size?(t(0>=1;break;case 4:d>>=2;break;case 8:d>>=3}for(var c=0;c 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],2:[function(require,module,exports){ +GLTFValidator = require('gltf-validator'); +},{"gltf-validator":4}],3:[function(require,module,exports){ +(function (process,global,__filename,__argument0,__argument1,__argument2,__argument3,__dirname){ +var dartNodePreambleSelf="undefined"!=typeof global?global:window,self=Object.create(dartNodePreambleSelf);if(self.scheduleImmediate=self.setImmediate?function(e){dartNodePreambleSelf.setImmediate(e)}:function(e){setTimeout(e,0)},self.require=require,self.exports=exports,"undefined"!=typeof process)self.process=process;if("undefined"!=typeof __dirname)self.__dirname=__dirname;if("undefined"!=typeof __filename)self.__filename=__filename;if(!dartNodePreambleSelf.window&&!('undefined'!==typeof WorkerGlobalScope&&dartNodePreambleSelf instanceof WorkerGlobalScope)){var url=("undefined"!=typeof __webpack_require__?__non_webpack_require__:require)("url");self.location={get href(){if(url.pathToFileURL)return url.pathToFileURL(process.cwd()).href+"/";else return"file://"+function(){var e=process.cwd();if("win32"!=process.platform)return e;else return"/"+e.replace(/\\/g,"/")}()+"/"}},function(){function e(){try{throw new Error}catch(t){var e=t.stack,r=new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$","mg"),l=null;do{var n=r.exec(e);if(null!=n)l=n}while(null!=n);return l[1]}}var r=null;self.document={get currentScript(){if(null==r)r={src:e()};return r}}}(),self.dartDeferredLibraryLoader=function(e,r,l){try{load(e),r()}catch(e){l(e)}}}{}(function dartProgram(){function copyProperties(a,b){var u=Object.keys(a) +for(var t=0;t=0)return true +if(typeof version=="function"&&version.length==0){var s=version() +if(/^\d+\.\d+\.\d+\.\d+$/.test(s))return true}}catch(r){}return false}() +function setFunctionNamesIfNecessary(a){function t(){};if(typeof t.name=="string")return +for(var u=0;u36)throw H.e(P.S(b,2,36,"radix",null)) +if(b===10&&t!=null)return parseInt(a,10) +if(b<10||t==null){s=b<=10?47+b:86+b +r=u[1] +for(q=r.length,p=0;ps)return}return parseInt(a,b)}, +dg:function(a){return H.rK(a)+H.mo(H.bp(a),0,null)}, +rK:function(a){var u,t,s,r,q,p,o,n=J.m(a),m=n.constructor +if(typeof m=="function"){u=m.name +t=typeof u==="string"?u:null}else t=null +s=t==null +if(s||n===C.bp||!!n.$ibW){r=C.a0(a) +if(s)t=r +if(r==="Object"){q=a.constructor +if(typeof q=="function"){p=String(q).match(/^\s*function\s*([\w$]*)\s*\(/) +o=p==null?null:p[1] +if(typeof o==="string"&&/^\w+$/.test(o))t=o}}return t}t=t +return H.cd(t.length>1&&C.a.G(t,0)===36?C.a.aN(t,1):t)}, +np:function(a){var u,t,s,r,q=J.H(a) +if(q<=500)return String.fromCharCode.apply(null,a) +for(u="",t=0;t65535)return H.rN(a)}return H.np(a)}, +rO:function(a,b,c){var u,t,s,r +if(c<=500&&b===0&&c===a.length)return String.fromCharCode.apply(null,a) +for(u=b,t="";u>>0,56320|u&1023)}}throw H.e(P.S(a,0,1114111,null,null))}, +a8:function(a){if(a.date===void 0)a.date=new Date(a.a) +return a.date}, +df:function(a){return a.b?H.a8(a).getUTCFullYear()+0:H.a8(a).getFullYear()+0}, +nu:function(a){return a.b?H.a8(a).getUTCMonth()+1:H.a8(a).getMonth()+1}, +nq:function(a){return a.b?H.a8(a).getUTCDate()+0:H.a8(a).getDate()+0}, +nr:function(a){return a.b?H.a8(a).getUTCHours()+0:H.a8(a).getHours()+0}, +nt:function(a){return a.b?H.a8(a).getUTCMinutes()+0:H.a8(a).getMinutes()+0}, +nv:function(a){return a.b?H.a8(a).getUTCSeconds()+0:H.a8(a).getSeconds()+0}, +ns:function(a){return a.b?H.a8(a).getUTCMilliseconds()+0:H.a8(a).getMilliseconds()+0}, +bT:function(a,b,c){var u,t,s={} +s.a=0 +u=[] +t=[] +s.a=b.length +C.d.J(u,b) +s.b="" +if(c!=null&&c.a!==0)c.H(0,new H.ib(s,t,u)) +""+s.a +return J.qJ(a,new H.fH(C.cS,0,u,t,0))}, +rL:function(a,b,c){var u,t,s,r +if(b instanceof Array)u=c==null||c.a===0 +else u=!1 +if(u){t=b +s=t.length +if(s===0){if(!!a.$0)return a.$0()}else if(s===1){if(!!a.$1)return a.$1(t[0])}else if(s===2){if(!!a.$2)return a.$2(t[0],t[1])}else if(s===3){if(!!a.$3)return a.$3(t[0],t[1],t[2])}else if(s===4){if(!!a.$4)return a.$4(t[0],t[1],t[2],t[3])}else if(s===5)if(!!a.$5)return a.$5(t[0],t[1],t[2],t[3],t[4]) +r=a[""+"$"+s] +if(r!=null)return r.apply(a,t)}return H.rJ(a,b,c)}, +rJ:function(a,b,c){var u,t,s,r,q,p,o,n,m,l,k,j +if(b!=null)u=b instanceof Array?b:P.ni(b,!0,null) +else u=[] +t=u.length +s=a.$R +if(ts+p.length)return H.bT(a,u,null) +C.d.J(u,p.slice(t-s)) +return n.apply(a,u)}else{if(t>s)return H.bT(a,u,c) +m=Object.keys(p) +if(c==null)for(q=m.length,l=0;l=u)return P.d6(b,a,t,null,u) +return P.id(b,t)}, +u2:function(a,b,c){var u="Invalid value" +if(a<0||a>c)return new P.bU(0,c,!0,a,"start",u) +if(b!=null)if(bc)return new P.bU(a,c,!0,b,"end",u) +return new P.ab(!0,b,"end",null)}, +al:function(a){return new P.ab(!0,a,null,null)}, +e:function(a){var u +if(a==null)a=new P.cA() +u=new Error() +u.dartException=a +if("defineProperty" in Object){Object.defineProperty(u,"message",{get:H.ou}) +u.name=""}else u.toString=H.ou +return u}, +ou:function(){return J.aa(this.dartException)}, +O:function(a){throw H.e(a)}, +cc:function(a){throw H.e(P.X(a))}, +aA:function(a){var u,t,s,r,q,p +a=H.or(a.replace(String({}),'$receiver$')) +u=a.match(/\\\$[a-zA-Z]+\\\$/g) +if(u==null)u=H.a([],[P.d]) +t=u.indexOf("\\$arguments\\$") +s=u.indexOf("\\$argumentsExpr\\$") +r=u.indexOf("\\$expr\\$") +q=u.indexOf("\\$method\\$") +p=u.indexOf("\\$receiver\\$") +return new H.jz(a.replace(new RegExp('\\\\\\$arguments\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$argumentsExpr\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$expr\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$method\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$receiver\\\\\\$','g'),'((?:x|[^x])*)'),t,s,r,q,p)}, +jA:function(a){return function($expr$){var $argumentsExpr$='$arguments$' +try{$expr$.$method$($argumentsExpr$)}catch(u){return u.message}}(a)}, +nA:function(a){return function($expr$){try{$expr$.$method$}catch(u){return u.message}}(a)}, +no:function(a,b){return new H.i6(a,b==null?null:b.method)}, +m7:function(a,b){var u=b==null,t=u?null:b.method +return new H.fO(a,t,u?null:b.receiver)}, +z:function(a){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g=null,f=new H.lP(a) +if(a==null)return +if(a instanceof H.co)return f.$1(a.a) +if(typeof a!=="object")return a +if("dartException" in a)return f.$1(a.dartException) +else if(!("message" in a))return a +u=a.message +if("number" in a&&typeof a.number=="number"){t=a.number +s=t&65535 +if((C.c.ad(t,16)&8191)===10)switch(s){case 438:return f.$1(H.m7(H.b(u)+" (Error "+s+")",g)) +case 445:case 5007:return f.$1(H.no(H.b(u)+" (Error "+s+")",g))}}if(a instanceof TypeError){r=$.qo() +q=$.qp() +p=$.qq() +o=$.qr() +n=$.qu() +m=$.qv() +l=$.qt() +$.qs() +k=$.qx() +j=$.qw() +i=r.a3(u) +if(i!=null)return f.$1(H.m7(u,i)) +else{i=q.a3(u) +if(i!=null){i.method="call" +return f.$1(H.m7(u,i))}else{i=p.a3(u) +if(i==null){i=o.a3(u) +if(i==null){i=n.a3(u) +if(i==null){i=m.a3(u) +if(i==null){i=l.a3(u) +if(i==null){i=o.a3(u) +if(i==null){i=k.a3(u) +if(i==null){i=j.a3(u) +h=i!=null}else h=!0}else h=!0}else h=!0}else h=!0}else h=!0}else h=!0}else h=!0 +if(h)return f.$1(H.no(u,i))}}return f.$1(new H.jE(typeof u==="string"?u:""))}if(a instanceof RangeError){if(typeof u==="string"&&u.indexOf("call stack")!==-1)return new P.dm() +u=function(b){try{return String(b)}catch(e){}return null}(a) +return f.$1(new P.ab(!1,g,g,typeof u==="string"?u.replace(/^RangeError:\s*/,""):u))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof u==="string"&&u==="too much recursion")return new P.dm() +return a}, +ao:function(a){var u +if(a instanceof H.co)return a.b +if(a==null)return new H.dA(a) +u=a.$cachedTrace +if(u!=null)return u +return a.$cachedTrace=new H.dA(a)}, +om:function(a){if(a==null||typeof a!='object')return J.ai(a) +else return H.bb(a)}, +ob:function(a,b){var u,t,s,r=a.length +for(u=0;u=27 +if(q)return H.r6(t,!r,u,b) +if(t===0){r=$.ap +$.ap=r+1 +p="self"+H.b(r) +r="return function(){var "+p+" = this." +q=$.ci +return new Function(r+H.b(q==null?$.ci=H.dZ("self"):q)+";return "+p+"."+H.b(u)+"();}")()}o="abcdefghijklmnopqrstuvwxyz".split("").splice(0,t).join(",") +r=$.ap +$.ap=r+1 +o+=H.b(r) +r="return function("+o+"){return this." +q=$.ci +return new Function(r+H.b(q==null?$.ci=H.dZ("self"):q)+"."+H.b(u)+"("+o+");}")()}, +r7:function(a,b,c,d){var u=H.m_,t=H.n8 +switch(b?-1:a){case 0:throw H.e(H.rQ("Intercepted function with no arguments.")) +case 1:return function(e,f,g){return function(){return f(this)[e](g(this))}}(c,u,t) +case 2:return function(e,f,g){return function(h){return f(this)[e](g(this),h)}}(c,u,t) +case 3:return function(e,f,g){return function(h,i){return f(this)[e](g(this),h,i)}}(c,u,t) +case 4:return function(e,f,g){return function(h,i,j){return f(this)[e](g(this),h,i,j)}}(c,u,t) +case 5:return function(e,f,g){return function(h,i,j,k){return f(this)[e](g(this),h,i,j,k)}}(c,u,t) +case 6:return function(e,f,g){return function(h,i,j,k,l){return f(this)[e](g(this),h,i,j,k,l)}}(c,u,t) +default:return function(e,f,g,h){return function(){h=[g(this)] +Array.prototype.push.apply(h,arguments) +return e.apply(f(this),h)}}(d,u,t)}}, +r8:function(a,b){var u,t,s,r,q,p,o,n=$.ci +if(n==null)n=$.ci=H.dZ("self") +u=$.n7 +if(u==null)u=$.n7=H.dZ("receiver") +t=b.$stubName +s=b.length +r=a[t] +q=b==null?r==null:b===r +p=!q||s>=28 +if(p)return H.r7(s,!q,t,b) +if(s===1){n="return function(){return this."+H.b(n)+"."+H.b(t)+"(this."+H.b(u)+");" +u=$.ap +$.ap=u+1 +return new Function(n+H.b(u)+"}")()}o="abcdefghijklmnopqrstuvwxyz".split("").splice(0,s-1).join(",") +n="return function("+o+"){return this."+H.b(n)+"."+H.b(t)+"(this."+H.b(u)+", "+o+");" +u=$.ap +$.ap=u+1 +return new Function(n+H.b(u)+"}")()}, +mr:function(a,b,c,d,e,f,g){return H.r9(a,b,c,d,!!e,!!f,g)}, +m_:function(a){return a.a}, +n8:function(a){return a.c}, +dZ:function(a){var u,t,s,r=new H.ch("self","target","receiver","name"),q=J.m3(Object.getOwnPropertyNames(r)) +for(u=q.length,t=0;t=b.length)return"unexpected-generic-index:"+H.b(a) +return H.b(b[b.length-a-1])}if('func' in a)return H.tx(a,b) +if('futureOr' in a)return"FutureOr<"+H.bk("type" in a?a.type:null,b)+">" +return"unknown-reified-type"}, +tx:function(a,a0){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=", " +if("bounds" in a){u=a.bounds +if(a0==null){a0=H.a([],[P.d]) +t=null}else t=a0.length +s=a0.length +for(r=u.length,q=r;q>0;--q)a0.push("T"+(s+q)) +for(p="<",o="",q=0;q "+m}, +mo:function(a,b,c){var u,t,s,r,q,p +if(a==null)return"" +u=new P.N("") +for(t=b,s="",r=!0,q="";t"}, +cb:function(a,b){if(a==null)return b +a=a.apply(null,b) +if(a==null)return +if(typeof a==="object"&&a!==null&&a.constructor===Array)return a +if(typeof a=="function")return a.apply(null,b) +return b}, +a2:function(a,b,c,d){var u,t +if(a==null)return!1 +u=H.bp(a) +t=J.m(a) +if(t[b]==null)return!1 +return H.o6(H.cb(t[d],u),null,c,null)}, +dM:function(a,b,c,d){if(a==null)return a +if(H.a2(a,b,c,d))return a +throw H.e(H.m0(a,function(e,f){return e.replace(/[^<,> ]+/g,function(g){return f[g]||g})}(H.cd(b.substring(2))+H.mo(c,0,null),v.mangledGlobalNames)))}, +o6:function(a,b,c,d){var u,t +if(c==null)return!0 +if(a==null){u=c.length +for(t=0;tn)return!1 +if(o+m=0)return a.replace(/\$/g,"$$$$") +return a}, +or:function(a){if(/[[\]{}()*+?.\\^$|]/.test(a))return a.replace(/[[\]{}()*+?.\\^$|]/g,"\\$&") +return a}, +ot:function(a,b,c){var u=H.uB(a,b,c) +return u}, +uB:function(a,b,c){var u,t,s,r +if(b===""){if(a==="")return c +u=a.length +for(t=c,s=0;s=0)return a.split(b).join(c) +return a.replace(new RegExp(H.or(b),'g'),H.u3(c))}, +e8:function e8(a,b){this.a=a +this.$ti=b}, +e7:function e7(){}, +b2:function b2(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +kg:function kg(a,b){this.a=a +this.$ti=b}, +aI:function aI(a,b){this.a=a +this.$ti=b}, +fH:function fH(a,b,c,d,e){var _=this +_.a=a +_.c=b +_.d=c +_.e=d +_.f=e}, +ib:function ib(a,b,c){this.a=a +this.b=b +this.c=c}, +jz:function jz(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +i6:function i6(a,b){this.a=a +this.b=b}, +fO:function fO(a,b,c){this.a=a +this.b=b +this.c=c}, +jE:function jE(a){this.a=a}, +co:function co(a,b){this.a=a +this.b=b}, +lP:function lP(a){this.a=a}, +dA:function dA(a){this.a=a +this.b=null}, +ck:function ck(){}, +jy:function jy(){}, +jm:function jm(){}, +ch:function ch(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +e0:function e0(a){this.a=a}, +ii:function ii(a){this.a=a}, +dn:function dn(a){this.a=a +this.d=this.b=null}, +bH:function bH(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +fN:function fN(a){this.a=a}, +hw:function hw(a,b){this.a=a +this.b=b +this.c=null}, +b9:function b9(a,b){this.a=a +this.$ti=b}, +hx:function hx(a,b,c){var _=this +_.a=a +_.b=b +_.d=_.c=null +_.$ti=c}, +lz:function lz(a){this.a=a}, +lA:function lA(a){this.a=a}, +lB:function lB(a){this.a=a}, +fJ:function fJ(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +kM:function kM(a){this.b=a}, +aR:function(a,b,c){}, +tw:function(a){return a}, +hU:function(a,b,c){var u +H.aR(a,b,c) +u=new DataView(a,b) +return u}, +rD:function(a){return new Float32Array(a)}, +rE:function(a){return new Int8Array(a)}, +nl:function(a,b,c){var u +H.aR(a,b,c) +u=new Uint16Array(a,b,c) +return u}, +nm:function(a,b,c){var u +H.aR(a,b,c) +u=new Uint32Array(a,b,c) +return u}, +ma:function(a,b,c){var u +H.aR(a,b,c) +u=new Uint8Array(a,b,c) +return u}, +aB:function(a,b,c){if(a>>>0!==a||a>=c)throw H.e(H.cV(b,a))}, +aQ:function(a,b,c){var u +if(!(a>>>0!==a))u=b>>>0!==b||a>b||b>c +else u=!0 +if(u)throw H.e(H.u2(a,b,c)) +return b}, +cz:function cz(){}, +dc:function dc(){}, +dd:function dd(){}, +cy:function cy(){}, +db:function db(){}, +hV:function hV(){}, +hW:function hW(){}, +hX:function hX(){}, +hY:function hY(){}, +hZ:function hZ(){}, +i_:function i_(){}, +de:function de(){}, +bP:function bP(){}, +cJ:function cJ(){}, +cK:function cK(){}, +cL:function cL(){}, +cM:function cM(){}, +u6:function(a){return J.cr(a?Object.keys(a):[],null)}, +uF:function(a){return v.mangledGlobalNames[a]}},J={ +mx:function(a,b,c,d){return{i:a,p:b,e:c,x:d}}, +lw:function(a){var u,t,s,r,q=a[v.dispatchPropertyName] +if(q==null)if($.mv==null){H.ue() +q=a[v.dispatchPropertyName]}if(q!=null){u=q.p +if(!1===u)return q.i +if(!0===u)return a +t=Object.getPrototypeOf(a) +if(u===t)return q.i +if(q.e===t)throw H.e(P.nB("Return interceptor for "+H.b(u(a,q))))}s=a.constructor +r=s==null?null:s[$.mI()] +if(r!=null)return r +r=H.up(a) +if(r!=null)return r +if(typeof a=="function")return C.bv +u=Object.getPrototypeOf(a) +if(u==null)return C.ao +if(u===Object.prototype)return C.ao +if(typeof s=="function"){Object.defineProperty(s,$.mI(),{value:C.O,enumerable:false,writable:true,configurable:true}) +return C.O}return C.O}, +rp:function(a,b){if(a<0||a>4294967295)throw H.e(P.S(a,0,4294967295,"length",null)) +return J.cr(new Array(a),b)}, +cr:function(a,b){return J.m3(H.a(a,[b]))}, +m3:function(a){a.fixed$length=Array +return a}, +rq:function(a){if(a<256)switch(a){case 9:case 10:case 11:case 12:case 13:case 32:case 133:case 160:return!0 +default:return!1}switch(a){case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8232:case 8233:case 8239:case 8287:case 12288:case 65279:return!0 +default:return!1}}, +nf:function(a,b){var u,t +for(;b>0;b=u){u=b-1 +t=C.a.v(a,u) +if(t!==32&&t!==13&&!J.rq(t))break}return b}, +m:function(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.d9.prototype +return J.fG.prototype}if(typeof a=="string")return J.bG.prototype +if(a==null)return J.fI.prototype +if(typeof a=="boolean")return J.d8.prototype +if(a.constructor==Array)return J.b6.prototype +if(typeof a!="object"){if(typeof a=="function")return J.b7.prototype +return a}if(a instanceof P.c)return a +return J.lw(a)}, +K:function(a){if(typeof a=="string")return J.bG.prototype +if(a==null)return a +if(a.constructor==Array)return J.b6.prototype +if(typeof a!="object"){if(typeof a=="function")return J.b7.prototype +return a}if(a instanceof P.c)return a +return J.lw(a)}, +aU:function(a){if(a==null)return a +if(a.constructor==Array)return J.b6.prototype +if(typeof a!="object"){if(typeof a=="function")return J.b7.prototype +return a}if(a instanceof P.c)return a +return J.lw(a)}, +ua:function(a){if(typeof a=="number")return J.cs.prototype +if(a==null)return a +if(!(a instanceof P.c))return J.bW.prototype +return a}, +lu:function(a){if(typeof a=="string")return J.bG.prototype +if(a==null)return a +if(!(a instanceof P.c))return J.bW.prototype +return a}, +an:function(a){if(a==null)return a +if(typeof a!="object"){if(typeof a=="function")return J.b7.prototype +return a}if(a instanceof P.c)return a +return J.lw(a)}, +a5:function(a,b){if(a==null)return b==null +if(typeof a!="object")return b!=null&&a===b +return J.m(a).K(a,b)}, +mY:function(a,b){if(typeof b==="number")if(a.constructor==Array||typeof a=="string"||H.oj(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b>>0===b&&b=4){t=b.aX() +b.a=a.a +b.c=a.c +P.c0(b,t)}else{t=b.c +b.a=2 +b.c=a +a.ce(t)}}, +c0:function(a,b){var u,t,s,r,q,p,o,n,m,l,k,j=null,i={},h=i.a=a +for(;!0;){u={} +t=h.a===8 +if(b==null){if(t){s=h.c +P.c7(j,j,h.b,s.a,s.b)}return}for(;r=b.a,r!=null;b=r){b.a=null +P.c0(i.a,b)}h=i.a +q=h.c +u.a=t +u.b=q +s=!t +if(s){p=b.c +p=(p&1)!==0||(p&15)===8}else p=!0 +if(p){p=b.b +o=p.b +if(t){n=h.b===o +n=!(n||n)}else n=!1 +if(n){P.c7(j,j,h.b,q.a,q.b) +return}m=$.p +if(m!==o)$.p=o +else m=j +h=b.c +if((h&15)===8)new P.kx(i,u,b,t).$0() +else if(s){if((h&1)!==0)new P.kw(u,b,q).$0()}else if((h&2)!==0)new P.kv(i,u,b).$0() +if(m!=null)$.p=m +h=u.b +if(!!J.m(h).$iR){if(h.a>=4){l=p.c +p.c=null +b=p.aY(l) +p.a=h.a +p.c=h.c +i.a=h +continue}else P.kp(h,p) +return}}k=b.b +l=k.c +k.c=null +b=k.aY(l) +h=u.a +s=u.b +if(!h){k.a=4 +k.c=s}else{k.a=8 +k.c=s}i.a=k +h=k}}, +tH:function(a,b){if(H.ca(a,{func:1,args:[P.c,P.a1]}))return b.bN(a) +if(H.ca(a,{func:1,args:[P.c]}))return a +throw H.e(P.n5(a,"onError","Error handler must accept one Object or one Object and a StackTrace as arguments, and return a a valid result"))}, +tE:function(){var u,t +for(;u=$.c6,u!=null;){$.cS=null +t=u.b +$.c6=t +if(t==null)$.cR=null +u.a.$0()}}, +tJ:function(){$.mm=!0 +try{P.tE()}finally{$.cS=null +$.mm=!1 +if($.c6!=null)$.mV().$1(P.o7())}}, +o3:function(a){var u=new P.du(a) +if($.c6==null){$.c6=$.cR=u +if(!$.mm)$.mV().$1(P.o7())}else $.cR=$.cR.b=u}, +tI:function(a){var u,t,s=$.c6 +if(s==null){P.o3(a) +$.cS=$.cR +return}u=new P.du(a) +t=$.cS +if(t==null){u.b=s +$.c6=$.cS=u}else{u.b=t.b +$.cS=t.b=u +if(u.b==null)$.cR=u}}, +os:function(a){var u=null,t=$.p +if(C.f===t){P.c8(u,u,C.f,a) +return}P.c8(u,u,t,t.co(a))}, +rU:function(a,b){var u=null,t=new P.dE(u,u,u,u,[b]) +a.am(0,new P.jp(t,b),new P.jq(t),P.A) +return new P.bi(t,[b])}, +mc:function(a,b){return new P.kz(new P.jr(a),[b])}, +x8:function(a){if(a==null)H.O(P.qZ("stream")) +return new P.kY()}, +nz:function(a,b,c,d){return new P.dv(null,b,c,a,[d])}, +mp:function(a){var u,t,s,r +if(a==null)return +try{a.$0()}catch(s){u=H.z(s) +t=H.ao(s) +r=$.p +P.c7(null,null,r,u,t)}}, +nJ:function(a,b,c,d){var u=$.p +u=new P.cF(u,d?1:0) +u.bV(a,b,c,d) +return u}, +nX:function(a,b){P.c7(null,null,$.p,a,b)}, +c7:function(a,b,c,d,e){var u={} +u.a=d +P.tI(new P.ll(u,e))}, +nZ:function(a,b,c,d){var u,t=$.p +if(t===c)return d.$0() +$.p=c +u=t +try{t=d.$0() +return t}finally{$.p=u}}, +o0:function(a,b,c,d,e){var u,t=$.p +if(t===c)return d.$1(e) +$.p=c +u=t +try{t=d.$1(e) +return t}finally{$.p=u}}, +o_:function(a,b,c,d,e,f){var u,t=$.p +if(t===c)return d.$2(e,f) +$.p=c +u=t +try{t=d.$2(e,f) +return t}finally{$.p=u}}, +c8:function(a,b,c,d){var u=C.f!==c +if(u)d=!(!u||!1)?c.co(d):c.dN(d) +P.o3(d)}, +k6:function k6(a){this.a=a}, +k5:function k5(a,b,c){this.a=a +this.b=b +this.c=c}, +k7:function k7(a){this.a=a}, +k8:function k8(a){this.a=a}, +l0:function l0(){}, +l1:function l1(a,b){this.a=a +this.b=b}, +k4:function k4(a,b){this.a=a +this.b=!1 +this.$ti=b}, +l7:function l7(a){this.a=a}, +l8:function l8(a){this.a=a}, +ln:function ln(a){this.a=a}, +c1:function c1(a,b){this.a=a +this.b=b}, +bj:function bj(a,b){var _=this +_.a=a +_.d=_.c=_.b=null +_.$ti=b}, +kZ:function kZ(a,b){this.a=a +this.$ti=b}, +R:function R(){}, +kf:function kf(){}, +aN:function aN(a,b){this.a=a +this.$ti=b}, +cH:function cH(a,b,c,d){var _=this +_.a=null +_.b=a +_.c=b +_.d=c +_.e=d}, +E:function E(a,b){var _=this +_.a=0 +_.b=a +_.c=null +_.$ti=b}, +km:function km(a,b){this.a=a +this.b=b}, +ku:function ku(a,b){this.a=a +this.b=b}, +kq:function kq(a){this.a=a}, +kr:function kr(a){this.a=a}, +ks:function ks(a,b,c){this.a=a +this.b=b +this.c=c}, +ko:function ko(a,b){this.a=a +this.b=b}, +kt:function kt(a,b){this.a=a +this.b=b}, +kn:function kn(a,b,c){this.a=a +this.b=b +this.c=c}, +kx:function kx(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +ky:function ky(a){this.a=a}, +kw:function kw(a,b,c){this.a=a +this.b=b +this.c=c}, +kv:function kv(a,b,c){this.a=a +this.b=b +this.c=c}, +du:function du(a){this.a=a +this.b=null}, +jn:function jn(){}, +jp:function jp(a,b){this.a=a +this.b=b}, +jq:function jq(a){this.a=a}, +jr:function jr(a){this.a=a}, +js:function js(a,b){this.a=a +this.b=b}, +jt:function jt(a,b){this.a=a +this.b=b}, +jo:function jo(){}, +dB:function dB(){}, +kW:function kW(a){this.a=a}, +kV:function kV(a){this.a=a}, +l_:function l_(){}, +k9:function k9(){}, +dv:function dv(a,b,c,d,e){var _=this +_.a=null +_.b=0 +_.c=null +_.d=a +_.e=b +_.f=c +_.r=d +_.$ti=e}, +dE:function dE(a,b,c,d,e){var _=this +_.a=null +_.b=0 +_.c=null +_.d=a +_.e=b +_.f=c +_.r=d +_.$ti=e}, +bi:function bi(a,b){this.a=a +this.$ti=b}, +dw:function dw(a,b,c){var _=this +_.x=a +_.c=_.b=_.a=null +_.d=b +_.e=c +_.r=_.f=null}, +cF:function cF(a,b){var _=this +_.c=_.b=_.a=null +_.d=a +_.e=b +_.r=_.f=null}, +kc:function kc(a,b,c){this.a=a +this.b=b +this.c=c}, +kb:function kb(a){this.a=a}, +kX:function kX(){}, +kz:function kz(a,b){this.a=a +this.b=!1 +this.$ti=b}, +kF:function kF(a){this.b=a +this.a=0}, +kj:function kj(){}, +c_:function c_(a){this.b=a +this.a=null}, +dx:function dx(a,b){this.b=a +this.c=b +this.a=null}, +ki:function ki(){}, +kN:function kN(){}, +kO:function kO(a,b){this.a=a +this.b=b}, +dC:function dC(){this.c=this.b=null +this.a=0}, +kY:function kY(){}, +bw:function bw(a,b){this.a=a +this.b=b}, +l6:function l6(){}, +ll:function ll(a,b){this.a=a +this.b=b}, +kP:function kP(){}, +kR:function kR(a,b){this.a=a +this.b=b}, +kQ:function kQ(a,b){this.a=a +this.b=b}, +nL:function(a,b){var u=a[b] +return u===a?null:u}, +mi:function(a,b,c){if(c==null)a[b]=a +else a[b]=c}, +nM:function(){var u=Object.create(null) +P.mi(u,"",u) +delete u[""] +return u}, +m8:function(a,b,c){return H.ob(a,new H.bH([b,c]))}, +V:function(a,b){return new H.bH([a,b])}, +nh:function(a){return new P.c2([a])}, +at:function(a){return new P.c2([a])}, +au:function(a,b){return H.u7(a,new P.c2([b]))}, +mj:function(){var u=Object.create(null) +u[""]=u +delete u[""] +return u}, +rn:function(a,b,c){var u,t +if(P.mn(a)){if(b==="("&&c===")")return"(...)" +return b+"..."+c}u=H.a([],[P.d]) +$.bl.push(a) +try{P.tC(a,u)}finally{$.bl.pop()}t=P.md(b,u,", ")+c +return t.charCodeAt(0)==0?t:t}, +fF:function(a,b,c){var u,t +if(P.mn(a))return b+"..."+c +u=new P.N(b) +$.bl.push(a) +try{t=u +t.a=P.md(t.a,a,", ")}finally{$.bl.pop()}u.a+=c +t=u.a +return t.charCodeAt(0)==0?t:t}, +mn:function(a){var u,t +for(u=$.bl.length,t=0;t100){while(!0){if(!(m>75&&l>3))break +m-=b.pop().length+2;--l}b.push("...") +return}}s=H.b(r) +t=H.b(q) +m+=t.length+s.length+4}}if(l>b.length+2){m+=5 +o="..."}else o=null +while(!0){if(!(m>80&&b.length>3))break +m-=b.pop().length+2 +if(o==null){m+=5 +o="..."}}if(o!=null)b.push(o) +b.push(s) +b.push(t)}, +ry:function(a,b){var u,t=P.nh(b) +for(u=J.U(a);u.m();)t.A(0,u.gn()) +return t}, +m9:function(a){var u,t={} +if(P.mn(a))return"{...}" +u=new P.N("") +try{$.bl.push(a) +u.a+="{" +t.a=!0 +a.H(0,new P.hB(t,u)) +u.a+="}"}finally{$.bl.pop()}t=u.a +return t.charCodeAt(0)==0?t:t}, +kB:function kB(){}, +kE:function kE(a){var _=this +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=a}, +kC:function kC(a,b){this.a=a +this.$ti=b}, +kD:function kD(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +c2:function c2(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +kK:function kK(a){this.a=a +this.c=this.b=null}, +kL:function kL(a,b,c){var _=this +_.a=a +_.b=b +_.d=_.c=null +_.$ti=c}, +bX:function bX(a,b){this.a=a +this.$ti=b}, +fE:function fE(){}, +hy:function hy(){}, +J:function J(){}, +hA:function hA(){}, +hB:function hB(a,b){this.a=a +this.b=b}, +a7:function a7(){}, +hC:function hC(a){this.a=a}, +l2:function l2(){}, +hD:function hD(){}, +cE:function cE(a,b){this.a=a +this.$ti=b}, +kS:function kS(){}, +l3:function l3(a,b){this.a=a +this.$ti=b}, +dz:function dz(){}, +dF:function dF(){}, +nY:function(a,b){var u,t,s,r=null +try{r=JSON.parse(a)}catch(t){u=H.z(t) +s=P.y(String(u),null,null) +throw H.e(s)}s=P.la(r) +return s}, +la:function(a){var u +if(a==null)return +if(typeof a!="object")return a +if(Object.getPrototypeOf(a)!==Array.prototype)return new P.kI(a,Object.create(null)) +for(u=0;u=0){m=(m<<6|r)&16777215 +l=l+1&3 +if(l===0){q=e+1 +d[e]=m>>>16&255 +e=q+1 +d[q]=m>>>8&255 +q=e+1 +d[e]=m&255 +e=q +m=0}continue}else if(r===-1&&l>1){if(t>127)break +if(l===3){if((m&3)!==0)throw H.e(P.y(o,a,u)) +d[e]=m>>>10 +d[e+1]=m>>>2}else{if((m&15)!==0)throw H.e(P.y(o,a,u)) +d[e]=m>>>4}p=(3-l)*3 +if(s===37)p+=2 +return P.nI(a,u+1,c,-p-1)}throw H.e(P.y(n,a,u))}if(t>=0&&t<=127)return(m<<2|l)>>>0 +for(u=b;u127)break}throw H.e(P.y(n,a,u))}, +t7:function(a,b,c,d){var u=P.t8(a,b,c),t=(d&3)+(u-b),s=C.c.ad(t,2)*3,r=t&3 +if(r!==0&&u0)return new Uint8Array(s) +return}, +t8:function(a,b,c){var u,t=c,s=t,r=0 +while(!0){if(!(s>b&&r<2))break +c$0:{--s +u=C.a.v(a,s) +if(u===61){++r +t=s +break c$0}if((u|32)===100){if(s===b)break;--s +u=C.a.v(a,s)}if(u===51){if(s===b)break;--s +u=C.a.v(a,s)}if(u===37){++r +t=s +break c$0}break}}return t}, +nI:function(a,b,c,d){var u,t +if(b===c)return d +u=-d-1 +for(;u>0;){t=C.a.v(a,b) +if(u===3){if(t===61){u-=3;++b +break}if(t===37){--u;++b +if(b===c)break +t=C.a.v(a,b)}else break}if((u>3?u-3:u)===2){if(t!==51)break;++b;--u +if(b===c)break +t=C.a.v(a,b)}if((t|32)!==100)break;++b;--u +if(b===c)break}if(b!==c)throw H.e(P.y("Invalid padding character",a,b)) +return-u-1}, +kI:function kI(a,b){this.a=a +this.b=b +this.c=null}, +kJ:function kJ(a){this.a=a}, +kH:function kH(a,b,c){this.b=a +this.c=b +this.a=c}, +dW:function dW(){}, +dY:function dY(){}, +dX:function dX(){}, +ka:function ka(){this.a=0}, +e_:function e_(){}, +e3:function e3(){}, +kT:function kT(a,b,c){this.a=a +this.b=b +this.$ti=c}, +e5:function e5(){}, +eh:function eh(){}, +eS:function eS(){}, +fP:function fP(){}, +fQ:function fQ(a){this.a=a}, +ju:function ju(){}, +jv:function jv(){}, +dD:function dD(){}, +l5:function l5(a,b){this.a=a +this.b=b}, +jM:function jM(){}, +jN:function jN(a){this.a=a}, +dH:function dH(a,b){var _=this +_.a=a +_.b=b +_.c=!0 +_.f=_.e=_.d=0}, +aV:function(a,b,c){var u=H.rM(a,c) +if(u!=null)return u +if(b!=null)return b.$1(a) +throw H.e(P.y(a,null,null))}, +re:function(a){if(a instanceof H.ck)return a.k(0) +return"Instance of '"+H.b(H.dg(a))+"'"}, +hz:function(a,b,c){var u,t,s=J.rp(a,c) +if(a!==0&&!0)for(u=s.length,t=0;t0||c=1000)return""+a +if(u>=100)return t+"0"+u +if(u>=10)return t+"00"+u +return t+"000"+u}, +rd:function(a){var u=Math.abs(a),t=a<0?"-":"+" +if(u>=1e5)return t+u +return t+"0"+u}, +nb:function(a){if(a>=100)return""+a +if(a>=10)return"0"+a +return"00"+a}, +aq:function(a){if(a>=10)return""+a +return"0"+a}, +cn:function(a){if(typeof a==="number"||typeof a==="boolean"||null==a)return J.aa(a) +if(typeof a==="string")return JSON.stringify(a) +return P.re(a)}, +I:function(a){return new P.ab(!1,null,null,a)}, +n5:function(a,b,c){return new P.ab(!0,a,b,c)}, +qZ:function(a){return new P.ab(!1,null,a,"Must not be null")}, +id:function(a,b){return new P.bU(null,null,!0,a,b,"Value not in range")}, +S:function(a,b,c,d,e){return new P.bU(b,c,!0,a,d,"Invalid value")}, +az:function(a,b,c){if(0>a||a>c)throw H.e(P.S(a,0,c,"start",null)) +if(b!=null){if(a>b||b>c)throw H.e(P.S(b,a,c,"end",null)) +return b}return c}, +ay:function(a,b){if(a<0)throw H.e(P.S(a,0,null,b,null))}, +d6:function(a,b,c,d,e){var u=e==null?J.H(b):e +return new P.fz(u,!0,a,c,"Index out of range")}, +W:function(a){return new P.jG(a)}, +nB:function(a){return new P.jB(a)}, +aM:function(a){return new P.be(a)}, +X:function(a){return new P.e6(a)}, +y:function(a,b,c){return new P.ak(a,b,c)}, +ne:function(a,b,c){if(a<=0)return new H.d1([c]) +return new P.kA(a,b,[c])}, +nj:function(a,b,c,d){var u,t,s +if(c){u=H.a([],[d]) +C.d.sh(u,a)}else{t=new Array(a) +t.fixed$length=Array +u=H.a(t,[d])}for(s=0;s=5){u=P.o4(a,0) +if(u===0){t=P.jI(d=14)s[7]=d +r=s[1] +if(r>=0)if(P.o1(a,0,r,20,s)===20)s[7]=r +q=s[2]+1 +p=s[3] +o=s[4] +n=s[5] +m=s[6] +if(mr+3){k=e +l=!1}else{t=p>0 +if(t&&p+1===o){k=e +l=!1}else{if(!(no+2&&C.a.R(a,"/..",n-3) +else j=!0 +if(j){k=e +l=!1}else{if(r===4)if(C.a.R(a,"file",0)){if(q<=0){if(!C.a.R(a,"/",o)){i="file:///" +h=3}else{i="file://" +h=2}a=i+C.a.q(a,o,d) +r-=0 +t=h-0 +n+=t +m+=t +d=a.length +q=7 +p=7 +o=7}else if(o===n){g=n+1;++m +a=C.a.aw(a,o,n,"/");++d +n=g}k="file"}else if(C.a.R(a,"http",0)){if(t&&p+3===o&&C.a.R(a,"80",p+1)){f=o-3 +n-=3 +m-=3 +a=C.a.aw(a,p,o,"") +d-=3 +o=f}k="http"}else k=e +else if(r===5&&C.a.R(a,"https",0)){if(t&&p+4===o&&C.a.R(a,"443",p+1)){f=o-4 +n-=4 +m-=4 +a=C.a.aw(a,p,o,"") +d-=3 +o=f}k="https"}else k=e +l=!0}}}else k=e +if(l){if(d9)l.$2("invalid character",u)}else{if(s===3)l.$2(n,u) +q=P.aV(C.a.q(a,t,u),o,o) +if(q>255)l.$2(m,t) +p=s+1 +k[s]=q +t=u+1 +s=p}}if(s!==3)l.$2(n,c) +q=P.aV(C.a.q(a,t,c),o,o) +if(q>255)l.$2(m,t) +k[s]=q +return k}, +nE:function(a,b,c){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g=new P.jK(a),f=new P.jL(g,a) +if(a.length<2)g.$1("address is too short") +u=H.a([],[P.h]) +for(t=b,s=t,r=!1,q=!1;t>>0) +u.push((m[2]<<8|m[3])>>>0)}if(r){if(u.length>7)g.$1("an address with a wildcard must have less than 7 parts")}else if(u.length!==8)g.$1("an address without a wildcard must contain exactly 8 parts") +l=new Uint8Array(16) +for(n=u.length,k=9-n,t=0,j=0;tb)j=P.tk(a,b,d) +else{if(d===b)P.c4(a,b,"Invalid empty scheme") +j=""}if(e>b){u=d+3 +t=u=b&&s=b&&u>>4]&1<<(r&15))!==0){if(s&&65<=r&&90>=r){if(l==null)l=new P.N("") +if(t>>4]&1<<(q&15))!==0){if(r&&65<=q&&90>=q){if(s==null)s=new P.N("") +if(t>>4]&1<<(q&15))!==0)P.c4(a,u,"Invalid character") +else{if((q&64512)===55296&&u+1>>4]&1<<(s&15))!==0))P.c4(a,u,"Illegal scheme character") +if(65<=s&&s<=90)t=!0}a=C.a.q(a,b,c) +return P.tc(t?a.toLowerCase():a)}, +tc:function(a){if(a==="http")return"http" +if(a==="file")return"file" +if(a==="https")return"https" +if(a==="package")return"package" +return a}, +tl:function(a,b,c){return P.cN(a,b,c,C.cc,!1)}, +th:function(a,b,c,d,e,f){var u=e==="file",t=u||f,s=P.cN(a,b,c,C.ak,!0) +if(s.length===0){if(u)return"/"}else if(t&&!C.a.S(s,"/"))s="/"+s +return P.tm(s,e,f)}, +tm:function(a,b,c){var u=b.length===0 +if(u&&!c&&!C.a.S(a,"/"))return P.to(a,!u||c) +return P.tp(a)}, +tj:function(a,b,c,d){return P.cN(a,b,c,C.x,!0)}, +tf:function(a,b,c){return P.cN(a,b,c,C.x,!0)}, +ml:function(a,b,c){var u,t,s,r,q,p=b+2 +if(p>=a.length)return"%" +u=C.a.v(a,b+1) +t=C.a.v(a,p) +s=H.ly(u) +r=H.ly(t) +if(s<0||r<0)return"%" +q=s*16+r +if(q<127&&(C.ai[C.c.ad(q,4)]&1<<(q&15))!==0)return H.mb(c&&65<=q&&90>=q?(q|32)>>>0:q) +if(u>=97||t>=97)return C.a.q(a,b,b+3).toUpperCase() +return}, +mk:function(a){var u,t,s,r,q,p,o="0123456789ABCDEF" +if(a<128){u=new Array(3) +u.fixed$length=Array +t=H.a(u,[P.h]) +t[0]=37 +t[1]=C.a.G(o,a>>>4) +t[2]=C.a.G(o,a&15)}else{if(a>2047)if(a>65535){s=240 +r=4}else{s=224 +r=3}else{s=192 +r=2}u=new Array(3*r) +u.fixed$length=Array +t=H.a(u,[P.h]) +for(q=0;--r,r>=0;s=128){p=C.c.dJ(a,6*r)&63|s +t[q]=37 +t[q+1]=C.a.G(o,p>>>4) +t[q+2]=C.a.G(o,p&15) +q+=3}}return P.mf(t,0,null)}, +cN:function(a,b,c,d,e){var u=P.nR(a,b,c,d,e) +return u==null?C.a.q(a,b,c):u}, +nR:function(a,b,c,d,e){var u,t,s,r,q,p,o,n,m +for(u=!e,t=b,s=t,r=null;t>>4]&1<<(q&15))!==0)++t +else{if(q===37){p=P.ml(a,t,!1) +if(p==null){t+=3 +continue}if("%"===p){p="%25" +o=1}else o=3}else if(u&&q<=93&&(C.ab[q>>>4]&1<<(q&15))!==0){P.c4(a,t,"Invalid character") +p=null +o=null}else{if((q&64512)===55296){n=t+1 +if(n=2&&P.nP(J.lX(a,0)))for(u=1;u127||(C.ag[t>>>4]&1<<(t&15))===0)break}return a}, +te:function(a,b){var u,t,s +for(u=0,t=0;t<2;++t){s=C.a.v(a,b+t) +if(48<=s&&s<=57)u=u*16+s-48 +else{s|=32 +if(97<=s&&s<=102)u=u*16+s-87 +else throw H.e(P.I("Invalid URL encoding"))}}return u}, +tq:function(a,b,c,d,e){var u,t,s,r,q=b +while(!0){if(!(q127)throw H.e(P.I("Illegal percent encoding in URI")) +if(t===37){if(q+3>s)throw H.e(P.I("Truncated URI")) +r.push(P.te(a,q+1)) +q+=2}else r.push(t)}}return new P.jN(!1).dR(r)}, +nP:function(a){var u=a|32 +return 97<=u&&u<=122}, +nC:function(a){var u +if(a.length>=5){u=P.o4(a,0) +if(u===0)return P.jI(a,5,null) +if(u===32)return P.jI(C.a.aN(a,5),0,null)}throw H.e(P.y("Does not start with 'data:'",a,0))}, +jI:function(a,b,c){var u,t,s,r,q,p,o,n,m="Invalid MIME type",l=H.a([b-1],[P.h]) +for(u=a.length,t=b,s=-1,r=null;tb)throw H.e(P.y(m,a,t)) +for(;r!==44;){l.push(t);++t +for(q=-1;t=0)l.push(q) +else{p=C.d.gaH(l) +if(r!==44||t!==p+7||!C.a.R(a,"base64",p+1))throw H.e(P.y("Expecting '='",a,t)) +break}}l.push(t) +o=t+1 +if((l.length&1)===1)a=C.b3.e9(a,o,u) +else{n=P.nR(a,o,u,C.x,!0) +if(n!=null)a=C.a.aw(a,o,u,n)}return new P.jH(a,l,c)}, +tv:function(){var u="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",t=".",s=":",r="/",q="?",p="#",o=P.nj(22,new P.lc(),!0,P.af),n=new P.lb(o),m=new P.ld(),l=new P.le(),k=n.$2(0,225) +m.$3(k,u,1) +m.$3(k,t,14) +m.$3(k,s,34) +m.$3(k,r,3) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(14,225) +m.$3(k,u,1) +m.$3(k,t,15) +m.$3(k,s,34) +m.$3(k,r,234) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(15,225) +m.$3(k,u,1) +m.$3(k,"%",225) +m.$3(k,s,34) +m.$3(k,r,9) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(1,225) +m.$3(k,u,1) +m.$3(k,s,34) +m.$3(k,r,10) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(2,235) +m.$3(k,u,139) +m.$3(k,r,131) +m.$3(k,t,146) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(3,235) +m.$3(k,u,11) +m.$3(k,r,68) +m.$3(k,t,18) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(4,229) +m.$3(k,u,5) +l.$3(k,"AZ",229) +m.$3(k,s,102) +m.$3(k,"@",68) +m.$3(k,"[",232) +m.$3(k,r,138) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(5,229) +m.$3(k,u,5) +l.$3(k,"AZ",229) +m.$3(k,s,102) +m.$3(k,"@",68) +m.$3(k,r,138) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(6,231) +l.$3(k,"19",7) +m.$3(k,"@",68) +m.$3(k,r,138) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(7,231) +l.$3(k,"09",7) +m.$3(k,"@",68) +m.$3(k,r,138) +m.$3(k,q,172) +m.$3(k,p,205) +m.$3(n.$2(8,8),"]",5) +k=n.$2(9,235) +m.$3(k,u,11) +m.$3(k,t,16) +m.$3(k,r,234) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(16,235) +m.$3(k,u,11) +m.$3(k,t,17) +m.$3(k,r,234) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(17,235) +m.$3(k,u,11) +m.$3(k,r,9) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(10,235) +m.$3(k,u,11) +m.$3(k,t,18) +m.$3(k,r,234) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(18,235) +m.$3(k,u,11) +m.$3(k,t,19) +m.$3(k,r,234) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(19,235) +m.$3(k,u,11) +m.$3(k,r,234) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(11,235) +m.$3(k,u,11) +m.$3(k,r,10) +m.$3(k,q,172) +m.$3(k,p,205) +k=n.$2(12,236) +m.$3(k,u,12) +m.$3(k,q,12) +m.$3(k,p,205) +k=n.$2(13,237) +m.$3(k,u,13) +m.$3(k,q,13) +l.$3(n.$2(20,245),"az",21) +k=n.$2(21,245) +l.$3(k,"az",21) +l.$3(k,"09",21) +m.$3(k,"+-.",21) +return o}, +o1:function(a,b,c,d,e){var u,t,s,r,q=$.qC() +for(u=b;u95?31:s] +d=r&31 +e[r>>>5]=u}return d}, +o4:function(a,b){return((C.a.G(a,b+4)^58)*3|C.a.G(a,b)^100|C.a.G(a,b+1)^97|C.a.G(a,b+2)^116|C.a.G(a,b+3)^97)>>>0}, +i1:function i1(a,b){this.a=a +this.b=b}, +aT:function aT(){}, +cm:function cm(a,b){this.a=a +this.b=b}, +w:function w(){}, +b3:function b3(){}, +cA:function cA(){}, +ab:function ab(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +bU:function bU(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.a=c +_.b=d +_.c=e +_.d=f}, +fz:function fz(a,b,c,d,e){var _=this +_.f=a +_.a=b +_.b=c +_.c=d +_.d=e}, +i0:function i0(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +jG:function jG(a){this.a=a}, +jB:function jB(a){this.a=a}, +be:function be(a){this.a=a}, +e6:function e6(a){this.a=a}, +i7:function i7(){}, +dm:function dm(){}, +ei:function ei(a){this.a=a}, +kl:function kl(a){this.a=a}, +ak:function ak(a,b,c){this.a=a +this.b=b +this.c=c}, +bB:function bB(){}, +h:function h(){}, +t:function t(){}, +kA:function kA(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Z:function Z(){}, +l:function l(){}, +f:function f(){}, +cv:function cv(a,b,c){this.a=a +this.b=b +this.$ti=c}, +A:function A(){}, +G:function G(){}, +c:function c(){}, +dl:function dl(){}, +a1:function a1(){}, +d:function d(){}, +N:function N(a){this.a=a}, +me:function me(){}, +bV:function bV(){}, +ah:function ah(){}, +bY:function bY(){}, +jJ:function jJ(a){this.a=a}, +jK:function jK(a){this.a=a}, +jL:function jL(a,b){this.a=a +this.b=b}, +dG:function dG(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.z=_.y=null}, +l4:function l4(a,b){this.a=a +this.b=b}, +jH:function jH(a,b,c){this.a=a +this.b=b +this.c=c}, +lc:function lc(){}, +lb:function lb(a){this.a=a}, +ld:function ld(){}, +le:function le(){}, +kU:function kU(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.x=h +_.y=null}, +kh:function kh(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.z=_.y=null}, +mw:function(a){var u=J.m(a) +if(!u.$if&&!u.$it)throw H.e(P.I("object must be a Map or Iterable")) +return P.tu(a)}, +tu:function(a){return new P.l9(new P.kE([null,null])).$1(a)}, +l9:function l9(a){this.a=a}, +af:function af(){}, +tt:function(a){var u,t=a.$dart_jsFunction +if(t!=null)return t +u=function(b,c){return function(){return b(c,Array.prototype.slice.apply(arguments))}}(P.ts,a) +u[$.mB()]=a +a.$dart_jsFunction=u +return u}, +ts:function(a,b){return H.rL(a,b,null)}, +bm:function(a){if(typeof a=="function")return a +else return P.tt(a)}},M={ +qW:function(a,b){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f="byteOffset",e=null,d="normalized" +F.u(a,C.ck,b) +u=F.F(a,"bufferView",b,!1) +if(u===-1){t=a.u(f) +if(t)b.j($.ce(),H.a(["bufferView"],[P.c]),f) +s=0}else s=F.M(a,f,b,0,e,-1,0,!1) +r=F.M(a,"componentType",b,-1,C.bU,-1,0,!0) +q=F.M(a,"count",b,-1,e,-1,1,!0) +p=F.C(a,"type",b,e,C.k.gI(),e,!0) +o=F.oc(a,d,b) +if(p!=null&&r!==-1){n=C.k.i(0,p) +if(n!=null)if(r===5126){t=[P.h] +m=F.a3(a,"min",b,e,H.a([n],t),1/0,-1/0,!0) +l=F.a3(a,"max",b,e,H.a([n],t),1/0,-1/0,!0)}else{m=F.od(a,"min",b,r,n) +l=F.od(a,"max",b,r,n)}else{m=e +l=m}}else{m=e +l=m}k=F.a4(a,"sparse",b,M.tO(),!1) +if(o)t=r===5126||r===5125 +else t=!1 +if(t)b.p($.pM(),d) +if((p==="MAT2"||p==="MAT3"||p==="MAT4")&&s!==-1&&(s&3)!==0)b.p($.pL(),f) +switch(r){case 5120:case 5121:case 5122:case 5123:case 5125:t=P.h +j=[t] +H.dM(l,"$il",j,"$al") +H.dM(m,"$il",j,"$al") +F.C(a,"name",b,e,e,e,!1) +j=F.q(a,C.L,b,e,!1) +i=F.r(a,b) +h=new M.jY(u,s,r,q,p,o,l,m,k,Z.am(r),j,i) +if(m!=null){j=b.M() +i=P.hz(m.length,0,t) +g=new Array(m.length) +g.fixed$length=Array +b.U(h,new M.hT(i,H.a(g,[t]),J.dS(m,!1),j))}if(l!=null){j=b.M() +i=P.hz(l.length,0,t) +g=new Array(l.length) +g.fixed$length=Array +b.U(h,new M.hH(i,H.a(g,[t]),J.dS(l,!1),j))}break +default:t=P.w +j=[t] +H.dM(l,"$il",j,"$al") +H.dM(m,"$il",j,"$al") +F.C(a,"name",b,e,e,e,!1) +j=F.q(a,C.L,b,e,!1) +i=F.r(a,b) +h=new M.jT(u,s,r,q,p,o,l,m,k,Z.am(r),j,i) +b.U(h,new M.fA(b.M())) +if(m!=null){j=b.M() +i=P.hz(m.length,0,P.h) +g=new Array(m.length) +g.fixed$length=Array +b.U(h,new M.hS(i,H.a(g,[t]),J.dS(m,!1),j))}if(l!=null){j=b.M() +i=P.hz(l.length,0,P.h) +g=new Array(l.length) +g.fixed$length=Array +b.U(h,new M.hG(i,H.a(g,[t]),J.dS(l,!1),j))}break}return h}, +aG:function(a,b,c,d,e,f){var u,t,s="byteOffset" +if(a===-1)return!1 +if(a%b!==0)if(f!=null)f.j($.pN(),H.a([a,b],[P.c]),s) +else return!1 +u=d.y +if(u===-1)return!1 +t=u+a +if(t%b!==0)if(f!=null)f.B($.pc(),H.a([t,b],[P.c])) +else return!1 +u=d.z +if(a>u)if(f!=null)f.j($.mJ(),H.a([a,c,e,u],[P.c]),s) +else return!1 +else if(a+c>u)if(f!=null)f.B($.mJ(),H.a([a,c,e,u],[P.c])) +else return!1 +return!0}, +lZ:function(a,b,c,d){if(b==null||b.byteLengthr.gb4()))u=r.gcG()==r.gb4()&&r.ge8()>r.gbH() +else u=!0 +if(u)b.j($.q5(),H.a([t,s],[P.c]),p)}return r}, +bv:function bv(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.a=d +_.b=e +_.c=!1}, +rm:function(a,b){var u,t,s,r,q,p,o,n,m,l,k="bufferView",j=null +F.u(a,C.c2,b) +r=F.F(a,k,b,!1) +q=b.k1 +p=F.C(a,"mimeType",b,j,q,j,!1) +u=F.C(a,"uri",b,j,j,j,!1) +o=r===-1 +n=!o +if(n&&p==null)b.j($.ce(),H.a(["mimeType"],[P.c]),k) +if(!(n&&u!=null))o=o&&u==null +else o=!0 +if(o)b.B($.mR(),H.a(["bufferView","uri"],[P.c])) +t=null +if(u!=null){s=null +try{s=P.nC(u)}catch(m){if(H.z(m) instanceof P.ak)t=F.oh(u,b) +else throw m}if(s!=null){if(b.id)b.p($.mH(),"uri") +l=s.cr() +if(p==null){o=C.d.D(q,s.gat()) +if(!o)b.j($.mS(),H.a([s.gat(),q],[P.c]),"uri") +p=s.gat()}}else l=j}else l=j +q=t +F.C(a,"name",b,j,j,j,!1) +return new T.b5(r,p,q,l,F.q(a,C.as,b,j,!1),F.r(a,b))}, +b5:function b5(a,b,c,d,e,f){var _=this +_.x=a +_.y=b +_.z=c +_.Q=d +_.cx=_.ch=null +_.a=e +_.b=f +_.c=!1}, +rR:function(a,b){var u=null +F.u(a,C.cw,b) +F.M(a,"magFilter",b,-1,C.bJ,-1,0,!1) +F.M(a,"minFilter",b,-1,C.bN,-1,0,!1) +F.M(a,"wrapS",b,10497,C.ac,-1,0,!1) +F.M(a,"wrapT",b,10497,C.ac,-1,0,!1) +F.C(a,"name",b,u,u,u,!1) +return new T.bc(F.q(a,C.dd,b,u,!1),F.r(a,b))}, +bc:function bc(a,b){this.a=a +this.b=b +this.c=!1}, +rA:function(){return new T.bO(new Float32Array(16))}, +rP:function(){return new T.di(new Float32Array(4))}, +nH:function(a){var u=new Float32Array(3) +u[2]=a[2] +u[1]=a[1] +u[0]=a[0] +return new T.bh(u)}, +nG:function(){return new T.bh(new Float32Array(3))}, +bO:function bO(a){this.a=a}, +di:function di(a){this.a=a}, +bh:function bh(a){this.a=a}, +ds:function ds(a){this.a=a}},Q={ +r1:function(a,b){var u,t,s,r,q,p,o,n,m,l="byteLength",k=null,j="uri" +F.u(a,C.cD,b) +r=F.M(a,l,b,-1,k,-1,1,!0) +u=null +q=a.u(j) +if(q){t=F.C(a,j,b,k,k,k,!1) +if(t!=null){s=null +try{s=P.nC(t)}catch(p){if(H.z(p) instanceof P.ak)u=F.oh(t,b) +else throw p}if(s!=null){if(b.id)b.p($.mH(),j) +if(s.gat()==="application/octet-stream"||s.gat()==="application/gltf-buffer")o=s.cr() +else{b.j($.pQ(),H.a([s.gat()],[P.c]),j) +o=k}}else o=k +if(o!=null&&r!==-1&&o.length!==r){n=$.oO() +m=o.length +b.j(n,H.a([m,r],[P.c]),l) +r=m}}else o=k}else o=k +n=u +F.C(a,"name",b,k,k,k,!1) +return new Q.b_(n,r,q,o,F.q(a,C.d_,b,k,!1),F.r(a,b))}, +b_:function b_(a,b,c,d,e,f){var _=this +_.x=a +_.y=b +_.z=c +_.Q=d +_.a=e +_.b=f +_.c=!1}, +ol:function(){var u=new Q.lN() +J.qM(self.exports,P.bm(new Q.lJ(u))) +J.qN(self.exports,P.bm(new Q.lK(u))) +J.qO(self.exports,P.bm(new Q.lL())) +J.qL(self.exports,P.bm(new Q.lM()))}, +dN:function(a,b){return Q.uH(a,b)}, +uH:function(a,b){var u=0,t=P.cT([P.f,P.d,P.c]),s,r=2,q,p=[],o,n,m,l,k,j,i +var $async$dN=P.cU(function(c,d){if(c===1){q=d +u=r}while(true)switch(u){case 0:if(!J.m(a).$iaf)throw H.e(P.I("data: Argument must be a Uint8Array.")) +l=Q.nT(b) +o=Q.nV(l) +n=null +r=4 +k=[P.l,P.h] +u=7 +return P.c5(K.ri(P.mc(H.a([a],[k]),k),o),$async$dN) +case 7:m=d +u=8 +return P.c5(m.bM(),$async$dN) +case 8:n=d +r=2 +u=6 +break +case 4:r=3 +i=q +if(H.z(i) instanceof K.d5)throw i +else throw i +u=6 +break +case 3:u=2 +break +case 6:s=Q.dK(l,o,n) +u=1 +break +case 1:return P.cP(s,t) +case 2:return P.cO(q,t)}}) +return P.cQ($async$dN,t)}, +mA:function(a,b){var u=0,t=P.cT([P.f,P.d,P.c]),s,r,q +var $async$mA=P.cU(function(c,d){if(c===1)return P.cO(d,t) +while(true)switch(u){case 0:if(typeof a!=="string")throw H.e(P.I("json: Argument must be a string.")) +r=Q.nT(b) +q=Q.nV(r) +s=Q.dK(r,q,K.rh(a,q)) +u=1 +break +case 1:return P.cP(s,t)}}) +return P.cQ($async$mA,t)}, +nT:function(a){var u +if(a!=null)u=typeof a==="number"||typeof a==="boolean"||typeof a==="string"||!!J.m(a).$il +else u=!1 +if(u)throw H.e(P.I("options: Value must be an object.")) +return H.oi(a,"$idy")}, +dK:function(a,b,c){var u=0,t=P.cT([P.f,P.d,P.c]),s,r,q,p,o,n,m +var $async$dK=P.cU(function(d,e){if(d===1)return P.cO(e,t) +while(true)switch(u){case 0:m=a==null +if(!m){r=J.an(a) +q=Q.tz(r.gb8(a)) +if(r.gbx(a)!=null&&!J.m(r.gbx(a)).$ibB)throw H.e(P.I("options.externalResourceFunction: Value must be a function.")) +else p=r.gbx(a) +if(r.gbQ(a)!=null){o=r.gbQ(a) +o=typeof o!=="boolean"}else o=!1 +if(o)throw H.e(P.I("options.validateAccessorData: Value must be a boolean.")) +if(r.gbS(a)!=null){r=r.gbS(a) +r=typeof r!=="boolean"}else r=!1 +if(r)throw H.e(P.I("options.writeTimestamp: Value must be a boolean."))}else{q=null +p=null}u=(c==null?null:c.b)!=null&&p!=null?3:4 +break +case 3:n=Q.ty(b,c,p) +r=J.qH(a) +u=5 +return P.c5(n.aJ(r==null?!0:r),$async$dK) +case 5:case 4:m=m?null:J.qI(a) +s=new A.jP(q,b,c,m==null?!0:m).b7() +u=1 +break +case 1:return P.cP(s,t)}}) +return P.cQ($async$dK,t)}, +tz:function(a){var u,t,s +if(a!=null)if(typeof a==="string")try{t=P.nD(a) +return t}catch(s){t=H.z(s) +if(t instanceof P.ak){u=t +throw H.e(P.I("options.uri: "+H.b(u)+"."))}else throw s}else throw H.e(P.I("options.uri: Value must be a string.")) +return}, +nV:function(a){var u,t,s,r,q,p,o,n,m +if(a!=null){u=J.an(a) +if(u.gb5(a)!=null){t=u.gb5(a) +t=typeof t!=="number"||Math.floor(t)!==t||u.gb5(a)<0}else t=!1 +if(t)throw H.e(P.I("options.maxIssues: Value must be a non-negative integer.")) +if(u.gb2(a)!=null){if(!J.m(u.gb2(a)).$il)throw H.e(P.I("options.ignoredIssues: Value must be an array.")) +s=H.a([],[P.d]) +for(r=0;r=0&&n<=3)p.l(0,o,C.cu[n]) +else throw H.e(P.I('options.severityOverrides["'+H.b(o)+'"]: Value must be one of [0, 1, 2, 3].'))}}else p=null +m=M.nF(s,u.gb5(a),p)}else m=null +return M.rb(m)}, +ty:function(a,b,c){var u=new Q.lh(c) +return new N.ie(b.b,a,new Q.lf(b,u),new Q.lg(u))}, +dh:function dh(){}, +m2:function m2(){}, +dy:function dy(){}, +lN:function lN(){}, +lJ:function lJ(a){this.a=a}, +lI:function lI(a,b,c){this.a=a +this.b=b +this.c=c}, +lF:function lF(a){this.a=a}, +lG:function lG(a,b){this.a=a +this.b=b}, +lK:function lK(a){this.a=a}, +lH:function lH(a,b,c){this.a=a +this.b=b +this.c=c}, +lD:function lD(a){this.a=a}, +lE:function lE(a,b){this.a=a +this.b=b}, +lL:function lL(){}, +lM:function lM(){}, +lh:function lh(a){this.a=a}, +li:function li(a){this.a=a}, +lj:function lj(a){this.a=a}, +lf:function lf(a,b){this.a=a +this.b=b}, +lg:function lg(a){this.a=a}, +i2:function i2(a){this.a=a}},V={ +r0:function(a,b){var u,t,s,r,q,p=null,o="byteStride" +F.u(a,C.bQ,b) +u=F.M(a,"byteLength",b,-1,p,-1,1,!0) +t=F.M(a,o,b,-1,p,252,4,!1) +s=F.M(a,"target",b,-1,C.bF,-1,0,!1) +if(t!==-1){if(u!==-1&&t>u)b.j($.pR(),H.a([t,u],[P.c]),o) +if(t%4!==0)b.j($.pK(),H.a([t,4],[P.c]),o) +if(s===34963)b.p($.lV(),o)}r=F.F(a,"buffer",b,!0) +q=F.M(a,"byteOffset",b,0,p,-1,0,!1) +F.C(a,"name",b,p,p,p,!1) +return new V.aH(r,q,u,t,s,F.q(a,C.aq,b,p,!1),F.r(a,b))}, +aH:function aH(a,b,c,d,e,f,g){var _=this +_.x=a +_.y=b +_.z=c +_.Q=d +_.ch=e +_.cy=_.cx=null +_.db=-1 +_.a=f +_.b=g +_.c=!1}, +nc:function(b7,b8){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3="extensionsRequired",b4="extensionsUsed",b5=null,b6=new V.fn(b8) +b6.$0() +F.u(b7,C.cF,b8) +if(b7.u(b3)&&!b7.u(b4))b8.j($.ce(),H.a(["extensionsUsed"],[P.c]),b3) +u=F.of(b7,b4,b8) +if(u==null)u=H.a([],[P.d]) +t=F.of(b7,b3,b8) +if(t==null)t=H.a([],[P.d]) +b8.e1(u,t) +s=new V.fo(b7,b6,b8) +r=new V.fp(b6,b7,b8).$3$req("asset",T.tS(),!0) +if((r==null?b5:r.f)==null)return +else if(r.gb4()!==2){q=$.qk() +p=r.gb4() +b8.j(q,H.a([p],[P.c]),"version") +return}else if(r.gbH()>0){q=$.ql() +p=r.gbH() +b8.j(q,H.a([p],[P.c]),"version")}o=s.$1$2("accessors",M.tP(),[M.Q,P.G]) +n=s.$1$2("animations",Z.tR(),Z.aZ) +m=s.$1$2("buffers",Q.tX(),Q.b_) +l=s.$1$2("bufferViews",V.tY(),V.aH) +k=s.$1$2("cameras",G.u0(),G.b1) +j=s.$1$2("images",T.uc(),T.b5) +i=s.$1$2("materials",Y.ur(),Y.ax) +h=s.$1$2("meshes",S.uv(),S.ba) +q=V.ad +g=s.$1$2("nodes",V.ux(),q) +f=s.$1$2("samplers",T.uy(),T.bc) +e=s.$1$2("scenes",B.uz(),B.aK) +b6.$0() +d=F.F(b7,"scene",b8,!1) +c=e.i(0,d) +p=d!==-1&&c==null +if(p)b8.j($.D(),H.a([d],[P.c]),"scene") +b=s.$1$2("skins",O.uA(),O.bd) +a=s.$1$2("textures",U.uC(),U.bf) +a0=F.q(b7,C.ar,b8,b5,!1) +b6.$0() +a1=new V.d4(u,t,o,n,r,m,l,k,j,i,h,g,f,c,b,a,a0,F.r(b7,b8)) +a2=new V.fl(b8,a1) +a2.$2(l,C.aq) +a2.$2(o,C.L) +a2.$2(j,C.as) +a2.$2(a,C.N) +a2.$2(i,C.l) +a2.$2(h,C.at) +a2.$2(g,C.M) +a2.$2(b,C.ax) +a2.$2(n,C.ap) +a2.$2(e,C.aw) +if(a0.a!==0){p=b8.c +p.push("extensions") +a0.H(0,new V.fj(b8,a1)) +p.pop()}p=b8.c +p.push("nodes") +g.aa(new V.fk(b8,P.at(q))) +p.pop() +a3=[o,m,l,k,j,i,h,g,f,b,a] +for(a4=0;a4<11;++a4){a5=a3[a4] +if(a5.gh(a5)===0)continue +p.push(a5.c) +for(q=a5.b,a6=a5.a,a7=a6.length,a8=0;a8=a7 +a9=a9?b5:a6[a8] +if((a9==null?b5:a9.c)===!1)b8.V($.dP(),a8)}p.pop()}q=b8.y +if(q.a!==0){for(a6=new H.b9(q,[H.i(q,0)]),a6=a6.gw(a6);a6.m();){a7=a6.d +if(a7.gh(a7)===0)continue +b0=q.i(0,a7) +C.d.sh(p,0) +C.d.J(p,b0) +for(a9=a7.b,a7=a7.a,b1=a7.length,a8=0;a8=b1 +b2=b2?b5:a7[a8] +if((b2==null?b5:b2.ge4())===!1)b8.V($.dP(),a8)}}C.d.sh(p,0)}return a1}, +d4:function d4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){var _=this +_.d=a +_.e=b +_.f=c +_.r=d +_.x=e +_.y=f +_.z=g +_.Q=h +_.ch=i +_.cx=j +_.cy=k +_.db=l +_.dx=m +_.dy=n +_.fx=o +_.fy=p +_.a=q +_.b=r +_.c=!1}, +fn:function fn(a){this.a=a}, +fo:function fo(a,b,c){this.a=a +this.b=b +this.c=c}, +fp:function fp(a,b,c){this.a=a +this.b=b +this.c=c}, +fl:function fl(a,b){this.a=a +this.b=b}, +fm:function fm(a,b){this.a=a +this.b=b}, +fj:function fj(a,b){this.a=a +this.b=b}, +fk:function fk(a,b){this.a=a +this.b=b}, +fh:function fh(){}, +fi:function fi(){}, +fq:function fq(a,b){this.a=a +this.b=b}, +fr:function fr(a,b){this.a=a +this.b=b}, +cB:function cB(){}, +fc:function fc(){}, +fa:function fa(){}, +b0:function b0(a){this.a=a}, +aY:function aY(a){this.a=a}, +k:function k(a,b,c){this.a=a +this.b=b +this.c=c}, +rF:function(b2,b3){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8=null,a9="matrix",b0="translation",b1="rotation" +F.u(b2,C.bM,b3) +if(b2.u(a9)){u=F.a3(b2,a9,b3,a8,C.bA,1/0,-1/0,!1) +if(u!=null){t=new Float32Array(16) +s=new T.bO(t) +r=u[0] +q=u[1] +p=u[2] +o=u[3] +n=u[4] +m=u[5] +l=u[6] +k=u[7] +j=u[8] +i=u[9] +h=u[10] +g=u[11] +f=u[12] +e=u[13] +d=u[14] +t[15]=u[15] +t[14]=d +t[13]=e +t[12]=f +t[11]=g +t[10]=h +t[9]=i +t[8]=j +t[7]=k +t[6]=l +t[5]=m +t[4]=n +t[3]=o +t[2]=p +t[1]=q +t[0]=r}else s=a8}else s=a8 +if(b2.u(b0)){c=F.a3(b2,b0,b3,a8,C.o,1/0,-1/0,!1) +b=c!=null?T.nH(c):a8}else b=a8 +if(b2.u(b1)){a=F.a3(b2,b1,b3,a8,C.J,1,-1,!1) +if(a!=null){t=a[0] +r=a[1] +q=a[2] +p=a[3] +o=new Float32Array(4) +a0=new T.di(o) +o[0]=t +o[1]=r +o[2]=q +o[3]=p +t=Math.sqrt(a0.gaI()) +if(Math.abs(1-t)>0.00769)b3.p($.qh(),b1)}else a0=a8}else a0=a8 +if(b2.u("scale")){a1=F.a3(b2,"scale",b3,a8,C.o,1/0,-1/0,!1) +a2=a1!=null?T.nH(a1):a8}else a2=a8 +a3=F.F(b2,"camera",b3,!1) +a4=F.ms(b2,"children",b3,!1) +a5=F.F(b2,"mesh",b3,!1) +a6=F.F(b2,"skin",b3,!1) +a7=F.a3(b2,"weights",b3,a8,a8,1/0,-1/0,!1) +if(a5===-1){if(a6!==-1)b3.j($.ce(),H.a(["mesh"],[P.c]),"skin") +if(a7!=null)b3.j($.ce(),H.a(["mesh"],[P.c]),"weights")}if(s!=null){if(b!=null||a0!=null||a2!=null)b3.p($.q9(),a9) +if(s.cE())b3.p($.q7(),a9) +else if(!F.uh(s))b3.p($.qa(),a9)}F.C(b2,"name",b3,a8,a8,a8,!1) +return new V.ad(a3,a4,a6,s,a5,b,a0,a2,a7,P.at(B.aK),F.q(b2,C.M,b3,a8,!1),F.r(b2,b3))}, +ad:function ad(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.x=a +_.y=b +_.z=c +_.Q=d +_.ch=e +_.cx=f +_.cy=g +_.db=h +_.dx=i +_.dy=j +_.id=_.go=_.fy=_.fx=_.fr=null +_.k1=!1 +_.a=k +_.b=l +_.c=!1}, +i3:function i3(){}, +i4:function i4(){}, +i5:function i5(a,b){this.a=a +this.b=b}},G={ +r4:function(a,b){var u,t=null,s="orthographic",r="perspective" +F.u(a,C.cC,b) +u=a.u(s)&&a.u(r) +if(u)b.B($.mR(),C.aj) +switch(F.C(a,"type",b,t,C.aj,t,!0)){case"orthographic":F.a4(a,s,b,G.tZ(),!0) +break +case"perspective":F.a4(a,r,b,G.u_(),!0) +break}F.C(a,"name",b,t,t,t,!1) +return new G.b1(F.q(a,C.d2,b,t,!1),F.r(a,b))}, +r2:function(a,b){var u,t,s,r +F.u(a,C.cE,b) +u=F.T(a,"xmag",b,0/0,1/0,-1/0,1/0,-1/0,!0) +t=F.T(a,"ymag",b,0/0,1/0,-1/0,1/0,-1/0,!0) +s=F.T(a,"zfar",b,0/0,1/0,0,1/0,-1/0,!0) +r=F.T(a,"znear",b,0/0,1/0,-1/0,1/0,0,!0) +if(!isNaN(s)&&!isNaN(r)&&s<=r)b.P($.mT()) +if(u===0||t===0)b.P($.pS()) +return new G.bx(F.q(a,C.d0,b,null,!1),F.r(a,b))}, +r3:function(a,b){var u,t,s +F.u(a,C.c_,b) +u=F.T(a,"zfar",b,0/0,1/0,0,1/0,-1/0,!1) +t=F.T(a,"znear",b,0/0,1/0,0,1/0,-1/0,!0) +s=!isNaN(u)&&!isNaN(t)&&u<=t +if(s)b.P($.mT()) +F.T(a,"aspectRatio",b,0/0,1/0,0,1/0,-1/0,!1) +F.T(a,"yfov",b,0/0,1/0,0,1/0,-1/0,!0) +return new G.by(F.q(a,C.d1,b,null,!1),F.r(a,b))}, +b1:function b1(a,b){this.a=a +this.b=b +this.c=!1}, +bx:function bx(a,b){this.a=a +this.b=b +this.c=!1}, +by:function by(a,b){this.a=a +this.b=b +this.c=!1}},Y={ +rz:function(a,b){var u,t,s,r,q,p,o,n,m,l=null,k="alphaCutoff" +F.u(a,C.bT,b) +u=F.a4(a,"pbrMetallicRoughness",b,Y.uu(),!1) +t=F.a4(a,"normalTexture",b,Y.us(),!1) +s=F.a4(a,"occlusionTexture",b,Y.ut(),!1) +r=F.a4(a,"emissiveTexture",b,Y.dL(),!1) +F.a3(a,"emissiveFactor",b,C.by,C.o,1,0,!1) +q=F.C(a,"alphaMode",b,"OPAQUE",C.bS,l,!1) +F.T(a,k,b,0.5,1/0,-1/0,1/0,0,!1) +p=q!=="MASK"&&a.u(k) +if(p)b.p($.pX(),k) +F.oc(a,"doubleSided",b) +o=F.q(a,C.l,b,l,!0) +F.C(a,"name",b,l,l,l,!1) +n=new Y.ax(u,t,s,r,P.V(P.d,P.h),o,F.r(a,b)) +p=H.a([],[P.c]) +p.push(u) +p.push(t) +p.push(s) +p.push(r) +for(m=o.gax(),m=new H.bN(J.U(m.a),m.b,[H.i(m,0),H.i(m,1)]);m.m();)p.push(m.a) +b.av(n,p) +return n}, +rI:function(a,b){var u,t,s,r,q,p +F.u(a,C.c4,b) +F.a3(a,"baseColorFactor",b,C.a9,C.J,1,0,!1) +u=F.a4(a,"baseColorTexture",b,Y.dL(),!1) +F.T(a,"metallicFactor",b,1,1/0,-1/0,1,0,!1) +F.T(a,"roughnessFactor",b,1,1/0,-1/0,1,0,!1) +t=F.a4(a,"metallicRoughnessTexture",b,Y.dL(),!1) +s=F.q(a,C.dc,b,null,!1) +r=new Y.bS(u,t,s,F.r(a,b)) +q=H.a([],[P.c]) +q.push(u) +q.push(t) +for(p=s.gax(),p=new H.bN(J.U(p.a),p.b,[H.i(p,0),H.i(p,1)]);p.m();)q.push(p.a) +b.av(r,q) +return r}, +rH:function(a,b){var u,t,s,r +F.u(a,C.cg,b) +u=F.q(a,C.av,b,C.l,!1) +t=F.F(a,"index",b,!0) +s=F.M(a,"texCoord",b,0,null,-1,0,!1) +F.T(a,"strength",b,1,1/0,-1/0,1,0,!1) +r=new Y.bR(t,s,u,F.r(a,b)) +b.av(r,u.gax()) +return r}, +rG:function(a,b){var u,t,s,r +F.u(a,C.cf,b) +u=F.q(a,C.au,b,C.l,!1) +t=F.F(a,"index",b,!0) +s=F.M(a,"texCoord",b,0,null,-1,0,!1) +F.T(a,"scale",b,1,1/0,-1/0,1/0,-1/0,!1) +r=new Y.bQ(t,s,u,F.r(a,b)) +b.av(r,u.gax()) +return r}, +rW:function(a,b){var u,t +F.u(a,C.ce,b) +u=F.q(a,C.ay,b,C.l,!1) +t=new Y.bg(F.F(a,"index",b,!0),F.M(a,"texCoord",b,0,null,-1,0,!1),u,F.r(a,b)) +b.av(t,u.gax()) +return t}, +ax:function ax(a,b,c,d,e,f,g){var _=this +_.x=a +_.y=b +_.z=c +_.Q=d +_.dx=e +_.a=f +_.b=g +_.c=!1}, +hF:function hF(a,b){this.a=a +this.b=b}, +bS:function bS(a,b,c,d){var _=this +_.e=a +_.x=b +_.a=c +_.b=d +_.c=!1}, +bR:function bR(a,b,c,d){var _=this +_.d=a +_.e=b +_.f=null +_.a=c +_.b=d +_.c=!1}, +bQ:function bQ(a,b,c,d){var _=this +_.d=a +_.e=b +_.f=null +_.a=c +_.b=d +_.c=!1}, +bg:function bg(a,b,c,d){var _=this +_.d=a +_.e=b +_.f=null +_.a=c +_.b=d +_.c=!1}, +rj:function(a,b,c,d,e,f,g,h,i){return new Y.bC(a,b,c,d,e,f,g,i,h)}, +rl:function(a){var u,t,s,r={} +r.a=r.b=null +u=Y.bC +t=new P.E($.p,[u]) +s=new P.aN(t,[u]) +r.c=!1 +r.a=a.bE(new Y.fv(r,s),new Y.fw(r),new Y.fx(r,s)) +return t}, +rk:function(a){var u=new Y.fu() +if(u.$2(a,C.bC))return C.az +if(u.$2(a,C.bE))return C.aA +if(u.$2(a,C.bI))return C.aB +return}, +cI:function cI(a){this.b=a}, +cG:function cG(a,b){this.a=a +this.b=b}, +bZ:function bZ(a,b){this.a=a +this.b=b}, +b4:function b4(a,b){this.a=a +this.b=b}, +bC:function bC(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.x=h +_.y=i}, +fv:function fv(a,b){this.a=a +this.b=b}, +fx:function fx(a,b){this.a=a +this.b=b}, +fw:function fw(a){this.a=a}, +fu:function fu(){}, +ft:function ft(){}, +fK:function fK(a,b){var _=this +_.f=_.e=_.d=_.c=0 +_.r=null +_.a=a +_.b=b}, +fM:function fM(){}, +fL:function fL(){}, +i9:function i9(a,b,c,d,e,f){var _=this +_.y=_.x=_.r=_.f=_.e=_.d=_.c=0 +_.Q=_.z=!1 +_.ch=a +_.cx=b +_.cy=!1 +_.db=c +_.dx=d +_.a=e +_.b=f}, +ia:function ia(a){this.a=a}, +jS:function jS(a,b,c){var _=this +_.c=a +_.d=0 +_.a=b +_.b=c}, +dr:function dr(){}, +dp:function dp(){}, +as:function as(a){this.a=a}},S={ +rC:function(a,b){var u,t,s,r,q,p,o,n,m,l,k=null,j="primitives" +F.u(a,C.ct,b) +u=F.a3(a,"weights",b,k,k,1/0,-1/0,!1) +t=F.lv(a,j,b) +if(t!=null){s=t.gh(t) +r=S.cx +q=new Array(s) +q.fixed$length=Array +q=H.a(q,[r]) +p=new F.ae(q,s,j,[r]) +r=b.c +r.push(j) +for(o=k,n=-1,m=0;m=p +l=m?null:r[o] +if((l==null?null:l.x)==null)continue +m=l.x +if(m.b0(m,new O.lR()))continue +n.a=n.b=-1 +for(k=a.db,k=new H.aJ(k,k.gh(k),[H.i(k,0)]);k.m();){j=k.d +if(j.fy==l){i=j.id +i=(i==null?null:i.ch)!=null}else i=!1 +if(i){j=j.id +h=j.ch.length +i=n.b +if(i===-1||h>>11 +return 536870911&t+((16383&t)<<15)}, +lx:function lx(){}, +dJ:function(a,b){var u=536870911&a+b +u=536870911&u+((524287&u)<<10) +return u^u>>>6}, +nU:function(a){var u=536870911&a+((67108863&a)<<3) +u^=u>>>11 +return 536870911&u+((16383&u)<<15)}},L={ +rx:function(a,b){b.toString +F.u(a,C.cs,b) +F.a3(a,"offset",b,C.bx,C.aa,1/0,-1/0,!1) +F.T(a,"rotation",b,0,1/0,-1/0,1/0,-1/0,!1) +F.a3(a,"scale",b,C.bB,C.aa,1/0,-1/0,!1) +return new L.bM(F.M(a,"texCoord",b,-1,null,-1,0,!1),F.q(a,C.da,b,null,!1),F.r(a,b))}, +bM:function bM(a,b,c){var _=this +_.r=a +_.a=b +_.b=c +_.c=!1}},K={ +ri:function(a,b){var u,t={},s=K.cq,r=new P.E($.p,[s]) +t.a=!1 +t.b=null +u=P.nz(new K.fd(t),new K.fe(t),new K.ff(t),[P.l,P.h]) +t.b=a.e5(new K.fg(t,u,new P.aN(r,[s]),b),u.gdQ()) +return r}, +rg:function(a,b){var u=K.ac +u=new K.cp(a,new P.aN(new P.E($.p,[u]),[u])) +u.e=b +return u}, +rh:function(a,b){var u,t,s,r,q,p=null +try{p=C.a2.dT(a)}catch(s){r=H.z(s) +if(r instanceof P.ak){u=r +b.ar($.dR(),H.a([u],[P.c]),!0) +return}else throw s}r=p +q=P.c +if(H.a2(r,"$if",[P.d,q],"$af"))try{t=V.nc(p,b) +return new K.ac("model/gltf+json",t,null)}catch(s){if(H.z(s) instanceof M.bF)return +else throw s}else{b.ar($.P(),H.a([p,"object"],[q]),!0) +return}}, +ac:function ac(a,b,c){this.a=a +this.b=b +this.c=c}, +cq:function cq(){}, +fe:function fe(a){this.a=a}, +ff:function ff(a){this.a=a}, +fd:function fd(a){this.a=a}, +fg:function fg(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +cp:function cp(a,b){var _=this +_.a=a +_.b=null +_.c=b +_.e=_.d=null +_.f=!0}, +fb:function fb(a){this.a=a}, +d5:function d5(){}},F={ +a9:function(a,b,c,d){var u=a.i(0,b) +if(u==null&&a.u(b))d.j($.P(),H.a([null,c],[P.c]),b) +return u}, +F:function(a,b,c,d){var u=F.a9(a,b,"integer",c) +if(typeof u==="number"&&Math.floor(u)===u){if(u>=0)return u +c.p($.dQ(),b)}else if(u==null){if(d)c.B($.aE(),H.a([b],[P.c]))}else c.j($.P(),H.a([u,"integer"],[P.c]),b) +return-1}, +oc:function(a,b,c){var u=F.a9(a,b,"boolean",c) +if(u==null)return!1 +if(typeof u==="boolean")return u +c.j($.P(),H.a([u,"boolean"],[P.c]),b) +return!1}, +M:function(a,b,c,d,e,f,g,h){var u,t=F.a9(a,b,"integer",c) +if(typeof t==="number"&&Math.floor(t)===t){if(e!=null){if(!F.mq(b,t,e,c,!1))return-1}else{if(!(tf +else u=!0 +if(u){c.j($.lU(),H.a([t],[P.c]),b) +return-1}}return t}else if(t==null){if(!h)return d +c.B($.aE(),H.a([b],[P.c]))}else c.j($.P(),H.a([t,"integer"],[P.c]),b) +return-1}, +T:function(a,b,c,d,e,f,g,h,i){var u=F.a9(a,b,"number",c) +if(typeof u==="number"){if(ug||u>=e){c.j($.lU(),H.a([u],[P.c]),b) +return 0/0}return u}else if(u==null){if(!i)return d +c.B($.aE(),H.a([b],[P.c]))}else c.j($.P(),H.a([u,"number"],[P.c]),b) +return 0/0}, +C:function(a,b,c,d,e,f,g){var u,t=F.a9(a,b,"string",c) +if(typeof t==="string"){if(e!=null)F.mq(b,t,e,c,!1) +else{if(f==null)u=null +else{u=f.b +u=u.test(t)}if(u===!1){c.j($.pI(),H.a([t,f.a],[P.c]),b) +return}}return t}else if(t==null){if(!g)return d +c.B($.aE(),H.a([b],[P.c]))}else c.j($.P(),H.a([t,"string"],[P.c]),b) +return}, +oh:function(a,b){var u,t,s,r +try{u=P.nD(a) +s=u +if(s.gcC()||s.gby()||s.gcB()||s.gbA()||s.gbz())b.j($.qf(),H.a([a],[P.c]),"uri") +return u}catch(r){s=H.z(r) +if(s instanceof P.ak){t=s +b.j($.pH(),H.a([a,t],[P.c]),"uri") +return}else throw r}}, +mt:function(a,b,c,d){var u=F.a9(a,b,"object",c),t=P.d,s=P.c +if(H.a2(u,"$if",[t,s],"$af"))return u +else if(u==null){if(d){c.B($.aE(),H.a([b],[s])) +return}}else{c.j($.P(),H.a([u,"object"],[s]),b) +if(d)return}return P.V(t,s)}, +a4:function(a,b,c,d,e){var u,t=F.a9(a,b,"object",c),s=P.c +if(H.a2(t,"$if",[P.d,s],"$af")){s=c.c +s.push(b) +u=d.$2(t,c) +s.pop() +return u}else if(t==null){if(e)c.B($.aE(),H.a([b],[s]))}else c.j($.P(),H.a([t,"object"],[s]),b) +return}, +ms:function(a,b,c,d){var u,t,s,r,q,p=F.a9(a,b,"array",c),o=J.m(p) +if(!!o.$il){if(o.gt(p)){c.p($.aX(),b) +return}u=c.c +u.push(b) +t=P.h +s=P.at(t) +for(r=0;r=0){if(!s.A(0,q))c.V($.mP(),r)}else{o.l(p,r,-1) +c.V($.dQ(),r)}}u.pop() +return o.a7(p,t)}else if(p==null){if(d)c.B($.aE(),H.a([b],[P.c]))}else c.j($.P(),H.a([p,"array"],[P.c]),b) +return}, +u8:function(a,b,c,d){var u,t=F.a9(a,b,"object",c),s=P.d,r=P.c +if(H.a2(t,"$if",[s,r],"$af")){r=J.K(t) +if(r.gt(t)){c.p($.aX(),b) +return}u=c.c +u.push(b) +r.H(t,new F.lr(d,t,c)) +u.pop() +return r.ae(t,s,P.h)}else{s=[r] +if(t==null)c.B($.aE(),H.a([b],s)) +else c.j($.P(),H.a([t,"object"],s),b)}return}, +u9:function(a,b,c,d){var u,t,s,r,q,p,o,n=F.a9(a,b,"array",c),m=J.m(n) +if(!!m.$il){if(m.gt(n)){c.p($.aX(),b) +return}else{u=c.c +u.push(b) +for(t=P.c,s=[t],t=[P.d,t],r=!1,q=0;qf +if(p){c.j($.lU(),H.a([q],u),b) +s=!0}if(h){p=$.mX() +p[0]=q +t[r]=p[0]}else t[r]=q}else{c.j($.cW(),H.a([q,"number"],u),b) +s=!0}}if(s)return +return t}else if(o==null){if(d==null)n=null +else n=J.cr(d.slice(0),H.i(d,0)) +return n}else c.j($.P(),H.a([o,"array"],[P.c]),b) +return}, +od:function(a,b,c,d,e){var u,t,s,r,q,p,o,n,m=F.a9(a,b,"array",c),l=J.m(m) +if(!!l.$il){if(l.gh(m)!==e){c.j($.mQ(),H.a([l.gh(m),H.a([e],[P.h])],[P.c]),b) +return}u=Z.uE(d) +t=Z.ov(d) +s=F.u1(d,e) +for(r=[P.c],q=!1,p=0;pt +if(n){c.j($.pV(),H.a([o,C.am.i(0,d)],r),b) +q=!0}s[p]=J.qS(o)}else{c.j($.cW(),H.a([o,"integer"],r),b) +q=!0}}if(q)return +return s}else if(m!=null)c.j($.P(),H.a([m,"array"],[P.c]),b) +return}, +of:function(a,b,c){var u,t,s,r,q,p,o,n=F.a9(a,b,"array",c),m=J.m(n) +if(!!m.$il){if(m.gt(n)){c.p($.aX(),b) +return}u=c.c +u.push(b) +t=P.d +s=P.at(t) +for(r=[P.c],q=!1,p=0;p1)c.B($.q6(),H.a([null,h.gI()],[j])) +for(j=h.gI(),j=j.gw(j),t=d==null,s=c.f,r=c.r;j.m();){q=j.gn() +p=F.mt(h,q,c,!1) +o=c.dx +if(!o.D(o,q)){i.l(0,q,null) +o=c.cy +o=o.D(o,q) +if(!o)c.p($.pE(),q) +continue}n=c.ch.a.i(0,new D.bA(b,q)) +if(n==null){c.p($.pF(),q) +continue}if(p!=null){u.push(q) +m=n.a.$2(p,c) +i.l(0,q,m) +q=J.m(m) +if(!!q.$ing){o=t?b:d +o=s.bL(o,new F.lq()) +l=H.a(u.slice(0),[H.i(u,0)]) +l.fixed$length=Array +J.lY(o,new D.cu(m,l))}if(!!q.$icB){q=H.a(u.slice(0),[H.i(u,0)]) +q.fixed$length=Array +r.push(new D.dk(m,q))}u.pop()}}u.pop() +return i}, +r:function(a,b){var u=a.i(0,"extras"),t=u!=null&&!J.m(u).$if +if(t)b.p($.qe(),"extras") +return u}, +mq:function(a,b,c,d,e){var u +if(!J.n_(c,b)){u=e?$.mQ():$.mS() +d.j(u,H.a([b,c],[P.c]),a) +return!1}return!0}, +u:function(a,b,c){var u,t,s +for(u=a.gI(),u=u.gw(u);u.m();){t=u.gn() +if(!C.d.D(b,t)){s=C.d.D(C.cb,t) +s=!s}else s=!1 +if(s)c.p($.pJ(),t)}}, +my:function(a,b,c,d,e,f){var u,t,s,r,q,p,o=e.c +o.push(d) +for(u=[P.c],t=c.a,s=t.length,r=0;r=s?null:t[q] +if(p!=null){p.c=!0 +b[r]=p +f.$3(p,q,r)}else e.aE($.D(),H.a([q],u),r)}o.pop()}, +uh:function(b4){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3=b4.a +if(b3[3]!==0||b3[7]!==0||b3[11]!==0||b3[15]!==1)return!1 +if(b4.cu()===0)return!1 +u=$.qD() +t=$.qA() +s=$.qB() +r=new T.bh(new Float32Array(3)) +r.be(b3[0],b3[1],b3[2]) +q=Math.sqrt(r.gaI()) +r.be(b3[4],b3[5],b3[6]) +p=Math.sqrt(r.gaI()) +r.be(b3[8],b3[9],b3[10]) +o=Math.sqrt(r.gaI()) +if(b4.cu()<0)q=-q +u=u.a +u[0]=b3[12] +u[1]=b3[13] +u[2]=b3[14] +n=1/q +m=1/p +l=1/o +b3=new Float32Array(16) +new T.bO(b3).cX(b4) +b3[0]=b3[0]*n +b3[1]=b3[1]*n +b3[2]=b3[2]*n +b3[4]=b3[4]*m +b3[5]=b3[5]*m +b3[6]=b3[6]*m +b3[8]=b3[8]*l +b3[9]=b3[9]*l +b3[10]=b3[10]*l +k=new Float32Array(9) +k[0]=b3[0] +k[1]=b3[1] +k[2]=b3[2] +k[3]=b3[4] +k[4]=b3[5] +k[5]=b3[6] +k[6]=b3[8] +k[7]=b3[9] +k[8]=b3[10] +t.toString +b3=k[0] +j=k[4] +i=k[8] +h=0+b3+j+i +if(h>0){g=Math.sqrt(h+1) +b3=t.a +b3[3]=g*0.5 +g=0.5/g +b3[0]=(k[5]-k[7])*g +b3[1]=(k[6]-k[2])*g +b3[2]=(k[1]-k[3])*g}else{if(b3a.length)throw H.e(P.S(b,0,a.length,"start",null)) +if(ca.length)throw H.e(P.S(c,b,a.length,"end",null)) +if(b===c)return H.a([],[H.i(a,0)]) +return H.a(a.slice(b,c),[H.i(a,0)])}, +gaH:function(a){var u=a.length +if(u>0)return a[u-1] +throw H.e(H.nd())}, +D:function(a,b){var u +for(u=0;u=a.length||b<0)throw H.e(H.cV(a,b)) +return a[b]}, +l:function(a,b,c){if(!!a.immutable$list)H.O(P.W("indexed set")) +if(b>=a.length||b<0)throw H.e(H.cV(a,b)) +a[b]=c}, +$iB:1, +$it:1, +$il:1} +J.m4.prototype={} +J.bu.prototype={ +gn:function(){return this.d}, +m:function(){var u,t=this,s=t.a,r=s.length +if(t.b!==r)throw H.e(H.cc(s)) +u=t.c +if(u>=r){t.d=null +return!1}t.d=s[u] +t.c=u+1 +return!0}, +$iZ:1} +J.cs.prototype={ +cR:function(a){var u +if(a>=-2147483648&&a<=2147483647)return a|0 +if(isFinite(a)){u=a<0?Math.ceil(a):Math.floor(a) +return u+0}throw H.e(P.W(""+a+".toInt()"))}, +X:function(a,b){var u,t,s,r +if(b<2||b>36)throw H.e(P.S(b,2,36,"radix",null)) +u=a.toString(b) +if(C.a.v(u,u.length-1)!==41)return u +t=/^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(u) +if(t==null)H.O(P.W("Unexpected toString result: "+u)) +u=t[1] +s=+t[3] +r=t[2] +if(r!=null){u+=r +s-=r.length}return u+C.a.bd("0",s)}, +k:function(a){if(a===0&&1/a<0)return"-0.0" +else return""+a}, +gC:function(a){var u,t,s,r,q=a|0 +if(a===q)return 536870911&q +u=Math.abs(a) +t=Math.log(u)/0.6931471805599453|0 +s=Math.pow(2,t) +r=u<1?u/s:s/u +return 536870911&((r*9007199254740992|0)+(r*3542243181176521|0))*599197+t*1259}, +bc:function(a,b){var u=a%b +if(u===0)return 0 +if(u>0)return u +if(b<0)return u-b +else return u+b}, +an:function(a,b){if((a|0)===a)if(b>=1||b<-1)return a/b|0 +return this.ck(a,b)}, +cj:function(a,b){return(a|0)===a?a/b|0:this.ck(a,b)}, +ck:function(a,b){var u=a/b +if(u>=-2147483648&&u<=2147483647)return u|0 +if(u>0){if(u!==1/0)return Math.floor(u)}else if(u>-1/0)return Math.ceil(u) +throw H.e(P.W("Result of truncating division is "+H.b(u)+": "+H.b(a)+" ~/ "+b))}, +ay:function(a,b){if(b<0)throw H.e(H.al(b)) +return b>31?0:a<>>0}, +ad:function(a,b){var u +if(a>0)u=this.ci(a,b) +else{u=b>31?31:b +u=a>>u>>>0}return u}, +dJ:function(a,b){if(b<0)throw H.e(H.al(b)) +return this.ci(a,b)}, +ci:function(a,b){return b>31?0:a>>>b}, +$iw:1, +$iG:1} +J.d9.prototype={$ih:1} +J.fG.prototype={} +J.bG.prototype={ +v:function(a,b){if(b<0)throw H.e(H.cV(a,b)) +if(b>=a.length)H.O(H.cV(a,b)) +return a.charCodeAt(b)}, +G:function(a,b){if(b>=a.length)throw H.e(H.cV(a,b)) +return a.charCodeAt(b)}, +cT:function(a,b){if(typeof b!=="string")throw H.e(P.n5(b,null,null)) +return a+b}, +aw:function(a,b,c,d){var u,t +c=P.az(b,c,a.length) +u=a.substring(0,b) +t=a.substring(c) +return u+d+t}, +R:function(a,b,c){var u +if(typeof c!=="number"||Math.floor(c)!==c)H.O(H.al(c)) +if(c<0||c>a.length)throw H.e(P.S(c,0,a.length,null,null)) +u=c+b.length +if(u>a.length)return!1 +return b===a.substring(c,u)}, +S:function(a,b){return this.R(a,b,0)}, +q:function(a,b,c){if(typeof b!=="number"||Math.floor(b)!==b)H.O(H.al(b)) +if(c==null)c=a.length +if(b<0)throw H.e(P.id(b,null)) +if(b>c)throw H.e(P.id(b,null)) +if(c>a.length)throw H.e(P.id(c,null)) +return a.substring(b,c)}, +aN:function(a,b){return this.q(a,b,null)}, +eq:function(a){var u,t,s +if(typeof a.trimRight!="undefined"){u=a.trimRight() +t=u.length +if(t===0)return u +s=t-1 +if(this.v(u,s)===133)t=J.nf(u,s)}else{t=J.nf(a,a.length) +u=a}if(t===u.length)return u +if(t===0)return"" +return u.substring(0,t)}, +bd:function(a,b){var u,t +if(0>=b)return"" +if(b===1||a.length===0)return a +if(b!==b>>>0)throw H.e(C.bc) +for(u=a,t="";!0;){if((b&1)===1)t=u+t +b=b>>>1 +if(b===0)break +u+=u}return t}, +ak:function(a,b,c){var u=b-a.length +if(u<=0)return a +return this.bd(c,u)+a}, +b3:function(a,b,c){var u +if(c<0||c>a.length)throw H.e(P.S(c,0,a.length,null,null)) +u=a.indexOf(b,c) +return u}, +bC:function(a,b){return this.b3(a,b,0)}, +k:function(a){return a}, +gC:function(a){var u,t,s +for(u=a.length,t=0,s=0;s>6}t=536870911&t+((67108863&t)<<3) +t^=t>>11 +return 536870911&t+((16383&t)<<15)}, +gh:function(a){return a.length}, +$id:1} +H.kd.prototype={ +gw:function(a){return new H.e1(J.U(this.ga5()),this.$ti)}, +gh:function(a){return J.H(this.ga5())}, +gt:function(a){return J.n0(this.ga5())}, +ga2:function(a){return J.qG(this.ga5())}, +a0:function(a,b){return H.m1(J.n1(this.ga5(),b),H.i(this,0),H.i(this,1))}, +N:function(a,b){return H.aC(J.cX(this.ga5(),b),H.i(this,1))}, +D:function(a,b){return J.n_(this.ga5(),b)}, +k:function(a){return J.aa(this.ga5())}, +$at:function(a,b){return[b]}} +H.e1.prototype={ +m:function(){return this.a.m()}, +gn:function(){return H.aC(this.a.gn(),H.i(this,1))}, +$iZ:1, +$aZ:function(a,b){return[b]}} +H.cY.prototype={ +ga5:function(){return this.a}} +H.kk.prototype={$iB:1, +$aB:function(a,b){return[b]}} +H.ke.prototype={ +i:function(a,b){return H.aC(J.mY(this.a,b),H.i(this,1))}, +l:function(a,b,c){J.qE(this.a,b,H.aC(c,H.i(this,0)))}, +sh:function(a,b){J.qK(this.a,b)}, +A:function(a,b){J.lY(this.a,H.aC(b,H.i(this,0)))}, +$iB:1, +$aB:function(a,b){return[b]}, +$aJ:function(a,b){return[b]}, +$il:1, +$al:function(a,b){return[b]}} +H.cj.prototype={ +a7:function(a,b){return new H.cj(this.a,[H.i(this,0),b])}, +ga5:function(){return this.a}} +H.cZ.prototype={ +ae:function(a,b,c){return new H.cZ(this.a,[H.i(this,0),H.i(this,1),b,c])}, +u:function(a){return this.a.u(a)}, +i:function(a,b){return H.aC(this.a.i(0,b),H.i(this,3))}, +l:function(a,b,c){this.a.l(0,H.aC(b,H.i(this,0)),H.aC(c,H.i(this,1)))}, +H:function(a,b){this.a.H(0,new H.e2(this,b))}, +gI:function(){return H.m1(this.a.gI(),H.i(this,0),H.i(this,2))}, +gh:function(a){var u=this.a +return u.gh(u)}, +gt:function(a){var u=this.a +return u.gt(u)}, +$aa7:function(a,b,c,d){return[c,d]}, +$af:function(a,b,c,d){return[c,d]}} +H.e2.prototype={ +$2:function(a,b){var u=this.a +this.b.$2(H.aC(a,H.i(u,2)),H.aC(b,H.i(u,3)))}, +$S:function(){var u=this.a +return{func:1,ret:P.A,args:[H.i(u,0),H.i(u,1)]}}} +H.cl.prototype={ +gh:function(a){return this.a.length}, +i:function(a,b){return C.a.v(this.a,b)}, +$aB:function(){return[P.h]}, +$aJ:function(){return[P.h]}, +$at:function(){return[P.h]}, +$al:function(){return[P.h]}} +H.B.prototype={} +H.av.prototype={ +gw:function(a){var u=this +return new H.aJ(u,u.gh(u),[H.L(u,"av",0)])}, +gt:function(a){return this.gh(this)===0}, +D:function(a,b){var u,t=this,s=t.gh(t) +for(u=0;uu)return u +return t}, +gh:function(a){var u=J.H(this.a),t=this.b +if(t>=u)return 0 +return u-t}, +N:function(a,b){var u=this,t=u.gdK()+b +if(b<0||t>=u.gdh())throw H.e(P.d6(b,u,"index",null,null)) +return J.cX(u.a,t)}, +a0:function(a,b){var u=this +P.ay(b,"count") +return H.jx(u.a,u.b+b,u.c,H.i(u,0))}, +a4:function(a,b){var u,t,s,r=this,q=r.b,p=r.a,o=J.K(p),n=o.gh(p),m=n-q +if(m<0)m=0 +u=new Array(m) +u.fixed$length=Array +t=H.a(u,r.$ti) +for(s=0;s=q){t.d=null +return!1}t.d=r.N(s,u);++t.c +return!0}, +$iZ:1} +H.cw.prototype={ +gw:function(a){return new H.bN(J.U(this.a),this.b,this.$ti)}, +gh:function(a){return J.H(this.a)}, +gt:function(a){return J.n0(this.a)}, +N:function(a,b){return this.b.$1(J.cX(this.a,b))}, +$at:function(a,b){return[b]}} +H.d_.prototype={$iB:1, +$aB:function(a,b){return[b]}} +H.bN.prototype={ +m:function(){var u=this,t=u.b +if(t.m()){u.a=u.c.$1(t.gn()) +return!0}u.a=null +return!1}, +gn:function(){return this.a}, +$aZ:function(a,b){return[b]}} +H.aw.prototype={ +gh:function(a){return J.H(this.a)}, +N:function(a,b){return this.b.$1(J.cX(this.a,b))}, +$aB:function(a,b){return[b]}, +$aav:function(a,b){return[b]}, +$at:function(a,b){return[b]}} +H.mh.prototype={ +gw:function(a){return new H.dt(J.U(this.a),this.b,this.$ti)}, +ab:function(a,b,c){return new H.cw(this,b,[H.i(this,0),c])}} +H.dt.prototype={ +m:function(){var u,t +for(u=this.a,t=this.b;u.m();)if(t.$1(u.gn()))return!0 +return!1}, +gn:function(){return this.a.gn()}} +H.cC.prototype={ +a0:function(a,b){P.ay(b,"count") +return new H.cC(this.a,this.b+b,this.$ti)}, +gw:function(a){return new H.jl(J.U(this.a),this.b,this.$ti)}} +H.d0.prototype={ +gh:function(a){var u=J.H(this.a)-this.b +if(u>=0)return u +return 0}, +a0:function(a,b){P.ay(b,"count") +return new H.d0(this.a,this.b+b,this.$ti)}, +$iB:1} +H.jl.prototype={ +m:function(){var u,t +for(u=this.a,t=0;t>>0}, +k:function(a){var u=this.c +if(u==null)u=this.a +return"Closure '"+H.b(this.d)+"' of "+("Instance of '"+H.b(H.dg(u))+"'")}} +H.e0.prototype={ +k:function(a){return this.a}} +H.ii.prototype={ +k:function(a){return"RuntimeError: "+H.b(this.a)}} +H.dn.prototype={ +gaZ:function(){var u=this.b +return u==null?this.b=H.mz(this.a):u}, +k:function(a){return this.gaZ()}, +gC:function(a){var u=this.d +return u==null?this.d=C.a.gC(this.gaZ()):u}, +K:function(a,b){if(b==null)return!1 +return b instanceof H.dn&&this.gaZ()===b.gaZ()}, +$iah:1} +H.bH.prototype={ +gh:function(a){return this.a}, +gt:function(a){return this.a===0}, +gI:function(){return new H.b9(this,[H.i(this,0)])}, +gax:function(){var u=this,t=H.i(u,0) +return H.hE(new H.b9(u,[t]),new H.fN(u),t,H.i(u,1))}, +u:function(a){var u,t,s=this +if(typeof a==="string"){u=s.b +if(u==null)return!1 +return s.c4(u,a)}else if(typeof a==="number"&&(a&0x3ffffff)===a){t=s.c +if(t==null)return!1 +return s.c4(t,a)}else return s.e2(a)}, +e2:function(a){var u=this.d +if(u==null)return!1 +return this.bD(this.bo(u,J.ai(a)&0x3ffffff),a)>=0}, +i:function(a,b){var u,t,s,r,q=this +if(typeof b==="string"){u=q.b +if(u==null)return +t=q.aR(u,b) +s=t==null?null:t.b +return s}else if(typeof b==="number"&&(b&0x3ffffff)===b){r=q.c +if(r==null)return +t=q.aR(r,b) +s=t==null?null:t.b +return s}else return q.e3(b)}, +e3:function(a){var u,t,s=this.d +if(s==null)return +u=this.bo(s,J.ai(a)&0x3ffffff) +t=this.bD(u,a) +if(t<0)return +return u[t].b}, +l:function(a,b,c){var u,t,s,r,q,p,o=this +if(typeof b==="string"){u=o.b +o.bW(u==null?o.b=o.br():u,b,c)}else if(typeof b==="number"&&(b&0x3ffffff)===b){t=o.c +o.bW(t==null?o.c=o.br():t,b,c)}else{s=o.d +if(s==null)s=o.d=o.br() +r=J.ai(b)&0x3ffffff +q=o.bo(s,r) +if(q==null)o.bt(s,r,[o.bs(b,c)]) +else{p=o.bD(q,b) +if(p>=0)q[p].b=c +else q.push(o.bs(b,c))}}}, +bL:function(a,b){var u +if(this.u(a))return this.i(0,a) +u=b.$0() +this.l(0,a,u) +return u}, +H:function(a,b){var u=this,t=u.e,s=u.r +for(;t!=null;){b.$2(t.a,t.b) +if(s!==u.r)throw H.e(P.X(u)) +t=t.c}}, +bW:function(a,b,c){var u=this.aR(a,b) +if(u==null)this.bt(a,b,this.bs(b,c)) +else u.b=c}, +bs:function(a,b){var u=this,t=new H.hw(a,b) +if(u.e==null)u.e=u.f=t +else u.f=u.f.c=t;++u.a +u.r=u.r+1&67108863 +return t}, +bD:function(a,b){var u,t +if(a==null)return-1 +u=a.length +for(t=0;t>>0!==b||b>c)this.dt(a,b,c,d)}} +H.dc.prototype={ +gh:function(a){return a.length}, +dH:function(a,b,c,d,e){var u,t,s=a.length +this.c_(a,b,s,"start") +this.c_(a,c,s,"end") +if(b>c)throw H.e(P.S(b,0,c,null,null)) +u=c-b +if(e<0)throw H.e(P.I(e)) +t=d.length +if(t-e=4){if(n.a===8){s=o.b +s.b=n.c +s.a=!0}return}p=o.a.a +s=o.b +s.b=J.qQ(n,new P.ky(p),null) +s.a=!1}}} +P.ky.prototype={ +$1:function(a){return this.a}, +$S:22} +P.kw.prototype={ +$0:function(){var u,t,s,r,q=this +try{s=q.b +q.a.b=s.b.b.bO(s.d,q.c)}catch(r){u=H.z(r) +t=H.ao(r) +s=q.a +s.b=new P.bw(u,t) +s.a=!0}}} +P.kv.prototype={ +$0:function(){var u,t,s,r,q,p,o,n,m=this +try{u=m.a.a.c +r=m.c +if(r.e7(u)&&r.e!=null){q=m.b +q.b=r.e_(u) +q.a=!1}}catch(p){t=H.z(p) +s=H.ao(p) +r=m.a.a.c +q=r.a +o=t +n=m.b +if(q==null?o==null:q===o)n.b=r +else n.b=new P.bw(t,s) +n.a=!0}}} +P.du.prototype={} +P.jn.prototype={ +gh:function(a){var u={},t=new P.E($.p,[P.h]) +u.a=0 +this.bF(new P.js(u,this),!0,new P.jt(u,t),t.gdc()) +return t}} +P.jp.prototype={ +$1:function(a){var u=this.a +u.aP(a) +u.bj()}, +$S:function(){return{func:1,ret:P.A,args:[this.b]}}} +P.jq.prototype={ +$2:function(a,b){var u=this.a,t=u.b +if((t&1)!==0)u.aq(a,b) +else if((t&3)===0)u.aQ().A(0,new P.dx(a,b)) +u.bj()}, +$C:"$2", +$R:2, +$S:7} +P.jr.prototype={ +$0:function(){var u=this.a +return new P.kF(new J.bu(u,1,[H.i(u,0)]))}} +P.js.prototype={ +$1:function(a){++this.a.a}, +$S:function(){return{func:1,ret:P.A,args:[H.i(this.b,0)]}}} +P.jt.prototype={ +$0:function(){this.b.c0(this.a.a)}} +P.jo.prototype={} +P.dB.prototype={ +gdC:function(){if((this.b&8)===0)return this.a +return this.a.gb9()}, +aQ:function(){var u,t,s=this +if((s.b&8)===0){u=s.a +return u==null?s.a=new P.dC():u}t=s.a +t.gb9() +return t.gb9()}, +gaD:function(){if((this.b&8)!==0)return this.a.gb9() +return this.a}, +bg:function(){if((this.b&4)!==0)return new P.be("Cannot add event after closing") +return new P.be("Cannot add event while adding a stream")}, +c5:function(){var u=this.c +if(u==null)u=this.c=(this.b&2)!==0?$.dO():new P.E($.p,[null]) +return u}, +A:function(a,b){if(this.b>=4)throw H.e(this.bg()) +this.aP(b)}, +a1:function(){var u=this,t=u.b +if((t&4)!==0)return u.c5() +if(t>=4)throw H.e(u.bg()) +u.bj() +return u.c5()}, +bj:function(){var u=this.b|=4 +if((u&1)!==0)this.ap() +else if((u&3)===0)this.aQ().A(0,C.F)}, +aP:function(a){var u=this.b +if((u&1)!==0)this.ai(a) +else if((u&3)===0)this.aQ().A(0,new P.c_(a))}, +dL:function(a,b,c,d){var u,t,s,r,q=this +if((q.b&3)!==0)throw H.e(P.aM("Stream has already been listened to.")) +u=$.p +t=new P.dw(q,u,d?1:0) +t.bV(a,b,c,d) +s=q.gdC() +u=q.b|=1 +if((u&8)!==0){r=q.a +r.sb9(t) +r.al()}else q.a=t +t.cg(s) +t.bp(new P.kW(q)) +return t}, +dE:function(a){var u,t,s,r,q,p=this,o=null +if((p.b&8)!==0)o=p.a.F() +p.a=null +p.b=p.b&4294967286|2 +s=p.r +if(s!=null)if(o==null)try{o=s.$0()}catch(r){u=H.z(r) +t=H.ao(r) +q=new P.E($.p,[null]) +q.bf(u,t) +o=q}else o=o.ba(s) +s=new P.kV(p) +if(o!=null)o=o.ba(s) +else s.$0() +return o}} +P.kW.prototype={ +$0:function(){P.mp(this.a.d)}} +P.kV.prototype={ +$0:function(){var u=this.a.c +if(u!=null&&u.a===0)u.ag(null)}} +P.l_.prototype={ +ai:function(a){this.gaD().aP(a)}, +aq:function(a,b){this.gaD().d5(a,b)}, +ap:function(){this.gaD().da()}} +P.k9.prototype={ +ai:function(a){this.gaD().az(new P.c_(a))}, +ap:function(){this.gaD().az(C.F)}} +P.dv.prototype={} +P.dE.prototype={} +P.bi.prototype={ +bl:function(a,b,c,d){return this.a.dL(a,b,c,d)}, +gC:function(a){return(H.bb(this.a)^892482866)>>>0}, +K:function(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof P.bi&&b.a===this.a}} +P.dw.prototype={ +cb:function(){return this.x.dE(this)}, +aV:function(){var u=this.x +if((u.b&8)!==0)u.a.aK() +P.mp(u.e)}, +aW:function(){var u=this.x +if((u.b&8)!==0)u.a.al() +P.mp(u.f)}} +P.cF.prototype={ +bV:function(a,b,c,d){var u,t=this +t.a=a +u=b==null?P.tW():b +if(H.ca(u,{func:1,ret:-1,args:[P.c,P.a1]}))t.b=t.d.bN(u) +else if(H.ca(u,{func:1,ret:-1,args:[P.c]}))t.b=u +else H.O(P.I("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.")) +t.c=c}, +cg:function(a){var u=this +if(a==null)return +u.r=a +if(!a.gt(a)){u.e=(u.e|64)>>>0 +u.r.aM(u)}}, +cK:function(a){var u,t,s=this,r=s.e +if((r&8)!==0)return +u=(r+128|4)>>>0 +s.e=u +if(r<128&&s.r!=null){t=s.r +if(t.a===1)t.a=3}if((r&4)===0&&(u&32)===0)s.bp(s.gcc())}, +aK:function(){return this.cK(null)}, +al:function(){var u=this,t=u.e +if((t&8)!==0)return +if(t>=128){t=u.e=t-128 +if(t<128){if((t&64)!==0){t=u.r +t=!t.gt(t)}else t=!1 +if(t)u.r.aM(u) +else{t=(u.e&4294967291)>>>0 +u.e=t +if((t&32)===0)u.bp(u.gcd())}}}}, +F:function(){var u=this,t=(u.e&4294967279)>>>0 +u.e=t +if((t&8)===0)u.bh() +t=u.f +return t==null?$.dO():t}, +bh:function(){var u,t=this,s=t.e=(t.e|8)>>>0 +if((s&64)!==0){u=t.r +if(u.a===1)u.a=3}if((s&32)===0)t.r=null +t.f=t.cb()}, +aP:function(a){var u=this.e +if((u&8)!==0)return +if(u<32)this.ai(a) +else this.az(new P.c_(a))}, +d5:function(a,b){var u=this.e +if((u&8)!==0)return +if(u<32)this.aq(a,b) +else this.az(new P.dx(a,b))}, +da:function(){var u=this,t=u.e +if((t&8)!==0)return +t=(t|2)>>>0 +u.e=t +if(t<32)u.ap() +else u.az(C.F)}, +aV:function(){}, +aW:function(){}, +cb:function(){return}, +az:function(a){var u,t=this,s=t.r;(s==null?t.r=new P.dC():s).A(0,a) +u=t.e +if((u&64)===0){u=(u|64)>>>0 +t.e=u +if(u<128)t.r.aM(t)}}, +ai:function(a){var u=this,t=u.e +u.e=(t|32)>>>0 +u.d.cP(u.a,a) +u.e=(u.e&4294967263)>>>0 +u.bi((t&4)!==0)}, +aq:function(a,b){var u=this,t=u.e,s=new P.kc(u,a,b) +if((t&1)!==0){u.e=(t|16)>>>0 +u.bh() +t=u.f +if(t!=null&&t!==$.dO())t.ba(s) +else s.$0()}else{s.$0() +u.bi((t&4)!==0)}}, +ap:function(){var u,t=this,s=new P.kb(t) +t.bh() +t.e=(t.e|16)>>>0 +u=t.f +if(u!=null&&u!==$.dO())u.ba(s) +else s.$0()}, +bp:function(a){var u=this,t=u.e +u.e=(t|32)>>>0 +a.$0() +u.e=(u.e&4294967263)>>>0 +u.bi((t&4)!==0)}, +bi:function(a){var u,t,s=this +if((s.e&64)!==0){u=s.r +u=u.gt(u)}else u=!1 +if(u){u=s.e=(s.e&4294967231)>>>0 +if((u&4)!==0)if(u<128){u=s.r +u=u==null||u.gt(u)}else u=!1 +else u=!1 +if(u)s.e=(s.e&4294967291)>>>0}for(;!0;a=t){u=s.e +if((u&8)!==0)return s.r=null +t=(u&4)!==0 +if(a===t)break +s.e=(u^32)>>>0 +if(t)s.aV() +else s.aW() +s.e=(s.e&4294967263)>>>0}u=s.e +if((u&64)!==0&&u<128)s.r.aM(s)}} +P.kc.prototype={ +$0:function(){var u,t,s=this.a,r=s.e +if((r&8)!==0&&(r&16)===0)return +s.e=(r|32)>>>0 +u=s.b +r=this.b +t=s.d +if(H.ca(u,{func:1,ret:-1,args:[P.c,P.a1]}))t.ej(u,r,this.c) +else t.cP(s.b,r) +s.e=(s.e&4294967263)>>>0}} +P.kb.prototype={ +$0:function(){var u=this.a,t=u.e +if((t&16)===0)return +u.e=(t|42)>>>0 +u.d.cO(u.c) +u.e=(u.e&4294967263)>>>0}} +P.kX.prototype={ +bF:function(a,b,c,d){return this.bl(a,d,c,!0===b)}, +bE:function(a,b,c){return this.bF(a,null,b,c)}, +e5:function(a,b){return this.bF(a,null,b,null)}, +bl:function(a,b,c,d){return P.nJ(a,b,c,d)}} +P.kz.prototype={ +bl:function(a,b,c,d){var u +if(this.b)throw H.e(P.aM("Stream has already been listened to.")) +this.b=!0 +u=P.nJ(a,b,c,d) +u.cg(this.a.$0()) +return u}} +P.kF.prototype={ +gt:function(a){return this.b==null}, +cA:function(a){var u,t,s,r,q=this,p=q.b +if(p==null)throw H.e(P.aM("No events pending.")) +u=null +try{u=p.m() +if(u)a.ai(q.b.gn()) +else{q.b=null +a.ap()}}catch(r){t=H.z(r) +s=H.ao(r) +if(u==null){q.b=C.Z +a.aq(t,s)}else a.aq(t,s)}}} +P.kj.prototype={ +gau:function(){return this.a}, +sau:function(a){return this.a=a}} +P.c_.prototype={ +bJ:function(a){a.ai(this.b)}} +P.dx.prototype={ +bJ:function(a){a.aq(this.b,this.c)}} +P.ki.prototype={ +bJ:function(a){a.ap()}, +gau:function(){return}, +sau:function(a){throw H.e(P.aM("No events after a done."))}} +P.kN.prototype={ +aM:function(a){var u=this,t=u.a +if(t===1)return +if(t>=1){u.a=1 +return}P.os(new P.kO(u,a)) +u.a=1}} +P.kO.prototype={ +$0:function(){var u=this.a,t=u.a +u.a=0 +if(t===3)return +u.cA(this.b)}} +P.dC.prototype={ +gt:function(a){return this.c==null}, +A:function(a,b){var u=this,t=u.c +if(t==null)u.b=u.c=b +else{t.sau(b) +u.c=b}}, +cA:function(a){var u=this.b,t=u.gau() +this.b=t +if(t==null)this.c=null +u.bJ(a)}} +P.kY.prototype={} +P.bw.prototype={ +k:function(a){return H.b(this.a)}, +$ib3:1} +P.l6.prototype={} +P.ll.prototype={ +$0:function(){var u,t=this.a,s=t.a +t=s==null?t.a=new P.cA():s +s=this.b +if(s==null)throw H.e(t) +u=H.e(t) +u.stack=s.k(0) +throw u}} +P.kP.prototype={ +cO:function(a){var u,t,s,r=null +try{if(C.f===$.p){a.$0() +return}P.nZ(r,r,this,a)}catch(s){u=H.z(s) +t=H.ao(s) +P.c7(r,r,this,u,t)}}, +el:function(a,b){var u,t,s,r=null +try{if(C.f===$.p){a.$1(b) +return}P.o0(r,r,this,a,b)}catch(s){u=H.z(s) +t=H.ao(s) +P.c7(r,r,this,u,t)}}, +cP:function(a,b){return this.el(a,b,null)}, +ei:function(a,b,c){var u,t,s,r=null +try{if(C.f===$.p){a.$2(b,c) +return}P.o_(r,r,this,a,b,c)}catch(s){u=H.z(s) +t=H.ao(s) +P.c7(r,r,this,u,t)}}, +ej:function(a,b,c){return this.ei(a,b,c,null,null)}, +dO:function(a){return new P.kR(this,a)}, +dN:function(a){return this.dO(a,null)}, +co:function(a){return new P.kQ(this,a)}, +ef:function(a){if($.p===C.f)return a.$0() +return P.nZ(null,null,this,a)}, +cN:function(a){return this.ef(a,null)}, +ek:function(a,b){if($.p===C.f)return a.$1(b) +return P.o0(null,null,this,a,b)}, +bO:function(a,b){return this.ek(a,b,null,null)}, +eh:function(a,b,c){if($.p===C.f)return a.$2(b,c) +return P.o_(null,null,this,a,b,c)}, +eg:function(a,b,c){return this.eh(a,b,c,null,null,null)}, +ec:function(a){return a}, +bN:function(a){return this.ec(a,null,null,null)}} +P.kR.prototype={ +$0:function(){return this.a.cN(this.b)}} +P.kQ.prototype={ +$0:function(){return this.a.cO(this.b)}} +P.kB.prototype={ +gh:function(a){return this.a}, +gt:function(a){return this.a===0}, +gI:function(){return new P.kC(this,[H.i(this,0)])}, +u:function(a){var u,t +if(typeof a==="string"&&a!=="__proto__"){u=this.b +return u==null?!1:u[a]!=null}else if(typeof a==="number"&&(a&1073741823)===a){t=this.c +return t==null?!1:t[a]!=null}else return this.df(a)}, +df:function(a){var u=this.d +if(u==null)return!1 +return this.ah(this.aB(u,a),a)>=0}, +i:function(a,b){var u,t,s +if(typeof b==="string"&&b!=="__proto__"){u=this.b +t=u==null?null:P.nL(u,b) +return t}else if(typeof b==="number"&&(b&1073741823)===b){s=this.c +t=s==null?null:P.nL(s,b) +return t}else return this.dj(b)}, +dj:function(a){var u,t,s=this.d +if(s==null)return +u=this.aB(s,a) +t=this.ah(u,a) +return t<0?null:u[t+1]}, +l:function(a,b,c){var u,t,s,r,q,p=this +if(typeof b==="string"&&b!=="__proto__"){u=p.b +p.d6(u==null?p.b=P.nM():u,b,c)}else{t=p.d +if(t==null)t=p.d=P.nM() +s=H.om(b)&1073741823 +r=t[s] +if(r==null){P.mi(t,s,[b,c]);++p.a +p.e=null}else{q=p.ah(r,b) +if(q>=0)r[q+1]=c +else{r.push(b,c);++p.a +p.e=null}}}}, +H:function(a,b){var u,t,s,r=this,q=r.c3() +for(u=q.length,t=0;t=t.length){u.d=null +return!1}else{u.d=t[s] +u.c=s+1 +return!0}}, +$iZ:1} +P.c2.prototype={ +gw:function(a){var u=this,t=new P.kL(u,u.r,u.$ti) +t.c=u.e +return t}, +gh:function(a){return this.a}, +gt:function(a){return this.a===0}, +ga2:function(a){return this.a!==0}, +D:function(a,b){var u,t +if(typeof b==="string"&&b!=="__proto__"){u=this.b +if(u==null)return!1 +return u[b]!=null}else if(typeof b==="number"&&(b&1073741823)===b){t=this.c +if(t==null)return!1 +return t[b]!=null}else return this.de(b)}, +de:function(a){var u=this.d +if(u==null)return!1 +return this.ah(this.aB(u,a),a)>=0}, +A:function(a,b){var u,t,s=this +if(typeof b==="string"&&b!=="__proto__"){u=s.b +return s.bY(u==null?s.b=P.mj():u,b)}else if(typeof b==="number"&&(b&1073741823)===b){t=s.c +return s.bY(t==null?s.c=P.mj():t,b)}else return s.d4(b)}, +d4:function(a){var u,t,s=this,r=s.d +if(r==null)r=s.d=P.mj() +u=s.c2(a) +t=r[u] +if(t==null)r[u]=[s.bk(a)] +else{if(s.ah(t,a)>=0)return!1 +t.push(s.bk(a))}return!0}, +ed:function(a,b){var u=this +if(typeof b==="string"&&b!=="__proto__")return u.cf(u.b,b) +else if(typeof b==="number"&&(b&1073741823)===b)return u.cf(u.c,b) +else return u.dF(b)}, +dF:function(a){var u,t,s=this,r=s.d +if(r==null)return!1 +u=s.aB(r,a) +t=s.ah(u,a) +if(t<0)return!1 +s.cm(u.splice(t,1)[0]) +return!0}, +di:function(a,b){var u,t,s,r,q=this,p=q.e +for(;p!=null;p=t){u=p.a +t=p.b +s=q.r +r=a.$1(u) +if(s!==q.r)throw H.e(P.X(q)) +if(!1===r)q.ed(0,u)}}, +cp:function(a){var u=this +if(u.a>0){u.b=u.c=u.d=u.e=u.f=null +u.a=0 +u.bq()}}, +bY:function(a,b){if(a[b]!=null)return!1 +a[b]=this.bk(b) +return!0}, +cf:function(a,b){var u +if(a==null)return!1 +u=a[b] +if(u==null)return!1 +this.cm(u) +delete a[b] +return!0}, +bq:function(){this.r=1073741823&this.r+1}, +bk:function(a){var u,t=this,s=new P.kK(a) +if(t.e==null)t.e=t.f=s +else{u=t.f +s.c=u +t.f=u.b=s}++t.a +t.bq() +return s}, +cm:function(a){var u=this,t=a.c,s=a.b +if(t==null)u.e=s +else t.b=s +if(s==null)u.f=t +else s.c=t;--u.a +u.bq()}, +c2:function(a){return J.ai(a)&1073741823}, +aB:function(a,b){return a[this.c2(b)]}, +ah:function(a,b){var u,t +if(a==null)return-1 +u=a.length +for(t=0;tr.gh(s))throw H.e(H.ro()) +if(t=0;--q)p.l(a,b+q,r.i(s,t+q)) +else for(q=0;q=0){k=C.a.v("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j) +if(k===m)continue +m=k}else{if(j===-1){if(q<0){i=r==null?null:r.a.length +if(i==null)i=0 +q=i+(t-s) +p=t}++o +if(m===61)continue}m=k}if(j!==-2){if(r==null)r=new P.N("") +r.a+=C.a.q(a,s,t) +r.a+=H.mb(m) +s=n +continue}}throw H.e(P.y("Invalid base64 data",a,t))}if(r!=null){i=r.a+=C.a.q(a,s,c) +h=i.length +if(q>=0)P.n6(a,p,c,q,o,h) +else{g=C.c.bc(h-1,4)+1 +if(g===1)throw H.e(P.y(e,a,c)) +for(;g<4;){i+="=" +r.a=i;++g}}i=r.a +return C.a.aw(a,b,c,i.charCodeAt(0)==0?i:i)}f=c-b +if(q>=0)P.n6(a,p,c,q,o,f) +else{g=C.c.bc(f,4) +if(g===1)throw H.e(P.y(e,a,c)) +if(g>1)a=C.a.aw(a,c,c,g===2?"==":"=")}return a}} +P.dY.prototype={} +P.dX.prototype={ +dS:function(a,b){var u,t,s,r=P.az(b,null,a.length) +if(b===r)return new Uint8Array(0) +u=new P.ka() +t=u.dU(a,b,r) +s=u.a +if(s<-1)H.O(P.y("Missing padding character",a,r)) +if(s>0)H.O(P.y("Invalid length, must be multiple of four",a,r)) +u.a=-1 +return t}} +P.ka.prototype={ +dU:function(a,b,c){var u,t=this,s=t.a +if(s<0){t.a=P.nI(a,b,c,s) +return}if(b===c)return new Uint8Array(0) +u=P.t7(a,b,c,s) +t.a=P.t9(a,b,c,u,0,t.a) +return u}} +P.e_.prototype={} +P.e3.prototype={} +P.kT.prototype={} +P.e5.prototype={} +P.eh.prototype={} +P.eS.prototype={} +P.fP.prototype={ +dT:function(a){var u=P.nY(a,this.gct().a) +return u}, +gct:function(){return C.bw}} +P.fQ.prototype={} +P.ju.prototype={} +P.jv.prototype={} +P.dD.prototype={ +a1:function(){}} +P.l5.prototype={ +a1:function(){this.a.dX() +this.b.a1()}} +P.jM.prototype={} +P.jN.prototype={ +dR:function(a){var u,t,s,r,q,p,o,n,m=P.rZ(!1,a,0,null) +if(m!=null)return m +u=P.az(0,null,J.H(a)) +t=P.o2(a,0,u) +if(t>0){s=P.mf(a,0,t) +if(t===u)return s +r=new P.N(s) +q=t +p=!1}else{q=0 +r=null +p=!0}if(r==null)r=new P.N("") +o=new P.dH(!1,r) +o.c=p +o.cs(a,q,u) +o.cw(a,u) +n=r.a +return n.charCodeAt(0)==0?n:n}} +P.dH.prototype={ +cw:function(a,b){var u +if(this.e>0){u=P.y("Unfinished UTF-8 octet sequence",a,b) +throw H.e(u)}}, +dX:function(){return this.cw(null,null)}, +cs:function(a,b,c){var u,t,s,r,q,p,o,n,m,l=this,k="Bad UTF-8 encoding 0x",j=l.d,i=l.e,h=l.f +l.f=l.e=l.d=0 +$label0$0:for(u=J.K(a),t=l.b,s=b;!0;s=n){$label1$1:if(i>0){do{if(s===c)break $label0$0 +r=u.i(a,s) +if((r&192)!==128){q=P.y(k+C.c.X(r,16),a,s) +throw H.e(q)}else{j=(j<<6|r&63)>>>0;--i;++s}}while(i>0) +if(j<=C.bz[h-1]){q=P.y("Overlong encoding of 0x"+C.c.X(j,16),a,s-h-1) +throw H.e(q)}if(j>1114111){q=P.y("Character outside valid Unicode range: 0x"+C.c.X(j,16),a,s-h-1) +throw H.e(q)}if(!l.c||j!==65279)t.a+=H.mb(j) +l.c=!1}for(q=s0){l.c=!1 +o=s+p +t.a+=P.mf(a,s,o) +if(o===c)break}else o=s +n=o+1 +r=u.i(a,o) +if(r<0){m=P.y("Negative UTF-8 code unit: -0x"+C.c.X(-r,16),a,n-1) +throw H.e(m)}else{if((r&224)===192){j=r&31 +i=1 +h=1 +continue $label0$0}if((r&240)===224){j=r&15 +i=2 +h=2 +continue $label0$0}if((r&248)===240&&r<245){j=r&7 +i=3 +h=3 +continue $label0$0}m=P.y(k+C.c.X(r,16),a,n-1) +throw H.e(m)}}break $label0$0}if(i>0){l.d=j +l.e=i +l.f=h}}} +P.i1.prototype={ +$2:function(a,b){var u,t=this.b,s=this.a +t.a+=s.a +u=t.a+=H.b(a.a) +t.a=u+": " +t.a+=P.cn(b) +s.a=", "}} +P.aT.prototype={} +P.cm.prototype={ +K:function(a,b){if(b==null)return!1 +return b instanceof P.cm&&this.a===b.a&&this.b===b.b}, +gC:function(a){var u=this.a +return(u^C.c.ad(u,30))&1073741823}, +eo:function(){var u,t +if(this.b)return this +u=this.a +if(Math.abs(u)<=864e13)t=!1 +else t=!0 +if(t)H.O(P.I("DateTime is outside valid range: "+u)) +return new P.cm(u,!0)}, +k:function(a){var u=this,t=P.na(H.df(u)),s=P.aq(H.nu(u)),r=P.aq(H.nq(u)),q=P.aq(H.nr(u)),p=P.aq(H.nt(u)),o=P.aq(H.nv(u)),n=P.nb(H.ns(u)) +if(u.b)return t+"-"+s+"-"+r+" "+q+":"+p+":"+o+"."+n+"Z" +else return t+"-"+s+"-"+r+" "+q+":"+p+":"+o+"."+n}, +en:function(){var u=this,t=H.df(u)>=-9999&&H.df(u)<=9999?P.na(H.df(u)):P.rd(H.df(u)),s=P.aq(H.nu(u)),r=P.aq(H.nq(u)),q=P.aq(H.nr(u)),p=P.aq(H.nt(u)),o=P.aq(H.nv(u)),n=P.nb(H.ns(u)) +if(u.b)return t+"-"+s+"-"+r+"T"+q+":"+p+":"+o+"."+n+"Z" +else return t+"-"+s+"-"+r+"T"+q+":"+p+":"+o+"."+n}} +P.w.prototype={} +P.b3.prototype={} +P.cA.prototype={ +k:function(a){return"Throw of null."}} +P.ab.prototype={ +gbn:function(){return"Invalid argument"+(!this.a?"(s)":"")}, +gbm:function(){return""}, +k:function(a){var u,t,s,r,q=this,p=q.c,o=p!=null?" ("+p+")":"" +p=q.d +u=p==null?"":": "+H.b(p) +t=q.gbn()+o+u +if(!q.a)return t +s=q.gbm() +r=P.cn(q.b) +return t+s+": "+r}} +P.bU.prototype={ +gbn:function(){return"RangeError"}, +gbm:function(){var u,t,s=this.e +if(s==null){s=this.f +u=s!=null?": Not less than or equal to "+H.b(s):""}else{t=this.f +if(t==null)u=": Not greater than or equal to "+H.b(s) +else if(t>s)u=": Not in range "+H.b(s)+".."+H.b(t)+", inclusive" +else u=tf.length +else i=!1 +if(i)g=null +if(g==null){u=f.length>78?C.a.q(f,0,75)+"...":f +return h+"\n"+u}for(t=1,s=0,r=!1,q=0;q1?h+(" (at line "+t+", character "+(g-s+1)+")\n"):h+(" (at character "+(g+1)+")\n") +o=f.length +for(q=g;q78)if(g-s<75){n=s+75 +m=s +l="" +k="..."}else{if(o-g<75){m=o-75 +n=o +k=""}else{m=g-36 +n=g+36 +k="..."}l="..."}else{n=o +m=s +l="" +k=""}j=C.a.q(f,m,n) +return h+l+j+k+"\n"+C.a.bd(" ",g-m+l.length)+"^\n"}else return g!=null?h+(" (at offset "+H.b(g)+")"):h}, +$iar:1} +P.bB.prototype={} +P.h.prototype={} +P.t.prototype={ +a7:function(a,b){return H.m1(this,H.L(this,"t",0),b)}, +ab:function(a,b,c){return H.hE(this,b,H.L(this,"t",0),c)}, +D:function(a,b){var u +for(u=this.gw(this);u.m();)if(J.a5(u.gn(),b))return!0 +return!1}, +a4:function(a,b){return P.ni(this,!1,H.L(this,"t",0))}, +gh:function(a){var u,t=this.gw(this) +for(u=0;t.m();)++u +return u}, +gt:function(a){return!this.gw(this).m()}, +ga2:function(a){return!this.gt(this)}, +a0:function(a,b){return H.ny(this,b,H.L(this,"t",0))}, +N:function(a,b){var u,t,s +P.ay(b,"index") +for(u=this.gw(this),t=0;u.m();){s=u.gn() +if(b===t)return s;++t}throw H.e(P.d6(b,this,"index",null,t))}, +k:function(a){return P.rn(this,"(",")")}} +P.kA.prototype={ +N:function(a,b){var u=this.a +if(0>b||b>=u)H.O(P.d6(b,this,"index",null,u)) +return this.b.$1(b)}, +gh:function(a){return this.a}} +P.Z.prototype={} +P.l.prototype={$iB:1,$it:1} +P.f.prototype={} +P.cv.prototype={ +k:function(a){return"MapEntry("+H.b(this.a)+": "+H.b(this.b)+")"}} +P.A.prototype={ +gC:function(a){return P.c.prototype.gC.call(this,this)}, +k:function(a){return"null"}} +P.G.prototype={} +P.c.prototype={constructor:P.c,$ic:1, +K:function(a,b){return this===b}, +gC:function(a){return H.bb(this)}, +k:function(a){return"Instance of '"+H.b(H.dg(this))+"'"}, +b6:function(a,b){throw H.e(P.nn(this,b.gcH(),b.gcL(),b.gcI()))}, +toString:function(){return this.k(this)}} +P.dl.prototype={} +P.a1.prototype={} +P.d.prototype={} +P.N.prototype={ +gh:function(a){return this.a.length}, +k:function(a){var u=this.a +return u.charCodeAt(0)==0?u:u}} +P.me.prototype={} +P.bV.prototype={} +P.ah.prototype={} +P.bY.prototype={} +P.jJ.prototype={ +$2:function(a,b){throw H.e(P.y("Illegal IPv4 address, "+a,this.a,b))}} +P.jK.prototype={ +$2:function(a,b){throw H.e(P.y("Illegal IPv6 address, "+a,this.a,b))}, +$1:function(a){return this.$2(a,null)}} +P.jL.prototype={ +$2:function(a,b){var u +if(b-a>4)this.a.$2("an IPv6 part can only contain a maximum of 4 hex digits",a) +u=P.aV(C.a.q(this.b,a,b),null,16) +if(u<0||u>65535)this.a.$2("each part must be in the range of `0x0..0xFFFF`",a) +return u}} +P.dG.prototype={ +gcS:function(){return this.b}, +gbB:function(){var u=this.c +if(u==null)return"" +if(C.a.S(u,"["))return C.a.q(u,1,u.length-1) +return u}, +gbK:function(){var u=this.d +if(u==null)return P.nN(this.a) +return u}, +gcM:function(){var u=this.f +return u==null?"":u}, +gcz:function(){var u=this.r +return u==null?"":u}, +gcC:function(){return this.a.length!==0}, +gby:function(){return this.c!=null}, +gbA:function(){return this.f!=null}, +gbz:function(){return this.r!=null}, +gcB:function(){return C.a.S(this.e,"/")}, +k:function(a){var u,t,s,r=this,q=r.y +if(q==null){q=r.a +u=q.length!==0?q+":":"" +t=r.c +s=t==null +if(!s||q==="file"){q=u+"//" +u=r.b +if(u.length!==0)q=q+H.b(u)+"@" +if(!s)q+=t +u=r.d +if(u!=null)q=q+":"+H.b(u)}else q=u +q+=r.e +u=r.f +if(u!=null)q=q+"?"+u +u=r.r +if(u!=null)q=q+"#"+u +q=r.y=q.charCodeAt(0)==0?q:q}return q}, +K:function(a,b){var u,t,s=this +if(b==null)return!1 +if(s===b)return!0 +if(!!J.m(b).$ibY)if(s.a===b.gbU())if(s.c!=null===b.gby())if(s.b==b.gcS())if(s.gbB()==b.gbB())if(s.gbK()==b.gbK())if(s.e===b.gcJ()){u=s.f +t=u==null +if(!t===b.gbA()){if(t)u="" +if(u===b.gcM()){u=s.r +t=u==null +if(!t===b.gbz()){if(t)u="" +u=u===b.gcz()}else u=!1}else u=!1}else u=!1}else u=!1 +else u=!1 +else u=!1 +else u=!1 +else u=!1 +else u=!1 +else u=!1 +return u}, +gC:function(a){var u=this.z +return u==null?this.z=C.a.gC(this.k(0)):u}, +$ibY:1, +gbU:function(){return this.a}, +gcJ:function(){return this.e}} +P.l4.prototype={ +$1:function(a){throw H.e(P.y("Invalid port",this.a,this.b+1))}} +P.jH.prototype={ +gb8:function(a){var u,t,s,r,q=this,p=null,o=q.c +if(o!=null)return o +o=q.a +u=q.b[0]+1 +t=C.a.b3(o,"?",u) +s=o.length +if(t>=0){r=P.cN(o,t+1,s,C.x,!1) +s=t}else r=p +return q.c=new P.kh("data",p,p,p,P.cN(o,u,s,C.ak,!1),r,p)}, +gat:function(){var u=this.b,t=u[0]+1,s=u[1] +if(t===s)return"text/plain" +return P.tq(this.a,t,s,C.a4,!1)}, +cr:function(){var u,t,s,r,q,p,o,n,m=this.a,l=this.b,k=C.d.gaH(l)+1 +if((l.length&1)===1)return C.b4.dS(m,k) +l=m.length +u=l-k +for(t=k;t=0){p=r+1 +s[r]=n +t=o +r=p +continue}}throw H.e(P.y("Invalid percent escape",m,t))}r=p}return s}, +k:function(a){var u=this.a +return this.b[0]===-1?"data:"+u:u}} +P.lc.prototype={ +$1:function(a){return new Uint8Array(96)}, +$S:19} +P.lb.prototype={ +$2:function(a,b){var u=this.a[a] +J.qF(u,0,96,b) +return u}, +$S:18} +P.ld.prototype={ +$3:function(a,b,c){var u,t +for(u=b.length,t=0;t>>0]=c}} +P.kU.prototype={ +gcC:function(){return this.b>0}, +gby:function(){return this.c>0}, +gbA:function(){return this.ft?C.a.q(this.a,t,u-1):""}, +gbB:function(){var u=this.c +return u>0?C.a.q(this.a,u,this.d):""}, +gbK:function(){var u=this +if(u.c>0&&u.d+1u)b.j($.pO(),H.a([n,u],[P.c]),"count") +u=o.f +t=u.d +u.f=p.i(0,t) +m.push("indices") +s=o.e +o=s.d +if(o!==-1){p=s.r=p.i(0,o) +if(p==null)b.j($.D(),H.a([o],[P.c]),q) +else{p.O(C.v,q,b) +if(s.r.Q!==-1)b.p($.lV(),q) +p=s.f +if(p!==-1)M.aG(s.e,Z.am(p),Z.am(p)*n,s.r,o,b)}}m.pop() +m.push("values") +if(t!==-1){p=u.f +if(p==null)b.j($.D(),H.a([t],[P.c]),q) +else{p.O(C.v,q,b) +if(u.f.Q!==-1)b.p($.lV(),q) +p=r.dy +o=C.k.i(0,r.ch) +if(o==null)o=0 +M.aG(u.e,p,p*o*n,u.f,t,b)}}m.pop() +m.pop()}}, +O:function(a,b,c){var u +this.c=!0 +u=this.k2 +if(u==null)this.k2=a +else if(u!==a)c.j($.pd(),H.a([u,a],[P.c]),b)}, +es:function(a){var u=this.k1 +if(u==null)this.k1=a +else if(u!==a)return!1 +return!0}, +ea:function(a){var u,t,s=this +if(!s.cx||5126===s.z){a.toString +return a}u=s.dy*8 +t=s.z +if(t===5120||t===5122||t===5124)return Math.max(a/(C.c.ay(1,u-1)-1),-1) +else return a/(C.c.ay(1,u)-1)}} +M.jY.prototype={ +ac:function(){return this.cW()}, +cW:function(){var u=this +return P.aS(function(){var t=0,s=2,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b +return function $async$ac(a,a0){if(a===1){r=a0 +t=s}while(true)switch(t){case 0:b=u.z +if(b===-1||u.Q===-1||u.ch==null){t=1 +break}q=u.ga8() +p=u.Q +o=u.fr +if(o!=null){o=o.cx +if((o==null?null:o.Q)==null){t=1 +break}if(u.gaj()p){t=1 +break}p=o.e +o=p.e +g=p.f +if(M.aG(o,Z.am(g),Z.am(g)*h,p.r,null,null)){f=u.dy +e=C.k.i(0,u.ch) +if(e==null)e=0 +e=!M.aG(m,f,f*e*h,n.f,null,null) +f=e}else f=!0 +if(f){t=1 +break}p=p.r +d=M.lZ(g,p.cx.Q.buffer,p.y+o,h) +n=n.f +c=M.n4(b,n.cx.Q.buffer,n.y+m,h*q) +if(d==null||c==null){t=1 +break}i=new M.k3(u,d,i,q,c).$0()}t=3 +return P.kG(i) +case 3:case 1:return P.aO() +case 2:return P.aP(r)}}},P.h)}, +bb:function(){var u=this +return P.aS(function(){var t=0,s=1,r,q,p,o,n +return function $async$bb(a,b){if(a===1){r=b +t=s}while(true)switch(t){case 0:o=u.dy*8 +n=u.z +n=n===5120||n===5122||n===5124 +q=P.w +t=n?2:4 +break +case 2:n=C.c.ay(1,o-1) +p=u.ac() +p.toString +t=5 +return P.kG(H.hE(p,new M.jZ(1/(n-1)),H.L(p,"t",0),q)) +case 5:t=3 +break +case 4:n=C.c.ay(1,o) +p=u.ac() +p.toString +t=6 +return P.kG(H.hE(p,new M.k_(1/(n-1)),H.L(p,"t",0),q)) +case 6:case 3:return P.aO() +case 1:return P.aP(r)}}},P.w)}, +$aQ:function(){return[P.h]}} +M.k0.prototype={ +$0:function(){var u=this +return P.aS(function(){var t=0,s=1,r,q,p,o,n,m,l,k,j +return function $async$$0(a,b){if(a===1){r=b +t=s}while(true)switch(t){case 0:q=u.a,p=u.c,o=u.b,n=u.d,m=u.e,l=0,k=0,j=0 +case 2:if(!(lp){t=1 +break}p=o.e +o=p.e +g=p.f +if(M.aG(o,Z.am(g),Z.am(g)*h,p.r,null,null)){f=u.dy +e=C.k.i(0,u.ch) +if(e==null)e=0 +e=!M.aG(m,f,f*e*h,n.f,null,null) +f=e}else f=!0 +if(f){t=1 +break}p=p.r +d=M.lZ(g,p.cx.Q.buffer,p.y+o,h) +n=n.f +c=M.n3(b,n.cx.Q.buffer,n.y+m,h*q) +if(d==null||c==null){t=1 +break}i=new M.jX(u,d,i,q,c).$0()}t=3 +return P.kG(i) +case 3:case 1:return P.aO() +case 2:return P.aP(r)}}},P.w)}, +bb:function(){return this.ac()}, +$aQ:function(){return[P.w]}} +M.jU.prototype={ +$0:function(){var u=this +return P.aS(function(){var t=0,s=1,r,q,p,o,n,m,l,k,j +return function $async$$0(a,b){if(a===1){r=b +t=s}while(true)switch(t){case 0:q=u.a,p=u.c,o=u.b,n=u.d,m=u.e,l=0,k=0,j=0 +case 2:if(!(ld)t.b[c]=d +if(d0){n=$.mD() +m=q+"/min/"+o +a.j(n,H.a([r[o],s[o]],p),m)}}return!0}, +$aY:function(){return[P.w]}} +M.hG.prototype={ +W:function(a,b,c,d){var u,t=this +if(b===c||t.b[c]t.c[c]){u=t.a +u[c]=u[c]+1}return!0}, +as:function(a){var u,t,s,r,q,p,o,n,m,l=this +for(u=l.b,t=u.length,s=l.c,r=l.a,q=l.d,p=[P.c],o=0;o0){n=$.mC() +m=q+"/max/"+o +a.j(n,H.a([r[o],s[o]],p),m)}}return!0}, +$aY:function(){return[P.w]}} +M.hT.prototype={ +W:function(a,b,c,d){var u,t=this +if(b===c||t.b[c]>d)t.b[c]=d +if(d0){n=$.mD() +m=q+"/min/"+o +a.j(n,H.a([r[o],s[o]],p),m)}}return!0}, +$aY:function(){return[P.h]}} +M.hH.prototype={ +W:function(a,b,c,d){var u,t=this +if(b===c||t.b[c]t.c[c]){u=t.a +u[c]=u[c]+1}return!0}, +as:function(a){var u,t,s,r,q,p,o,n,m,l=this +for(u=l.b,t=u.length,s=l.c,r=l.a,q=l.d,p=[P.c],o=0;o0){n=$.mC() +m=q+"/max/"+o +a.j(n,H.a([r[o],s[o]],p),m)}}return!0}, +$aY:function(){return[P.h]}} +Z.aZ.prototype={ +E:function(a,b){var u,t,s,r,q,p=this,o="samplers",n=p.y +if(n==null||p.x==null)return +u=b.c +u.push(o) +n.aa(new Z.dU(b,a)) +u.pop() +u.push("channels") +p.x.aa(new Z.dV(p,b,a)) +u.pop() +u.push(o) +for(t=n.b,n=n.a,s=n.length,r=0;r=s +if(!(q?null:n[r]).c)b.V($.dP(),r)}u.pop()}} +Z.dU.prototype={ +$2:function(a,b){var u,t,s,r,q="input",p="output",o=this.a,n=o.c +n.push(C.c.k(a)) +u=this.b.f +t=b.d +b.r=u.i(0,t) +s=b.f +b.x=u.i(0,s) +if(t!==-1){u=b.r +if(u==null)o.j($.D(),H.a([t],[P.c]),q) +else{u.O(C.aY,q,o) +u=b.r.fr +if(u!=null)u.O(C.v,q,o) +n.push(q) +u=b.r +r=new V.k(u.ch,u.z,u.cx) +if(!r.K(0,C.A))o.B($.ph(),H.a([r,H.a([C.A],[V.k])],[P.c])) +else o.U(b.r,new Z.dT(o.M())) +u=b.r +if(u.db==null||u.cy==null)o.P($.pj()) +if(b.e==="CUBICSPLINE"&&b.r.Q<2)o.B($.pi(),H.a(["CUBICSPLINE",2,b.r.Q],[P.c])) +n.pop()}}if(s!==-1){u=b.x +if(u==null)o.j($.D(),H.a([s],[P.c]),p) +else{u.O(C.aZ,p,o) +u=b.x.fr +if(u!=null)u.O(C.v,p,o) +b.x.es("CUBICSPLINE"===b.e)}}n.pop()}} +Z.dV.prototype={ +$2:function(a,b){var u,t,s,r,q,p,o,n,m,l,k,j,i,h=null,g="sampler",f=this.b,e=f.c +e.push(C.c.k(a)) +u=this.a +t=b.d +b.f=u.y.i(0,t) +s=b.e +r=s!=null +if(r){q=s.d +s.f=this.c.db.i(0,q) +if(q!==-1){e.push("target") +p=s.f +if(p==null)f.j($.D(),H.a([q],[P.c]),"node") +else{p.c=!0 +switch(s.e){case"translation":case"rotation":case"scale":if(p.Q!=null)f.P($.pe()) +if(s.f.id!=null)f.p($.pP(),"path") +break +case"weights":q=p.fy +q=q==null?h:q.x +q=q==null?h:q.gcv(q) +if((q==null?h:q.fx)==null)f.P($.pf()) +break}}e.pop()}}if(t!==-1){q=b.f +if(q==null)f.j($.D(),H.a([t],[P.c]),g) +else{q.c=!0 +if(r&&q.x!=null){t=s.e +if(t==="rotation"){o=q.x +if(o.ga8()===4){e.push(g) +q=f.M() +p=5126===o.z?h:o.gbI() +f.U(o,new Z.ic("CUBICSPLINE"===b.f.e,p,q,[P.G])) +e.pop()}q=b.f +q.x.toString}q=q.x +n=new V.k(q.ch,q.z,q.cx) +m=C.cH.i(0,t) +if((m==null?h:C.d.D(m,n))===!1)f.j($.pl(),H.a([n,m,t],[P.c]),g) +q=b.f +p=q.r +if(p!=null&&p.Q!==-1&&q.x.Q!==-1&&q.e!=null){l=p.Q +if(q.e==="CUBICSPLINE")l*=3 +if(t==="weights"){t=s.f +t=t==null?h:t.fy +t=t==null?h:t.x +t=t==null?h:t.gcv(t) +t=t==null?h:t.fx +k=t==null?h:t.length +l*=k==null?0:k}if(l!==0&&l!==b.f.x.Q)f.j($.pk(),H.a([l,b.f.x.Q],[P.c]),g)}}}for(j=a+1,u=u.x,t=u.b,q=[P.c];j=u.a.length +i=(p?h:u.a[j]).e +p=i!=null&&s.d===i.d&&s.e==i.e}else p=!1 +if(p)f.j($.pg(),H.a([j],q),"target")}e.pop()}}} +Z.cf.prototype={} +Z.bt.prototype={} +Z.cg.prototype={} +Z.dT.prototype={ +W:function(a,b,c,d){var u=this +if(d<0)a.j($.ox(),H.a([b,d],[P.c]),u.b) +else{if(b!==0&&d<=u.a)a.j($.oy(),H.a([b,d,u.a],[P.c]),u.b) +u.a=d}return!0}, +$aY:function(){return[P.w]}} +Z.ic.prototype={ +W:function(a,b,c,d){var u,t,s=this +if(!s.a||4===(4&s.d)){u=s.b +t=u!=null?u.$1(d):d +u=s.e+t*t +s.e=u +if(3===c){if(Math.abs(Math.sqrt(u)-1)>0.00769)a.j($.oz(),H.a([b-3,b,Math.sqrt(s.e)],[P.c]),s.c) +s.e=0}}if(++s.d===12)s.d=0 +return!0}} +T.bv.prototype={ +gb4:function(){var u,t=this.f +if(t!=null){u=$.aD().b +u=!u.test(t)}else u=!0 +if(u)return 0 +return P.aV($.aD().aG(t).b[1],null,null)}, +gbH:function(){var u,t=this.f +if(t!=null){u=$.aD().b +u=!u.test(t)}else u=!0 +if(u)return 0 +return P.aV($.aD().aG(t).b[2],null,null)}, +gcG:function(){var u,t=this.r +if(t!=null){u=$.aD().b +u=!u.test(t)}else u=!0 +if(u)return 2 +return P.aV($.aD().aG(t).b[1],null,null)}, +ge8:function(){var u,t=this.r +if(t!=null){u=$.aD().b +u=!u.test(t)}else u=!0 +if(u)return 0 +return P.aV($.aD().aG(t).b[2],null,null)}} +Q.b_.prototype={} +V.aH.prototype={ +O:function(a,b,c){var u +this.c=!0 +u=this.cy +if(u==null)this.cy=a +else if(u!==a)c.j($.pn(),H.a([u,a],[P.c]),b)}, +E:function(a,b){var u,t=this,s=t.x,r=t.cx=a.y.i(0,s) +t.db=t.Q +u=t.ch +if(u===34962)t.cy=C.Y +else if(u===34963)t.cy=C.X +if(s!==-1)if(r==null)b.j($.D(),H.a([s],[P.c]),"buffer") +else{r.c=!0 +r=r.y +if(r!==-1){u=t.y +if(u>=r)b.j($.mK(),H.a([s,r],[P.c]),"byteOffset") +else if(u+t.z>r)b.j($.mK(),H.a([s,r],[P.c]),"byteLength")}}}} +G.b1.prototype={} +G.bx.prototype={} +G.by.prototype={} +V.d4.prototype={ +ev:function(a){var u,t,s,r,q +new V.fq(this,a).$1(this.fy) +u=a.r +for(t=u.length,s=a.c,r=0;r2?u-2:0 +default:return 0}}, +E:function(a,b){var u,t,s,r,q,p,o,n,m,l,k,j=this,i="attributes",h="indices",g=j.d +if(g!=null){u=b.c +u.push(i) +g.H(0,new S.hM(j,a,b)) +u.pop()}g=j.e +if(g!==-1){u=j.fy=a.f.i(0,g) +if(u==null)b.j($.D(),H.a([g],[P.c]),h) +else{j.dy=u.Q +u.O(C.b0,h,b) +g=j.fy.fr +if(g!=null)g.O(C.X,h,b) +g=b.c +g.push(h) +u=j.fy.fr +if(u!=null&&u.Q!==-1)b.P($.ps()) +u=j.fy +t=new V.k(u.ch,u.z,u.cx) +if(!C.d.D(C.ae,t))b.B($.pr(),H.a([t,C.ae],[P.c])) +else{u=j.fr +s=u!==-1?u-1:-1 +u=j.r +r=u!==-1?C.c.ay(1,u):-1 +if(r!==0&&s>=-1){u=j.fy +q=b.M() +p=C.c.cj(j.dy,3) +o=j.fy.z +n=new Uint32Array(3) +b.U(u,new S.fy(s,p,Z.ov(o),16===(16&r),n,q))}}g.pop()}}g=j.dy +if(g!==-1){u=j.r +if(!(u===1&&g%2!==0))if(!((u===2||u===3)&&g<2))if(!(u===4&&g%3!==0))g=(u===5||u===6)&&g<3 +else g=!0 +else g=!0 +else g=!0}else g=!1 +if(g)b.B($.pq(),H.a([j.dy,C.bY[j.r]],[P.c])) +g=j.f +j.go=a.cx.i(0,g) +m=P.nj(j.db,new S.hN(),!1,P.h) +if(g!==-1){u=j.go +if(u==null)b.j($.D(),H.a([g],[P.c]),"material") +else{u.c=!0 +u.dx.H(0,new S.hO(j,b,m))}}for(g=C.d.gw(m),u=new H.dt(g,new S.hP(),[H.i(m,0)]),q=b.c;u.m();){p=g.gn() +q.push(i) +b.p($.dP(),"TEXCOORD_"+H.b(p)) +q.pop()}g=j.x +if(g!=null){u=b.c +u.push("targets") +q=new Array(g.length) +q.fixed$length=Array +j.fx=H.a(q,[[P.f,P.d,[M.Q,P.G]]]) +for(q=P.d,p=[M.Q,P.G],l=0;l1)c.p($.pp(),b)}}} +S.hI.prototype={ +$1:function(a){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f=this +if(a.length!==0&&J.lX(a,0)===95)return +switch(a){case"POSITION":f.a.c=!0 +break +case"NORMAL":f.a.b=!0 +break +case"TANGENT":f.a.a=!0 +break +default:u=H.a(a.split("_"),[P.d]) +t=u[0] +if(!C.d.D(C.bO,t)||u.length!==2){f.b.p($.lW(),a) +break}s=u[1] +s.toString +r=new H.cl(s) +if(r.gh(r)===0){q=0 +p=!1}else{o=s.length +if(o===1){q=J.lX(s,0)-48 +p=!(q<0||q>9)||!1}else{n=J.lu(s) +q=0 +m=0 +while(!0){if(!(m=0)k=m===0&&l===0 +else k=!0 +else k=!0 +if(k){p=!1 +break}q=10*q+l;++m}}}if(p)switch(t){case"COLOR":s=f.a;++s.d +j=s.e +s.e=q>j?q:j +break +case"JOINTS":s=f.a;++s.f +i=s.r +s.r=q>i?q:i +break +case"TEXCOORD":s=f.a;++s.z +h=s.Q +s.Q=q>h?q:h +break +case"WEIGHTS":s=f.a;++s.x +g=s.y +s.y=q>g?q:g +break}else f.b.p($.lW(),a)}}} +S.hJ.prototype={ +$3:function(a,b,c){var u=a+1 +if(u!==b){this.a.B($.pZ(),H.a([c,u,b],[P.c])) +return 0}return b}} +S.hK.prototype={ +$1:function(a){var u=this.a +if(!u.k3.u(a)&&!J.qP(a,"_"))u.p($.lW(),a)}} +S.hM.prototype={ +$2:function(a,b){var u,t,s,r,q,p,o,n,m=this +if(b===-1)return +u=m.b.f.i(0,b) +if(u==null){m.c.j($.D(),H.a([b],[P.c]),a) +return}t=m.a +t.dx.l(0,a,u) +s=m.c +u.O(C.W,a,s) +r=u.fr +if(r!=null)r.O(C.Y,a,s) +if(a==="POSITION")r=u.db==null||u.cy==null +else r=!1 +if(r)s.p($.mN(),"POSITION") +r=u.ch +q=u.z +p=new V.k(r,q,u.cx) +o=s.k2.i(0,H.a(a.split("_"),[P.d])[0]) +if(o!=null)if(!o.D(0,p))s.j($.mM(),H.a([p,o],[P.c]),a) +else if(a==="NORMAL"){r=s.c +r.push("NORMAL") +n=s.M() +s.U(u,new F.jC(n,5126===q?null:u.gbI())) +r.pop()}else if(a==="TANGENT"){r=s.c +r.push("TANGENT") +n=s.M() +s.U(u,new F.jD(n,5126===q?null:u.gbI())) +r.pop()}else if(C.a.S(a,"COLOR_")&&5126===q){r=s.c +r.push(a) +s.U(u,new F.e4(s.M())) +r.pop()}r=u.y +if(!(r!==-1&&r%4!==0))if(u.ga9()%4!==0){r=u.fr +r=r!=null&&r.Q===-1}else r=!1 +else r=!0 +if(r)s.p($.mL(),a) +r=t.fr +if(r===-1)t.dy=t.fr=u.Q +else if(r!==u.Q)s.p($.pw(),a) +r=u.fr +if(r!=null&&r.Q===-1){if(r.db===-1)r.db=u.ga9() +t.bZ(u,a,s)}}} +S.hN.prototype={ +$1:function(a){return a}, +$S:14} +S.hO.prototype={ +$2:function(a,b){if(b!==-1)if(b+1>this.a.db)this.b.j($.pv(),H.a([a,b],[P.c]),"material") +else this.c[b]=-1}} +S.hP.prototype={ +$1:function(a){return a!==-1}, +$S:3} +S.hQ.prototype={ +$2:function(a,b){var u,t,s,r,q,p,o,n=this +if(b===-1)return +u=n.b.f.i(0,b) +if(u==null)n.c.j($.D(),H.a([b],[P.c]),a) +else{t=n.c +u.O(C.W,a,t) +s=n.a +r=s.dx.i(0,a) +if(r==null)t.p($.pu(),a) +else if(r.Q!==u.Q)t.p($.pt(),a) +if(a==="POSITION")q=u.db==null||u.cy==null +else q=!1 +if(q)t.p($.mN(),"POSITION") +p=new V.k(u.ch,u.z,u.cx) +o=t.k3.i(0,a) +if(o!=null&&!o.D(0,p))t.j($.mM(),H.a([p,o],[P.c]),a) +q=u.y +if(!(q!==-1&&q%4!==0))if(u.ga9()%4!==0){q=u.fr +q=q!=null&&q.Q===-1}else q=!1 +else q=!0 +if(q)t.p($.mL(),a) +q=u.fr +if(q!=null&&q.Q===-1){if(q.db===-1)q.db=u.ga9() +s.bZ(u,a,t)}}n.a.fx[n.d].l(0,a,u)}} +S.hL.prototype={ +$0:function(){return P.at([M.Q,P.G])}} +S.fy.prototype={ +W:function(a,b,c,d){var u,t,s=this,r=s.a +if(d>r)a.j($.oA(),H.a([b,d,r],[P.c]),s.cy) +if(d===s.c)a.j($.oB(),H.a([d,b],[P.c]),s.cy) +if(s.x){r=s.cx +u=s.Q +r[u]=d;++u +s.Q=u +if(u===3){s.Q=0 +u=r[0] +t=r[1] +if(u!==t){r=r[2] +r=t===r||r===u}else r=!0 +if(r)++s.ch}}return!0}, +as:function(a){var u=this.ch +if(u>0)a.j($.oC(),H.a([u,this.b],[P.c]),this.cy) +return!0}, +$aY:function(){return[P.h]}} +V.ad.prototype={ +E:function(a,b){var u,t,s,r=this,q=r.x +r.fr=a.Q.i(0,q) +u=r.z +r.id=a.fx.i(0,u) +t=r.ch +r.fy=a.cy.i(0,t) +if(q!==-1){s=r.fr +if(s==null)b.j($.D(),H.a([q],[P.c]),"camera") +else s.c=!0}if(u!==-1){q=r.id +if(q==null)b.j($.D(),H.a([u],[P.c]),"skin") +else q.c=!0}if(t!==-1){q=r.fy +if(q==null)b.j($.D(),H.a([t],[P.c]),"mesh") +else{q.c=!0 +q=q.x +if(q!=null){u=r.dx +if(u!=null){q=q.i(0,0).fx +q=q==null?null:q.length +q=q!==u.length}else q=!1 +if(q){q=$.pB() +u=u.length +t=r.fy.x.i(0,0).fx +b.j(q,H.a([u,t==null?null:t.length],[P.c]),"weights")}if(r.id!=null){q=r.fy.x +if(q.b0(q,new V.i3()))b.P($.pz())}else{q=r.fy.x +if(q.bv(q,new V.i4()))b.P($.pA())}}}}q=r.y +if(q!=null){u=new Array(q.gh(q)) +u.fixed$length=Array +u=H.a(u,[V.ad]) +r.fx=u +F.my(q,u,a.db,"children",b,new V.i5(r,b))}}, +cn:function(a){var u,t,s,r +this.dy.A(0,a) +u=this.fx +if(u!=null)for(t=u.length,s=0;s0&&r.fy.length===u){r.z=!0 +throw H.e(C.b5)}q=q.c +t=q!=null?q.i(0,p):null +if(f!=null)r.fy.push(new E.bE(a,t,null,f,b)) +else{s=c!=null?C.c.k(c):d +q=e?"":r.bT(s) +r.fy.push(new E.bE(a,t,q,null,b))}}, +p:function(a,b){return this.a6(a,null,null,b,!1,null)}, +B:function(a,b){return this.a6(a,b,null,null,!1,null)}, +j:function(a,b,c){return this.a6(a,b,null,c,!1,null)}, +P:function(a){return this.a6(a,null,null,null,!1,null)}, +ar:function(a,b,c){return this.a6(a,b,null,null,c,null)}, +V:function(a,b){return this.a6(a,null,b,null,!1,null)}, +aE:function(a,b,c){return this.a6(a,b,c,null,!1,null)}, +bu:function(a,b){return this.a6(a,null,null,null,!1,b)}, +Y:function(a,b,c){return this.a6(a,b,null,null,!1,c)}} +M.ea.prototype={ +$1:function(a){return a.a}} +M.e9.prototype={ +$0:function(){return H.a([],[[F.Y,P.G]])}} +M.eb.prototype={ +$1:function(a){var u +a.toString +u=H.ot(a,"~","~0") +return H.ot(u,"/","~1")}} +M.ee.prototype={ +$1:function(a){return a.a===this.a}} +M.ef.prototype={ +$0:function(){return C.d.b1(C.I,new M.ec(this.a),new M.ed())}} +M.ec.prototype={ +$1:function(a){return a.a===this.a}} +M.ed.prototype={ +$0:function(){return}} +M.eg.prototype={ +$2:function(a,b){this.a.Q.l(0,new D.bA(a,this.b.a),b)}} +M.bF.prototype={$iar:1} +Y.cI.prototype={ +k:function(a){return this.b}} +Y.cG.prototype={ +k:function(a){return this.b}} +Y.bZ.prototype={ +k:function(a){return this.b}} +Y.b4.prototype={ +k:function(a){return this.b}} +Y.bC.prototype={} +Y.fv.prototype={ +$1:function(a){var u,t,s,r=this.a +if(!r.c)if(J.H(a)<9){r.a.F() +this.b.L(C.a3) +return}else{u=Y.rk(a) +t=r.a +s=this.b +switch(u){case C.az:r.b=new Y.fK(s,t) +break +case C.aA:u=new Uint8Array(13) +r.b=new Y.i9(C.r,C.p,u,new Uint8Array(32),s,t) +break +case C.aB:r.b=new Y.jS(new Uint8Array(30),s,t) +break +default:t.F() +s.L(C.bd) +return}r.c=!0}r.b.A(0,a)}} +Y.fx.prototype={ +$1:function(a){this.a.a.F() +this.b.L(a)}, +$S:6} +Y.fw.prototype={ +$0:function(){var u=this.a.b +u.b.F() +u=u.a +if(u.a.a===0)u.L(C.a3)}} +Y.fu.prototype={ +$2:function(a,b){var u,t,s +for(u=b.length,t=J.K(a),s=0;s>>0 +k.c=2 +break +case 2:q=k.e+r +k.e=q +if(q<2)throw H.e(C.br) +if(j.$1(k.d)){q=k.e +k.r=new Uint8Array(q-2)}k.c=3 +break +case 3:s=Math.min(u.gh(a)-t,k.e-k.f-2) +q=j.$1(k.d) +p=k.f +o=p+s +if(q){q=k.r +k.f=o;(q&&C.i).a_(q,p,o,a,t) +if(k.f===k.e-2){k.b.F() +a=k.r +n=a[0] +u=a[1] +q=a[2] +p=a[3] +o=a[4] +m=a[5] +if(m===3)l=C.m +else l=m===1?C.a5:C.H +m=k.a.a +if(m.a!==0)H.O(P.aM("Future already completed")) +m.ag(new Y.bC("image/jpeg",n,l,(p<<8|o)>>>0,(u<<8|q)>>>0,C.p,C.r,!1,!1)) +return}}else{k.f=o +if(o===k.e-2)k.c=255}t+=s +continue}++t}}} +Y.fM.prototype={ +$1:function(a){return(a&240)===192&&a!==196&&a!==200&&a!==204||a===222}, +$S:3} +Y.fL.prototype={ +$1:function(a){return!(a===1||(a&248)===208||a===216||a===217||a===255)}, +$S:3} +Y.i9.prototype={ +A:function(a,b){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=new Y.ia(g) +for(u=J.K(b),t=g.dx,s=g.db,r=0,q=0;r!==u.gh(b);){p=u.i(b,r) +switch(g.y){case 0:r+=8 +g.y=1 +continue +case 1:g.c=(g.c<<8|p)>>>0 +if(++g.d===4)g.y=2 +break +case 2:o=(g.e<<8|p)>>>0 +g.e=o +if(++g.f===4){switch(o){case 1229472850:if(g.c!==13){g.b.F() +u=g.a +if(u.a.a===0)u.L(C.n) +return}g.z=!0 +break +case 1951551059:g.Q=!0 +break +case 1665684045:if(g.c!==32){g.b.F() +u=g.a +if(u.a.a===0)u.L(C.n) +return}break +case 1934772034:if(g.c!==1){g.b.F() +u=g.a +if(u.a.a===0)u.L(C.n) +return}break +case 1883789683:if(g.c!==9){g.b.F() +u=g.a +if(u.a.a===0)u.L(C.n) +return}break +case 1732332865:if(g.c!==4){g.b.F() +u=g.a +if(u.a.a===0)u.L(C.n) +return}break +case 1766015824:g.ch=C.z +g.cx=C.y +break +case 1229209940:g.b.F() +if(!g.z)g.a.L(C.bq) +u=s.buffer +u.toString +H.aR(u,0,null) +b=new DataView(u,0) +n=b.getUint32(0,!1) +m=b.getUint32(4,!1) +l=b.getUint8(8) +switch(b.getUint8(9)){case 0:k=g.Q?C.a6:C.a5 +break +case 2:case 3:k=g.Q?C.w:C.m +break +case 4:k=C.a6 +break +case 6:k=C.w +break +default:k=C.H}u=g.cx +if(u===C.p)u=g.cx=C.q +t=g.ch +if(t===C.r)t=g.ch=C.t +s=g.cy +o=g.a.a +if(o.a!==0)H.O(P.aM("Future already completed")) +o.ag(new Y.bC("image/png",l,k,n,m,u,t,s,!1)) +return}if(g.c===0)g.y=4 +else g.y=3}break +case 3:o=u.gh(b) +j=g.c +i=g.x +q=Math.min(o-r,j-i) +switch(g.e){case 1229472850:o=i+q +g.x=o +C.i.a_(s,i,o,b,r) +break +case 1665684045:case 1732332865:case 1883789683:o=i+q +g.x=o +C.i.a_(t,i,o,b,r) +break +case 1934772034:g.ch=C.t +g.cx=C.q +g.x=i+1 +break +default:g.x=i+q}if(g.x===g.c){switch(g.e){case 1665684045:if(g.cx===C.p)g.d8() +break +case 1732332865:if(g.ch===C.r)g.d9() +break +case 1883789683:o=t.buffer +o.toString +H.aR(o,0,null) +h=new DataView(o,0) +if(h.getUint32(0,!1)!==h.getUint32(4,!1))g.cy=!0 +break}g.y=4}r+=q +continue +case 4:if(++g.r===4){f.$0() +g.y=1}break}++r}}, +d9:function(){var u,t=this +if(t.ch===C.t)return +u=t.dx.buffer +u.toString +switch(H.hU(u,0,null).getUint32(0,!1)){case 45455:t.ch=C.t +break +case 1e5:t.ch=C.de +break +default:t.ch=C.z}}, +d8:function(){var u,t,s=this +if(s.cx===C.q)return +u=s.dx.buffer +u.toString +t=H.hU(u,0,null) +if(t.getUint32(0,!1)===31270&&t.getUint32(4,!1)===32900&&t.getUint32(8,!1)===64e3&&t.getUint32(12,!1)===33e3&&t.getUint32(16,!1)===3e4&&t.getUint32(20,!1)===6e4&&t.getUint32(24,!1)===15e3&&t.getUint32(28,!1)===6000)s.cx=C.q +else s.cx=C.y}} +Y.ia.prototype={ +$0:function(){var u=this.a +u.r=u.x=u.f=u.e=u.d=u.c=0}} +Y.jS.prototype={ +A:function(a,b){var u,t,s,r,q,p,o,n=this,m=J.H(b),l=n.d,k=n.c +m=l+Math.min(m,30-l) +n.d=m +C.i.cY(k,l,m,b) +m=n.d +if(m>=25)m=m<30&&k[15]!==76 +else m=!0 +if(m)return +n.b.F() +m=k.buffer +m.toString +u=H.hU(m,0,null) +if(u.getUint32(0,!1)!==1380533830||u.getUint32(8,!1)!==1464156752){n.bX(C.a7) +return}switch(u.getUint32(12,!1)){case 1448097824:t=u.getUint16(26,!0)&16383 +s=u.getUint16(28,!0)&16383 +r=C.m +q=!1 +p=!1 +break +case 1448097868:m=k[21] +l=k[22] +t=1+((m|(l&63)<<8)>>>0) +m=k[23] +k=k[24] +s=1+((l>>>6|m<<2|(k&15)<<10)>>>0) +r=(k&16)===16?C.w:C.m +q=!1 +p=!1 +break +case 1448097880:o=k[20] +p=(o&2)===2 +q=(o&32)===32 +r=(o&16)===16?C.w:C.m +t=((k[24]|k[25]<<8|k[26]<<16)>>>0)+1 +s=((k[27]|k[28]<<8|k[29]<<16)>>>0)+1 +break +default:n.bX(C.a7) +return}m=q?C.z:C.t +n.a.Z(Y.rj("image/webp",8,r,t,s,q?C.y:C.q,m,p,!1))}, +bX:function(a){var u +this.b.F() +u=this.a +if(u.a.a===0)u.L(a)}} +Y.dr.prototype={$iar:1} +Y.dp.prototype={$iar:1} +Y.as.prototype={ +k:function(a){return this.a}, +$iar:1} +N.c3.prototype={ +k:function(a){return this.b}} +N.dj.prototype={ +b7:function(){var u,t=this,s=P.d,r=P.c,q=P.V(s,r) +q.l(0,"pointer",t.a) +u=t.b +if(u!=null)q.l(0,"mimeType",u) +u=t.c +if(u!=null)q.l(0,"storage",C.bX[u.a]) +u=t.e +if(u!=null)q.l(0,"uri",u) +u=t.d +if(u!=null)q.l(0,"byteLength",u) +u=t.f +if(u==null)s=null +else{s=P.V(s,r) +s.l(0,"width",u.d) +s.l(0,"height",u.e) +r=u.c +if(r!==C.H)s.l(0,"format",C.cx[r.a]) +r=u.f +if(r!==C.p)s.l(0,"primaries",C.cq[r.a]) +r=u.r +if(r!==C.r)s.l(0,"transfer",C.cp[r.a]) +r=u.b +if(r>0)s.l(0,"bits",r)}if(s!=null)q.l(0,"image",s) +return q}} +N.ie.prototype={ +aJ:function(a){return this.e6(a)}, +e6:function(a){var u=0,t=P.cT(-1),s,r=2,q,p=[],o=this,n,m +var $async$aJ=P.cU(function(b,c){if(b===1){q=c +u=r}while(true)switch(u){case 0:r=4 +u=7 +return P.c5(o.aT(),$async$aJ) +case 7:u=8 +return P.c5(o.aU(),$async$aJ) +case 8:if(a)O.uG(o.a,o.b) +o.a.ev(o.b) +r=2 +u=6 +break +case 4:r=3 +m=q +if(H.z(m) instanceof M.bF){u=1 +break}else throw m +u=6 +break +case 3:u=2 +break +case 6:case 1:return P.cP(s,t) +case 2:return P.cO(q,t)}}) +return P.cQ($async$aJ,t)}, +aT:function(){var u=0,t=P.cT(-1),s=1,r,q=[],p=this,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2 +var $async$aT=P.cU(function(a3,a4){if(a3===1){r=a4 +u=s}while(true)switch(u){case 0:a=p.b +a0=a.c +C.d.sh(a0,0) +a0.push("buffers") +k=p.a.y,j=k.b,i=a.dy,h=[P.c],k=k.a,g=k.length,f=0 +case 2:if(!(f=g +o=e?null:k[f] +if(o==null){u=3 +break}a0.push(C.c.k(f)) +d=new N.dj(a.M()) +d.b="application/gltf-buffer" +n=new N.ig(p,d,f) +m=null +s=6 +a2=H +u=9 +return P.c5(n.$1(o),$async$aT) +case 9:m=a2.oi(a4,"$iaf") +s=1 +u=8 +break +case 6:s=5 +a1=r +e=H.z(a1) +if(!!J.m(e).$iar){l=e +a.j($.lT(),H.a([l],h),"uri")}else throw a1 +u=8 +break +case 5:u=1 +break +case 8:if(m!=null){d.d=J.H(m) +if(J.H(m)b)a.B($.oQ(),H.a([J.H(m)-b],h))}e=o +if(e.Q==null)e.Q=m}}i.push(d.b7()) +a0.pop() +case 3:++f +u=2 +break +case 4:return P.cP(null,t) +case 1:return P.cO(r,t)}}) +return P.cQ($async$aT,t)}, +aU:function(){var u=0,t=P.cT(-1),s=1,r,q=[],p=this,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5 +var $async$aU=P.cU(function(a7,a8){if(a7===1){r=a8 +u=s}while(true)switch(u){case 0:a3=p.b +a4=a3.c +C.d.sh(a4,0) +a4.push("images") +h=p.a.ch,g=h.b,f=a3.dy,e=[P.c],d=a3.k1,h=h.a,c=h.length,b=0 +case 2:if(!(b=c +o=a?null:h[b] +if(o==null){u=3 +break}a4.push(C.c.k(b)) +a0=new N.dj(a3.M()) +n=new N.ih(p,a0) +m=null +try{m=n.$1(o)}catch(a6){a=H.z(a6) +if(!!J.m(a).$iar){l=a +a3.j($.lT(),H.a([l],e),"uri")}else throw a6}k=null +u=m!=null?5:6 +break +case 5:s=8 +u=11 +return P.c5(Y.rl(m),$async$aU) +case 11:k=a8 +a=C.d.D(d,k.a) +if(!a)a3.B($.oU(),H.a([k.a],e)) +s=1 +u=10 +break +case 8:s=7 +a5=r +a=H.z(a5) +a2=J.m(a) +if(!!a2.$idr)a3.P($.oX()) +else if(!!a2.$idp)a3.P($.oW()) +else if(!!a2.$ias){j=a +a3.B($.oR(),H.a([j],e))}else if(!!a2.$iar){i=a +a3.j($.lT(),H.a([i],e),"uri")}else throw a5 +u=10 +break +case 7:u=1 +break +case 10:if(k!=null){a0.b=k.a +if(o.y!=null&&o.y!==k.a)a3.B($.oT(),H.a([k.a,o.y],e)) +a=k.d +if(a!==0&&(a&a-1)>>>0===0){a=k.e +a=!(a!==0&&(a&a-1)>>>0===0)}else a=!0 +if(a)a3.B($.oV(),H.a([k.d,k.e],e)) +a=k +if(a.f===C.y||a.r===C.z||k.y||k.x)a3.P($.oS()) +o.cx=k +a0.f=k}case 6:f.push(a0.b7()) +a4.pop() +case 3:++b +u=2 +break +case 4:return P.cP(null,t) +case 1:return P.cO(r,t)}}) +return P.cQ($async$aU,t)}} +N.ig.prototype={ +$1:function(a){var u,t,s,r=this +if(a.a.a===0){u=a.x +if(u!=null){t=r.b +t.c=C.aD +t.e=u.k(0) +return r.a.c.$1(u)}else{u=a.Q +if(u!=null){r.b.c=C.aC +return u}else{u=r.a +t=u.b +if(t.id&&r.c===0&&!a.z){r.b.c=C.dh +s=u.c.$0() +if(s==null)t.P($.pm()) +return s}}}}return}} +N.ih.prototype={ +$1:function(a){var u,t,s=this +if(a.a.a===0){u=a.z +if(u!=null){t=s.b +t.c=C.aD +t.e=u.k(0) +return s.a.d.$1(u)}else{u=a.Q +if(u!=null&&a.y!=null){s.b.c=C.aC +t=[P.l,P.h] +return P.mc(H.a([u],[t]),t)}else if(a.ch!=null){s.b.c=C.dg +a.er() +u=a.Q +if(u!=null){t=[P.l,P.h] +return P.mc(H.a([u],[t]),t)}}}}return}} +O.lQ.prototype={ +$2:function(a,b){var u,t,s,r,q,p,o,n,m=O.lk(b) +if((m==null?null:m.dx)!=null){m=this.a +u=m.c +C.d.sh(u,0) +u.push("accessors") +u.push(C.c.k(a)) +t=b.dx.ge0() +if(t!=null)for(u=t.length,s=b.Q,r=[P.c],q=0,p=-1,o=0;o=s)m.j($.oK(),H.a([q,n,s],r),"sparse");++q}}}} +O.lR.prototype={ +$1:function(a){return a.cx===0}} +O.lS.prototype={ +$2:function(a,b){var u,t,s,r,q,p,o,n,m,l=this,k=b.fr,j=b.cx,i=new Array(j) +i.fixed$length=Array +u=H.a(i,[[P.Z,P.h]]) +i=new Array(j) +i.fixed$length=Array +t=H.a(i,[[P.Z,P.w]]) +i=P.h +r=[i] +q=b.dx +p=0 +while(!0){if(!(pr){k=$.oH() +j=q+"/JOINTS_"+m +a.j(k,H.a([g.f,g.r,l,r,n],p),j) +continue}i=s[m].gn() +if(i!==0){if(!o.A(0,l)){k=$.oG() +j=q+"/JOINTS_"+m +a.j(k,H.a([g.f,g.r,l],p),j) +h=!1}else h=!0 +if(i<0){k=$.oM() +j=q+"/WEIGHTS_"+m +a.j(k,H.a([g.f,g.r,i],p),j)}else if(h){k=g.y +j=$.mX() +j[0]=k+i +g.y=j[0] +g.z+=2e-7}}else if(l!==0){k=$.oI() +j=q+"/JOINTS_"+m +a.j(k,H.a([g.f,g.r,l],p),j)}}if(4===++g.r){if(Math.abs(g.y-1)>g.z)for(m=0;m= "+H.b(a[2])+"."}} +E.eK.prototype={ +$1:function(a){return"Matrix element at index "+H.b(a[0])+" (component index "+H.b(a[1])+") contains invalid value: "+H.b(a[2])+"."}} +E.eQ.prototype={ +$1:function(a){return"Image data is invalid. "+H.b(a[0])}} +E.eP.prototype={ +$1:function(a){return"Recognized image format "+("'"+H.b(a[0])+"'")+" does not match declared image format "+("'"+H.b(a[1])+"'")+"."}} +E.en.prototype={ +$1:function(a){return"Unexpected end of image stream."}} +E.eo.prototype={ +$1:function(a){return"Image format not recognized."}} +E.ep.prototype={ +$1:function(a){return"'"+H.b(a[0])+"' MIME type requires an extension."}} +E.eO.prototype={ +$1:function(a){return"Image has non-power-of-two dimensions: "+H.b(a[0])+"x"+H.b(a[1])+"."}} +E.eN.prototype={ +$1:function(a){return"Image contains unsupported features like non-default colorspace information, non-square pixels, or animation."}} +E.es.prototype={ +$1:function(a){return"Data URI is used in GLB container."}} +E.eI.prototype={ +$1:function(a){return"Joints accessor element at index "+H.b(a[0])+" (component index "+H.b(a[1])+") has value "+H.b(a[2])+" that is greater than the maximum joint index ("+H.b(a[3])+") set by skin "+H.b(a[4])+"."}} +E.ex.prototype={ +$1:function(a){return"Joints accessor element at index "+H.b(a[0])+" (component index "+H.b(a[1])+") has value "+H.b(a[2])+" that is already in use for the vertex."}} +E.em.prototype={ +$1:function(a){return"Weights accessor element at index "+H.b(a[0])+" (component index "+H.b(a[1])+") has negative value "+H.b(a[2])+"."}} +E.ek.prototype={ +$1:function(a){return"Weights accessor elements (at indices "+H.b(a[0])+".."+H.b(a[1])+") have non-normalized sum: "+H.b(a[2])+"."}} +E.el.prototype={ +$1:function(a){return"Joints accessor element at index "+H.b(a[0])+" (component index "+H.b(a[1])+") is used with zero weight but has non-zero value ("+H.b(a[2])+")."}} +E.fB.prototype={} +E.fC.prototype={ +$1:function(a){return J.aa(a[0])}} +E.ik.prototype={} +E.iv.prototype={ +$1:function(a){return"Invalid array length "+H.b(a[0])+". Valid lengths are: "+J.aF(H.aW(a[1],"$it"),E.o9(),P.d).k(0)+"."}} +E.iw.prototype={ +$1:function(a){var u=a[0] +return"Type mismatch. Array element "+H.b(typeof u==="string"?"'"+u+"'":J.aa(u))+" is not a "+("'"+H.b(a[1])+"'")+"."}} +E.iB.prototype={ +$1:function(a){return"Duplicate element."}} +E.iz.prototype={ +$1:function(a){return"Index must be a non-negative integer."}} +E.it.prototype={ +$1:function(a){return"Invalid JSON data. Parser output: "+H.b(a[0])}} +E.ip.prototype={ +$1:function(a){return"Invalid URI "+("'"+H.b(a[0])+"'")+". Parser output:\n"+H.b(a[1])}} +E.ix.prototype={ +$1:function(a){return"Entity cannot be empty."}} +E.iq.prototype={ +$1:function(a){a.toString +return"Exactly one of "+new H.aw(a,E.bn(),[H.i(a,0),P.d]).k(0)+" properties must be defined."}} +E.iA.prototype={ +$1:function(a){return"Value "+("'"+H.b(a[0])+"'")+" does not match regexp pattern "+("'"+H.b(a[1])+"'")+"."}} +E.il.prototype={ +$1:function(a){var u=a[0] +return"Type mismatch. Property value "+H.b(typeof u==="string"?"'"+u+"'":J.aa(u))+" is not a "+("'"+H.b(a[1])+"'")+"."}} +E.iu.prototype={ +$1:function(a){var u=a[0] +return"Invalid value "+H.b(typeof u==="string"?"'"+u+"'":J.aa(u))+". Valid values are "+J.aF(H.aW(a[1],"$it"),E.o9(),P.d).k(0)+"."}} +E.io.prototype={ +$1:function(a){return"Value "+H.b(a[0])+" is out of range."}} +E.ir.prototype={ +$1:function(a){return"Value "+H.b(a[0])+" is not a multiple of "+H.b(a[1])+"."}} +E.im.prototype={ +$1:function(a){return"Property "+("'"+H.b(a[0])+"'")+" must be defined."}} +E.iy.prototype={ +$1:function(a){return"Unexpected property."}} +E.is.prototype={ +$1:function(a){return"Dependency failed. "+("'"+H.b(a[0])+"'")+" must be defined."}} +E.iC.prototype={} +E.j9.prototype={ +$1:function(a){return"Unknown glTF major asset version: "+H.b(a[0])+"."}} +E.j8.prototype={ +$1:function(a){return"Unknown glTF minor asset version: "+H.b(a[0])+"."}} +E.iZ.prototype={ +$1:function(a){return"Asset minVersion "+("'"+H.b(a[0])+"'")+" is greater than version "+("'"+H.b(a[1])+"'")+"."}} +E.iX.prototype={ +$1:function(a){return"Invalid value "+H.b(a[0])+" for GL type "+("'"+H.b(a[1])+"'")+"."}} +E.iY.prototype={ +$1:function(a){return"Integer value is written with fractional part: "+H.b(a[0])+"."}} +E.iW.prototype={ +$1:function(a){return"Only (u)byte and (u)short accessors can be normalized."}} +E.iU.prototype={ +$1:function(a){return"Offset "+H.b(a[0])+" is not a multiple of componentType length "+H.b(a[1])+"."}} +E.iV.prototype={ +$1:function(a){return"Matrix accessors must be aligned to 4-byte boundaries."}} +E.j4.prototype={ +$1:function(a){return"Sparse accessor overrides more elements ("+H.b(a[0])+") than the base accessor contains ("+H.b(a[1])+")."}} +E.j5.prototype={ +$1:function(a){return"Animated TRS properties will not affect a skinned mesh."}} +E.iT.prototype={ +$1:function(a){return"Buffer's Data URI MIME-Type must be 'application/octet-stream' or 'application/gltf-buffer'. Found "+("'"+H.b(a[0])+"'")+" instead."}} +E.iS.prototype={ +$1:function(a){return"Buffer view's byteStride ("+H.b(a[0])+") is greater than byteLength ("+H.b(a[1])+")."}} +E.iR.prototype={ +$1:function(a){return"Only buffer views with raw vertex data can have byteStride."}} +E.iP.prototype={ +$1:function(a){return"xmag and ymag must not be zero."}} +E.iO.prototype={ +$1:function(a){return"zfar must be greater than znear."}} +E.iM.prototype={ +$1:function(a){return"Alpha cutoff is supported only for 'MASK' alpha mode."}} +E.iG.prototype={ +$1:function(a){return"Invalid attribute name."}} +E.jj.prototype={ +$1:function(a){return"All primitives must have the same number of morph targets."}} +E.ji.prototype={ +$1:function(a){return"All primitives should contain the same number of 'JOINTS' and 'WEIGHTS' attribute sets."}} +E.iL.prototype={ +$1:function(a){return"No POSITION attribute found."}} +E.iI.prototype={ +$1:function(a){return"Indices for indexed attribute semantic "+("'"+H.b(a[0])+"'")+" must start with 0 and be continuous. Total expected indices: "+H.b(a[1])+", total provided indices: "+H.b(a[2])+"."}} +E.iK.prototype={ +$1:function(a){return"TANGENT attribute without NORMAL found."}} +E.iH.prototype={ +$1:function(a){return"Number of JOINTS attribute semantics ("+H.b(a[0])+") does not match the number of WEIGHTS ("+H.b(a[1])+")."}} +E.iJ.prototype={ +$1:function(a){return"TANGENT attribute defined for POINTS rendering mode."}} +E.jh.prototype={ +$1:function(a){return"The length of weights array ("+H.b(a[0])+") does not match the number of morph targets ("+H.b(a[1])+")."}} +E.jf.prototype={ +$1:function(a){return"A node can have either a matrix or any combination of translation/rotation/scale (TRS) properties."}} +E.jb.prototype={ +$1:function(a){return"Do not specify default transform matrix."}} +E.j0.prototype={ +$1:function(a){return"Matrix must be decomposable to TRS."}} +E.jg.prototype={ +$1:function(a){return"Rotation quaternion must be normalized."}} +E.ja.prototype={ +$1:function(a){return"Unused extension "+("'"+H.b(a[0])+"'")+" cannot be required."}} +E.jc.prototype={ +$1:function(a){return"Extension "+("'"+H.b(a[0])+"'")+" cannot be optional."}} +E.jd.prototype={ +$1:function(a){return"Extension uses unreserved extension prefix "+("'"+H.b(a[0])+"'")+"."}} +E.je.prototype={ +$1:function(a){return"Extension name has invalid format."}} +E.j3.prototype={ +$1:function(a){return"Empty node encountered."}} +E.j2.prototype={ +$1:function(a){return"Node with a skinned mesh is not root. Parent transforms will not affect a skinned mesh."}} +E.j1.prototype={ +$1:function(a){return"Local transforms will not affect a skinned mesh."}} +E.j_.prototype={ +$1:function(a){return"A node with a skinned mesh is used in a scene that does not contain joint nodes."}} +E.j7.prototype={ +$1:function(a){return"Joints do not have a common root."}} +E.j6.prototype={ +$1:function(a){return"Skeleton node is not a common root."}} +E.iN.prototype={ +$1:function(a){return"Non-relative URI found: "+("'"+H.b(a[0])+"'")+"."}} +E.iE.prototype={ +$1:function(a){return"Multiple extensions are defined for this object: "+J.aF(H.aW(a[1],"$it"),E.bn(),P.d).k(0)+"."}} +E.iD.prototype={ +$1:function(a){return"Prefer JSON Objects for extras."}} +E.iQ.prototype={ +$1:function(a){return"This property should not be defined as it will not be used."}} +E.iF.prototype={ +$1:function(a){return"outerConeAngle ("+H.b(a[1])+") is less than or equal to innerConeAngle ("+H.b(a[0])+")."}} +E.fS.prototype={} +E.hq.prototype={ +$1:function(a){return"Accessor's total byteOffset "+H.b(a[0])+" isn't a multiple of componentType length "+H.b(a[1])+"."}} +E.hu.prototype={ +$1:function(a){return"Referenced bufferView's byteStride value "+H.b(a[0])+" is less than accessor element's length "+H.b(a[1])+"."}} +E.hg.prototype={ +$1:function(a){return"Accessor (offset: "+H.b(a[0])+", length: "+H.b(a[1])+") does not fit referenced bufferView ["+H.b(a[2])+"] length "+H.b(a[3])+"."}} +E.h2.prototype={ +$1:function(a){return"Override of previously set accessor usage. Initial: "+("'"+H.b(a[0])+"'")+", new: "+("'"+H.b(a[1])+"'")+"."}} +E.hv.prototype={ +$1:function(a){return"Animation channel has the same target as channel "+H.b(a[0])+"."}} +E.fZ.prototype={ +$1:function(a){return"Animation channel cannot target TRS properties of a node with defined matrix."}} +E.fY.prototype={ +$1:function(a){return"Animation channel cannot target WEIGHTS when mesh does not have morph targets."}} +E.h0.prototype={ +$1:function(a){return"accessor.min and accessor.max must be defined for animation input accessor."}} +E.h1.prototype={ +$1:function(a){return"Invalid Animation sampler input accessor format "+("'"+H.b(a[0])+"'")+". Must be one of "+J.aF(H.aW(a[1],"$it"),E.bn(),P.d).k(0)+"."}} +E.fX.prototype={ +$1:function(a){return"Invalid animation sampler output accessor format "+("'"+H.b(a[0])+"'")+" for path "+("'"+H.b(a[2])+"'")+". Must be one of "+J.aF(H.aW(a[1],"$it"),E.bn(),P.d).k(0)+"."}} +E.h_.prototype={ +$1:function(a){return"Animation sampler output accessor with "+("'"+H.b(a[0])+"'")+" interpolation must have at least "+H.b(a[1])+" elements. Got "+H.b(a[2])+"."}} +E.fW.prototype={ +$1:function(a){return"Animation sampler output accessor of count "+H.b(a[0])+" expected. Found "+H.b(a[1])+"."}} +E.h5.prototype={ +$1:function(a){return"Buffer refers to an unresolved GLB binary chunk."}} +E.h3.prototype={ +$1:function(a){return"BufferView does not fit buffer ("+H.b(a[0])+") byteLength ("+H.b(a[1])+")."}} +E.ht.prototype={ +$1:function(a){return"Override of previously set bufferView target or usage. Initial: "+("'"+H.b(a[0])+"'")+", new: "+("'"+H.b(a[1])+"'")+"."}} +E.hm.prototype={ +$1:function(a){return"Accessor of count "+H.b(a[0])+" expected. Found "+H.b(a[1])+"."}} +E.h7.prototype={ +$1:function(a){return"Invalid accessor format "+("'"+H.b(a[0])+"'")+" for this attribute semantic. Must be one of "+J.aF(H.aW(a[1],"$it"),E.bn(),P.d).k(0)+"."}} +E.h8.prototype={ +$1:function(a){return"accessor.min and accessor.max must be defined for POSITION attribute accessor."}} +E.h4.prototype={ +$1:function(a){return"bufferView.byteStride must be defined when two or more accessors use the same buffer view."}} +E.h6.prototype={ +$1:function(a){return"Vertex attribute data must be aligned to 4-byte boundaries."}} +E.he.prototype={ +$1:function(a){return"bufferView.byteStride must not be defined for indices accessor."}} +E.hd.prototype={ +$1:function(a){return"Invalid indices accessor format "+("'"+H.b(a[0])+"'")+". Must be one of "+J.aF(H.aW(a[1],"$it"),E.bn(),P.d).k(0)+". "}} +E.hc.prototype={ +$1:function(a){return"Number of vertices or indices ("+H.b(a[0])+") is not compatible with used drawing mode ("+("'"+H.b(a[1])+"'")+")."}} +E.hb.prototype={ +$1:function(a){return"Material is incompatible with mesh primitive: Texture binding "+("'"+H.b(a[0])+"'")+" needs 'TEXCOORD_"+H.b(a[1])+"' attribute."}} +E.hf.prototype={ +$1:function(a){return"All accessors of the same primitive must have the same count."}} +E.ha.prototype={ +$1:function(a){return"No base accessor for this attribute semantic."}} +E.h9.prototype={ +$1:function(a){return"Base accessor has different count."}} +E.hs.prototype={ +$1:function(a){return"Node is a part of a node loop."}} +E.hh.prototype={ +$1:function(a){return"Value overrides parent of node "+H.b(a[0])+"."}} +E.hk.prototype={ +$1:function(a){var u="The length of weights array ("+H.b(a[0])+") does not match the number of morph targets (",t=a[1] +return u+H.b(t==null?0:t)+")."}} +E.hj.prototype={ +$1:function(a){return"Node has skin defined, but mesh has no joints data."}} +E.hi.prototype={ +$1:function(a){return"Node uses skinned mesh, but has no skin defined."}} +E.hl.prototype={ +$1:function(a){return"Node "+H.b(a[0])+" is not a root node."}} +E.hn.prototype={ +$1:function(a){return"Invalid IBM accessor format "+("'"+H.b(a[0])+"'")+". Must be one of "+J.aF(H.aW(a[1],"$it"),E.bn(),P.d).k(0)+". "}} +E.fV.prototype={ +$1:function(a){return"Invalid MIME type "+("'"+H.b(a[0])+"'")+" for the texture source. Valid MIME types are "+J.aF(H.aW(a[1],"$it"),E.bn(),P.d).k(0)+"."}} +E.fU.prototype={ +$1:function(a){return"Extension is not declared in extensionsUsed."}} +E.fT.prototype={ +$1:function(a){return"Unexpected location for this extension."}} +E.ho.prototype={ +$1:function(a){return"Unresolved reference: "+H.b(a[0])+"."}} +E.hp.prototype={ +$1:function(a){return"Cannot validate an extension as it is not supported by the validator: "+("'"+H.b(a[0])+"'")+"."}} +E.hr.prototype={ +$1:function(a){return"This object may be unused."}} +E.eT.prototype={} +E.eZ.prototype={ +$1:function(a){return"Invalid GLB magic value ("+H.b(a[0])+")."}} +E.eY.prototype={ +$1:function(a){return"Invalid GLB version value "+H.b(a[0])+"."}} +E.eX.prototype={ +$1:function(a){return"Declared GLB length ("+H.b(a[0])+") is too small."}} +E.f6.prototype={ +$1:function(a){return"Length of "+H.b(a[0])+" chunk is not aligned to 4-byte boundaries."}} +E.eV.prototype={ +$1:function(a){return"Declared length ("+H.b(a[0])+") does not match GLB length ("+H.b(a[1])+")."}} +E.f5.prototype={ +$1:function(a){return"Chunk ("+H.b(a[0])+") length ("+H.b(a[1])+") does not fit total GLB length."}} +E.f1.prototype={ +$1:function(a){return"Chunk ("+H.b(a[0])+") cannot have zero length."}} +E.f2.prototype={ +$1:function(a){return"Chunk of type "+H.b(a[0])+" has already been used."}} +E.eW.prototype={ +$1:function(a){return"Unexpected end of chunk header."}} +E.eU.prototype={ +$1:function(a){return"Unexpected end of chunk data."}} +E.f_.prototype={ +$1:function(a){return"Unexpected end of header."}} +E.f4.prototype={ +$1:function(a){return"First chunk must be of JSON type. Found "+H.b(a[0])+" instead."}} +E.f3.prototype={ +$1:function(a){return"BIN chunk must be the second chunk."}} +E.f0.prototype={ +$1:function(a){return"Unknown GLB chunk type: "+H.b(a[0])+"."}} +E.bE.prototype={ +gbG:function(){var u=J.n2(this.a.c.$1(this.e)) +return u}, +gC:function(a){return C.a.gC(this.k(0))}, +K:function(a,b){if(b==null)return!1 +return b instanceof E.bE&&b.k(0)===this.k(0)}, +k:function(a){var u=this,t=u.c +if(t!=null&&t.length!==0)return H.b(t)+": "+u.gbG() +t=u.d +if(t!=null)return"@"+H.b(t)+": "+u.gbG() +return u.gbG()}} +D.bz.prototype={ +E:function(a,b){var u=this.d,t=this.e=a.ch.i(0,u) +if(u!==-1)if(t==null)b.j($.D(),H.a([u],[P.c]),"source") +else t.c=!0}, +bR:function(a,b){var u,t=this.e +t=t==null?null:t.cx +u=t==null?null:t.a +if(u!=null&&u!=="image/webp")b.j($.mO(),H.a([u,C.cr],[P.c]),"source")}, +$icB:1} +X.b8.prototype={ +E:function(a,b){var u,t,s=b.c +s.push("lights") +u=this.d +t=J.cr(s.slice(0),H.i(s,0)) +b.y.l(0,u,t) +u.aa(new X.fR(b,a)) +s.pop()}} +X.fR.prototype={ +$2:function(a,b){var u=this.a.c +u.push(C.c.k(a)) +u.pop()}} +X.ct.prototype={} +X.bI.prototype={} +X.bJ.prototype={ +E:function(a,b){var u,t,s=a.a.i(0,"KHR_lights_punctual") +if(s instanceof X.b8){u=this.d +t=this.e=s.d.i(0,u) +if(u!==-1)if(t==null)b.j($.D(),H.a([u],[P.c]),"light") +else t.c=!0}else b.B($.ce(),H.a(["/extensions/KHR_lights_punctual"],[P.c]))}} +A.bK.prototype={ +E:function(a,b){var u,t=this.e +if(t!=null){u=b.c +u.push("diffuseTexture") +t.E(a,b) +u.pop()}t=this.x +if(t!=null){u=b.c +u.push("specularGlossinessTexture") +t.E(a,b) +u.pop()}}} +S.bL.prototype={} +L.bM.prototype={ +E:function(a,b){var u,t +for(u=b.e,t=this;t!=null;){t=u.i(0,t) +if(t instanceof Y.ax){t.dx.l(0,b.M(),this.r) +break}}}} +D.aj.prototype={} +D.a_.prototype={} +D.bA.prototype={ +gC:function(a){var u=J.ai(this.a),t=J.ai(this.b) +return A.nU(A.dJ(A.dJ(0,C.c.gC(u)),C.c.gC(t)))}, +K:function(a,b){if(b==null)return!1 +return b instanceof D.bA&&this.b==b.b&&J.a5(this.a,b.a)}} +D.cu.prototype={} +D.dk.prototype={} +A.d3.prototype={ +bM:function(){var u=this,t=u.d=u.c.bE(u.gdl(),u.gdn(),u.gc7()),s=u.dy +s.e=t.geb() +s.f=t.gee() +s.r=new A.f9(u) +return u.e.a}, +aS:function(){this.d.F() +var u=this.e +if(u.a.a===0)u.Z(new K.ac("model/gltf-binary",null,this.fx))}, +dm:function(a){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e="model/gltf-binary",d="0" +f.d.aK() +for(u=J.K(a),t=K.ac,s=[t],t=[t],r=[P.c],q=f.a,p=0,o=0;p!==u.gh(a);)switch(f.r){case 0:n=u.gh(a) +m=f.x +o=Math.min(n-p,12-m) +n=m+o +f.x=n +C.i.a_(q,m,n,a,p) +p+=o +f.y=o +if(f.x!==12)break +l=f.b.getUint32(0,!0) +if(l!==1179937895){f.f.Y($.p1(),H.a([l],r),0) +f.d.F() +u=f.e.a +if(u.a===0){t=f.fx +u.ag(new K.ac(e,null,t))}return}k=f.b.getUint32(4,!0) +if(k!==2){f.f.Y($.p2(),H.a([k],r),4) +f.d.F() +u=f.e.a +if(u.a===0){t=f.fx +u.ag(new K.ac(e,null,t))}return}n=f.z=f.b.getUint32(8,!0) +if(n<=f.y)f.f.Y($.p4(),H.a([n],r),8) +f.r=1 +f.x=0 +break +case 1:n=u.gh(a) +m=f.x +o=Math.min(n-p,8-m) +n=m+o +f.x=n +C.i.a_(q,m,n,a,p) +p+=o +f.y+=o +if(f.x!==8)break +f.ch=f.b.getUint32(0,!0) +n=f.b.getUint32(4,!0) +f.cx=n +if((f.ch&3)!==0){m=f.f +j=$.oY() +i=f.y +m.Y(j,H.a(["0x"+C.a.ak(C.c.X(n,16),8,d)],r),i-8)}if(f.y+f.ch>f.z)f.f.Y($.oZ(),H.a(["0x"+C.a.ak(C.c.X(f.cx,16),8,d),f.ch],r),f.y-8) +if(f.Q===0&&f.cx!==1313821514)f.f.Y($.p9(),H.a(["0x"+C.a.ak(C.c.X(f.cx,16),8,d)],r),f.y-8) +n=f.cx +if(n===5130562&&f.Q>1&&!f.fr)f.f.Y($.p5(),H.a(["0x"+C.a.ak(C.c.X(n,16),8,d)],r),f.y-8) +h=new A.f7(f) +n=f.cx +switch(n){case 1313821514:if(f.ch===0){m=f.f +j=$.p0() +i=f.y +m.Y(j,H.a(["0x"+C.a.ak(C.c.X(n,16),8,d)],r),i-8)}h.$1$seen(f.cy) +f.cy=!0 +break +case 5130562:h.$1$seen(f.fr) +f.fr=!0 +break +default:f.f.Y($.pa(),H.a(["0x"+C.a.ak(C.c.X(n,16),8,d)],r),f.y-8) +f.r=4294967295}++f.Q +f.x=0 +break +case 1313821514:o=Math.min(u.gh(a)-p,f.ch-f.x) +if(f.db==null){n=f.dy +m=f.f +n=new K.cp(new P.bi(n,[H.i(n,0)]),new P.aN(new P.E($.p,s),t)) +n.e=m +f.db=n +f.dx=n.bM()}n=f.dy +g=p+o +m=u.T(a,p,g) +if(n.b>=4)H.O(n.bg()) +j=n.b +if((j&1)!==0)n.ai(m) +else if((j&3)===0){n=n.aQ() +m=new P.c_(m) +j=n.c +if(j==null)n.b=n.c=m +else{j.sau(m) +n.c=m}}n=f.x+=o +f.y+=o +if(n===f.ch){f.dy.a1() +f.r=1 +f.x=0}p=g +break +case 5130562:n=u.gh(a) +m=f.ch +o=Math.min(n-p,m-f.x) +n=f.fx +if(n==null)n=f.fx=new Uint8Array(m) +m=f.x +j=m+o +f.x=j +C.i.a_(n,m,j,a,p) +p+=o +f.y+=o +if(f.x===f.ch){f.r=1 +f.x=0}break +case 4294967295:n=u.gh(a) +m=f.ch +j=f.x +o=Math.min(n-p,m-j) +j+=o +f.x=j +p+=o +f.y+=o +if(j===m){f.r=1 +f.x=0}break}f.d.al()}, +dq:function(){var u,t,s=this +switch(s.r){case 0:s.f.bu($.p8(),s.y) +s.aS() +break +case 1:if(s.x!==0){s.f.bu($.p7(),s.y) +s.aS()}else{u=s.z +t=s.y +if(u!==t)s.f.Y($.p3(),H.a([u,t],[P.c]),s.y) +u=s.dx +if(u!=null)u.am(0,new A.f8(s),s.gc7(),P.A) +else s.e.Z(new K.ac("model/gltf-binary",null,s.fx))}break +default:if(s.ch>0)s.f.bu($.p6(),s.y) +s.aS()}}, +dr:function(a){var u +this.d.F() +u=this.e +if(u.a.a===0)u.L(a)}, +$icq:1} +A.f9.prototype={ +$0:function(){var u=this.a +if((u.dy.b&4)!==0)u.d.al() +else u.aS()}} +A.f7.prototype={ +$1$seen:function(a){var u=this.a +if(a){u.f.Y($.p_(),H.a(["0x"+C.a.ak(C.c.X(u.cx,16),8,"0")],[P.c]),u.y-8) +u.r=4294967295}else u.r=u.cx}, +$0:function(){return this.$1$seen(null)}} +A.f8.prototype={ +$1:function(a){var u=this.a,t=a==null?null:a.b +u.e.Z(new K.ac("model/gltf-binary",t,u.fx))}} +K.ac.prototype={} +K.cq.prototype={} +K.fe.prototype={ +$0:function(){return this.a.b.aK()}} +K.ff.prototype={ +$0:function(){return this.a.b.al()}} +K.fd.prototype={ +$0:function(){return this.a.b.F()}} +K.fg.prototype={ +$1:function(a){var u,t,s,r,q,p=this,o=null,n=p.a +if(!n.a){u=J.K(a) +if(u.gt(a)){n.b.F() +p.b.a1() +p.c.L(C.a_) +return}t=u.i(a,0) +if(103===t){u=p.b +s=p.d +r=new Uint8Array(12) +q=K.ac +q=new A.d3(r,new P.bi(u,[H.i(u,0)]),new P.aN(new P.E($.p,[q]),[q])) +s.id=!0 +q.f=s +u=r.buffer +u.toString +q.b=H.hU(u,0,o) +q.dy=P.nz(o,o,o,[P.l,P.h]) +p.c.Z(q) +n.a=!0}else{u=123===t||9===t||32===t||10===t||13===t||239===t +s=p.c +r=p.b +if(u){s.Z(K.rg(new P.bi(r,[H.i(r,0)]),p.d)) +n.a=!0}else{n.b.F() +r.a1() +s.L(C.a_) +return}}}p.b.A(0,a)}} +K.cp.prototype={ +bM:function(){var u=this,t=P.c,s=H.a([],[t]),r=new P.N("") +u.d=new P.l5(new P.dH(!1,r),new P.kH(C.a2.gct().a,new P.kT(new K.fb(u),s,[t]),r)) +u.b=u.a.bE(u.gdu(),u.gdw(),u.gdA()) +return u.c.a}, +dv:function(a){var u,t,s,r,q=this +q.b.aK() +if(q.f){t=J.K(a) +if(t.ga2(a)&&239===t.i(a,0))q.e.ar($.dR(),H.a(["BOM found at the beginning of UTF-8 stream."],[P.c]),!0) +q.f=!1}try{t=q.d +s=J.H(a) +t.a.cs(a,0,s) +q.b.al()}catch(r){t=H.z(r) +if(t instanceof P.ak){u=t +q.e.ar($.dR(),H.a([u],[P.c]),!0) +q.b.F() +q.c.b_()}else throw r}}, +dB:function(a){var u +this.b.F() +u=this.c +if(u.a.a===0)u.L(a)}, +dz:function(){var u,t,s,r=this +try{r.d.a1()}catch(t){s=H.z(t) +if(s instanceof P.ak){u=s +r.e.ar($.dR(),H.a([u],[P.c]),!0) +r.b.F() +r.c.b_()}else throw t}}, +$icq:1} +K.fb.prototype={ +$1:function(a){var u,t,s=a[0],r=s,q=P.c +if(H.a2(r,"$if",[P.d,q],"$af"))try{r=this.a +u=V.nc(s,r.e) +r.c.Z(new K.ac("model/gltf+json",u,null))}catch(t){if(H.z(t) instanceof M.bF){r=this.a +r.b.F() +r.c.b_()}else throw t}else{r=this.a +r.e.ar($.P(),H.a([s,"object"],[q]),!0) +r.b.F() +r.c.b_()}}} +K.d5.prototype={ +k:function(a){return"Invalid data: could not detect glTF format."}, +$iar:1} +F.lr.prototype={ +$2:function(a,b){this.a.$1(a) +if(!(typeof b==="number"&&Math.floor(b)===b&&b>=0)){this.b.l(0,a,-1) +this.c.p($.dQ(),a)}}} +F.ls.prototype={ +$2:function(a,b){this.a.$1(a) +if(!(typeof b==="number"&&Math.floor(b)===b&&b>=0)){this.b.l(0,a,-1) +this.c.p($.dQ(),a)}}} +F.lt.prototype={ +$1:function(a){return a.ae(0,P.d,P.h)}} +F.lq.prototype={ +$0:function(){return H.a([],[D.cu])}} +F.ae.prototype={ +i:function(a,b){return b==null||b<0||b>=this.a.length?null:this.a[b]}, +l:function(a,b,c){this.a[b]=c}, +gh:function(a){return this.b}, +sh:function(a,b){throw H.e(P.W("Changing length is not supported"))}, +k:function(a){return P.fF(this.a,"[","]")}, +aa:function(a){var u,t,s,r +for(u=this.b,t=this.a,s=0;s0.00674)a.j($.mG(),H.a([b-2,b,Math.sqrt(u.a)],[P.c]),u.b) +u.a=0}return!0}, +$aY:function(){return[P.G]}} +F.jD.prototype={ +W:function(a,b,c,d){var u=this,t=u.c,s=t!=null?t.$1(d):d +if(3===c){if(1!==s&&-1!==s)a.j($.oF(),H.a([b-3,b,s],[P.c]),u.b)}else{t=u.a+s*s +u.a=t +if(2===c){if(Math.abs(Math.sqrt(t)-1)>0.00674)a.j($.mG(),H.a([b-2,b,Math.sqrt(u.a)],[P.c]),u.b) +u.a=0}}return!0}, +$aY:function(){return[P.G]}} +F.e4.prototype={ +W:function(a,b,c,d){if(1d)a.j($.oJ(),H.a([b,d],[P.c]),this.a) +return!0}, +$aY:function(){return[P.w]}} +A.jP.prototype={ +b7:function(){var u,t,s,r,q,p,o,n,m,l,k,j,i=this,h=P.d,g=P.c,f=P.V(h,g),e=i.a +if(e!=null)f.l(0,"uri",e.k(0)) +e=i.c +u=e==null +if((u?null:e.a)!=null)f.l(0,"mimeType",u?null:e.a) +f.l(0,"validatorVersion","2.0.0-dev.3.2") +if(i.d)f.l(0,"validatedAt",new P.cm(Date.now(),!1).eo().en()) +e=i.b +t=e.fy +s=P.V(h,g) +r=H.a([0,0,0,0],[P.h]) +u=new Array(t.length) +u.fixed$length=Array +q=H.a(u,[[P.f,P.d,P.c]]) +for(u=q.length,p=0;p>>6}} +T.bO.prototype={ +cX:function(a){var u=a.a,t=this.a +t[15]=u[15] +t[14]=u[14] +t[13]=u[13] +t[12]=u[12] +t[11]=u[11] +t[10]=u[10] +t[9]=u[9] +t[8]=u[8] +t[7]=u[7] +t[6]=u[6] +t[5]=u[5] +t[4]=u[4] +t[3]=u[3] +t[2]=u[2] +t[1]=u[1] +t[0]=u[0]}, +k:function(a){var u=this +return"[0] "+u.aL(0).k(0)+"\n[1] "+u.aL(1).k(0)+"\n[2] "+u.aL(2).k(0)+"\n[3] "+u.aL(3).k(0)+"\n"}, +K:function(a,b){var u,t,s +if(b==null)return!1 +if(b instanceof T.bO){u=this.a +t=u[0] +s=b.a +u=t===s[0]&&u[1]===s[1]&&u[2]===s[2]&&u[3]===s[3]&&u[4]===s[4]&&u[5]===s[5]&&u[6]===s[6]&&u[7]===s[7]&&u[8]===s[8]&&u[9]===s[9]&&u[10]===s[10]&&u[11]===s[11]&&u[12]===s[12]&&u[13]===s[13]&&u[14]===s[14]&&u[15]===s[15]}else u=!1 +return u}, +gC:function(a){return A.mu(this.a)}, +aL:function(a){var u=new Float32Array(4),t=this.a +u[0]=t[a] +u[1]=t[4+a] +u[2]=t[8+a] +u[3]=t[12+a] +return new T.ds(u)}, +cu:function(){var u=this.a,t=u[0],s=u[5],r=u[1],q=u[4],p=t*s-r*q,o=u[6],n=u[2],m=t*o-n*q,l=u[7],k=u[3],j=t*l-k*q,i=r*o-n*s,h=r*l-k*s,g=n*l-k*o +o=u[8] +k=u[9] +l=u[10] +n=u[11] +return-(k*g-l*h+n*i)*u[12]+(o*g-l*j+n*m)*u[13]-(o*h-k*j+n*p)*u[14]+(o*i-k*m+l*p)*u[15]}, +cD:function(){var u=this.a,t=0+Math.abs(u[0])+Math.abs(u[1])+Math.abs(u[2])+Math.abs(u[3]),s=t>0?t:0 +t=0+Math.abs(u[4])+Math.abs(u[5])+Math.abs(u[6])+Math.abs(u[7]) +if(t>s)s=t +t=0+Math.abs(u[8])+Math.abs(u[9])+Math.abs(u[10])+Math.abs(u[11]) +if(t>s)s=t +t=0+Math.abs(u[12])+Math.abs(u[13])+Math.abs(u[14])+Math.abs(u[15]) +return t>s?t:s}, +cE:function(){var u=this.a +return u[0]===1&&u[1]===0&&u[2]===0&&u[3]===0&&u[4]===0&&u[5]===1&&u[6]===0&&u[7]===0&&u[8]===0&&u[9]===0&&u[10]===1&&u[11]===0&&u[12]===0&&u[13]===0&&u[14]===0&&u[15]===1}} +T.di.prototype={ +gaI:function(){var u=this.a,t=u[0],s=u[1],r=u[2],q=u[3] +return t*t+s*s+r*r+q*q}, +gh:function(a){var u=this.a,t=u[0],s=u[1],r=u[2],q=u[3] +return Math.sqrt(t*t+s*s+r*r+q*q)}, +k:function(a){var u=this.a +return H.b(u[0])+", "+H.b(u[1])+", "+H.b(u[2])+" @ "+H.b(u[3])}} +T.bh.prototype={ +be:function(a,b,c){var u=this.a +u[0]=a +u[1]=b +u[2]=c}, +k:function(a){var u=this.a +return"["+H.b(u[0])+","+H.b(u[1])+","+H.b(u[2])+"]"}, +K:function(a,b){var u,t,s +if(b==null)return!1 +if(b instanceof T.bh){u=this.a +t=u[0] +s=b.a +u=t===s[0]&&u[1]===s[1]&&u[2]===s[2]}else u=!1 +return u}, +gC:function(a){return A.mu(this.a)}, +gh:function(a){var u=this.a,t=u[0],s=u[1] +u=u[2] +return Math.sqrt(t*t+s*s+u*u)}, +gaI:function(){var u=this.a,t=u[0],s=u[1] +u=u[2] +return t*t+s*s+u*u}} +T.ds.prototype={ +k:function(a){var u=this.a +return H.b(u[0])+","+H.b(u[1])+","+H.b(u[2])+","+H.b(u[3])}, +K:function(a,b){var u,t,s +if(b==null)return!1 +if(b instanceof T.ds){u=this.a +t=u[0] +s=b.a +u=t===s[0]&&u[1]===s[1]&&u[2]===s[2]&&u[3]===s[3]}else u=!1 +return u}, +gC:function(a){return A.mu(this.a)}, +gh:function(a){var u=this.a,t=u[0],s=u[1],r=u[2] +u=u[3] +return Math.sqrt(t*t+s*s+r*r+u*u)}} +Q.dh.prototype={} +Q.m2.prototype={} +Q.dy.prototype={} +Q.lN.prototype={ +$3:function(a,b,c){var u=c.$1(J.aa(a)) +return u}} +Q.lJ.prototype={ +$2:function(a,b){var u=P.bm(new Q.lI(a,b,this.a)) +return new self.Promise(u)}, +$C:"$2", +$R:2} +Q.lI.prototype={ +$2:function(a,b){Q.dN(this.a,this.b).am(0,new Q.lF(a),new Q.lG(this.c,b),P.A)}, +$C:"$2", +$R:2} +Q.lF.prototype={ +$1:function(a){this.a.$1(P.mw(a))}} +Q.lG.prototype={ +$2:function(a,b){return this.a.$3(a,b,this.b)}, +$C:"$2", +$R:2, +$S:11} +Q.lK.prototype={ +$2:function(a,b){var u=P.bm(new Q.lH(a,b,this.a)) +return new self.Promise(u)}, +$C:"$2", +$R:2} +Q.lH.prototype={ +$2:function(a,b){Q.mA(this.a,this.b).am(0,new Q.lD(a),new Q.lE(this.c,b),P.A)}, +$C:"$2", +$R:2} +Q.lD.prototype={ +$1:function(a){this.a.$1(P.mw(a))}} +Q.lE.prototype={ +$2:function(a,b){return this.a.$3(a,b,this.b)}, +$C:"$2", +$R:2, +$S:11} +Q.lL.prototype={ +$0:function(){return"2.0.0-dev.3.2"}, +$C:"$0", +$R:0} +Q.lM.prototype={ +$0:function(){return P.mw(M.rc())}, +$C:"$0", +$R:0} +Q.lh.prototype={ +$1:function(a){var u=P.af,t=new P.E($.p,[u]),s=new P.aN(t,[u]) +J.qR(this.a.$1(J.aa(a)),P.bm(new Q.li(s)),P.bm(new Q.lj(s))) +return t}} +Q.li.prototype={ +$1:function(a){var u=this.a +if(!!J.m(a).$iaf)u.Z(a) +else u.L(new P.ab(!1,null,null,"options.externalResourceFunction: Promise must be fulfilled with Uint8Array."))}, +$S:6} +Q.lj.prototype={ +$1:function(a){return this.a.L(new Q.i2(J.aa(a)))}, +$S:5} +Q.lf.prototype={ +$1:function(a){if(a==null)return this.a.c +return this.b.$1(a)}, +$0:function(){return this.$1(null)}, +$C:"$1", +$R:0, +$D:function(){return[null]}} +Q.lg.prototype={ +$1:function(a){var u=this.a.$1(a) +return u==null?null:P.rU(u,H.i(u,0))}} +Q.i2.prototype={ +k:function(a){return"Node Exception: "+H.b(this.a)}, +$iar:1};(function aliases(){var u=J.bD.prototype +u.cZ=u.b6 +u=J.da.prototype +u.d_=u.k +u=P.J.prototype +u.d0=u.a_ +u=P.dD.prototype +u.d1=u.a1})();(function installTearOffs(){var u=hunkHelpers._static_1,t=hunkHelpers._static_0,s=hunkHelpers.installStaticTearOff,r=hunkHelpers.installInstanceTearOff,q=hunkHelpers._instance_0u,p=hunkHelpers._instance_1i,o=hunkHelpers._static_2,n=hunkHelpers._instance_1u +u(P,"tT","t4",1) +u(P,"tU","t5",1) +u(P,"tV","t6",1) +t(P,"o7","tJ",0) +s(P,"tW",1,null,["$2","$1"],["nX",function(a){return P.nX(a,null)}],13,0) +r(P.E.prototype,"gdc",0,1,function(){return[null]},["$2","$1"],["ao","dd"],13,0) +q(P.dB.prototype,"gdQ","a1",48) +var m +q(m=P.dw.prototype,"gcc","aV",0) +q(m,"gcd","aW",0) +r(m=P.cF.prototype,"geb",0,0,null,["$1","$0"],["cK","aK"],47,0) +q(m,"gee","al",0) +q(m,"gcc","aV",0) +q(m,"gcd","aW",0) +p(P.c2.prototype,"gcq","D",21) +o(M,"tP","qW",23) +o(M,"tO","qV",24) +o(M,"tM","qT",25) +o(M,"tN","qU",26) +n(M.Q.prototype,"gbI","ea",15) +o(Z,"tR","qY",27) +o(Z,"tQ","qX",28) +o(T,"tS","r_",29) +o(Q,"tX","r1",30) +o(V,"tY","r0",31) +o(G,"u0","r4",32) +o(G,"tZ","r2",33) +o(G,"u_","r3",34) +o(T,"uc","rm",35) +o(Y,"ur","rz",55) +o(Y,"uu","rI",37) +o(Y,"ut","rH",38) +o(Y,"us","rG",39) +o(Y,"dL","rW",40) +o(S,"uv","rC",41) +o(V,"ux","rF",42) +o(T,"uy","rR",43) +o(B,"uz","rS",44) +o(O,"uA","rT",45) +o(U,"uC","rX",46) +u(E,"bn","tG",10) +u(E,"o9","tD",10) +u(D,"u5","tA",9) +o(D,"u4","rf",49) +o(X,"ui","rs",50) +o(X,"uj","rt",51) +o(X,"uk","ru",52) +o(A,"ul","rv",53) +o(S,"um","rw",54) +o(L,"uo","rx",36) +n(m=A.d3.prototype,"gdl","dm",12) +q(m,"gdn","dq",0) +n(m,"gc7","dr",5) +n(m=K.cp.prototype,"gdu","dv",12) +n(m,"gdA","dB",5) +q(m,"gdw","dz",0) +u(U,"un","tB",9)})();(function inheritance(){var u=hunkHelpers.mixin,t=hunkHelpers.inherit,s=hunkHelpers.inheritMany +t(P.c,null) +s(P.c,[H.m5,J.bD,J.bu,P.t,H.e1,P.a7,H.ck,P.dz,H.aJ,P.Z,H.eR,H.d2,H.jF,H.cD,P.hD,H.e7,H.fH,H.jz,P.b3,H.co,H.dA,H.dn,H.hw,H.hx,H.fJ,H.kM,P.l0,P.k4,P.c1,P.bj,P.R,P.kf,P.cH,P.E,P.du,P.jn,P.jo,P.dB,P.l_,P.k9,P.cF,P.kN,P.kj,P.ki,P.kY,P.bw,P.l6,P.kD,P.kS,P.kK,P.kL,P.J,P.l2,P.jv,P.e5,P.ka,P.e3,P.dH,P.aT,P.cm,P.G,P.i7,P.dm,P.kl,P.ak,P.bB,P.l,P.f,P.cv,P.A,P.a1,P.d,P.N,P.me,P.bV,P.ah,P.bY,P.dG,P.jH,P.kU,P.af,V.fc,F.Y,V.cB,V.b0,V.aY,V.k,M.jO,M.j,M.bF,Y.cI,Y.cG,Y.bZ,Y.b4,Y.bC,Y.ft,Y.dr,Y.dp,Y.as,N.c3,N.dj,N.ie,O.d7,E.aL,E.fD,E.bE,D.aj,D.a_,D.bA,D.cu,D.dk,A.d3,K.ac,K.cq,K.cp,K.d5,A.jP,T.bO,T.di,T.bh,T.ds,Q.i2]) +s(J.bD,[J.d8,J.fI,J.da,J.b6,J.cs,J.bG,H.cz]) +s(J.da,[J.i8,J.bW,J.b7,Q.dh,Q.m2,Q.dy]) +t(J.m4,J.b6) +s(J.cs,[J.d9,J.fG]) +s(P.t,[H.kd,H.B,H.cw,H.mh,H.cC,H.kg,P.fE]) +s(H.kd,[H.cY,H.dI]) +t(H.kk,H.cY) +t(H.ke,H.dI) +t(H.cj,H.ke) +t(P.hA,P.a7) +s(P.hA,[H.cZ,H.bH,P.kB,P.kI]) +s(H.ck,[H.e2,H.ib,H.lP,H.jy,H.fN,H.lz,H.lA,H.lB,P.k6,P.k5,P.k7,P.k8,P.l1,P.l7,P.l8,P.ln,P.km,P.ku,P.kq,P.kr,P.ks,P.ko,P.kt,P.kn,P.kx,P.ky,P.kw,P.kv,P.jp,P.jq,P.jr,P.js,P.jt,P.kW,P.kV,P.kc,P.kb,P.kO,P.ll,P.kR,P.kQ,P.hB,P.hC,P.i1,P.jJ,P.jK,P.jL,P.l4,P.lc,P.lb,P.ld,P.le,P.l9,M.k0,M.k1,M.k2,M.k3,M.jZ,M.k_,M.jU,M.jV,M.jW,M.jX,Z.dU,Z.dV,V.fn,V.fo,V.fp,V.fl,V.fm,V.fj,V.fk,V.fh,V.fi,V.fq,V.fr,Y.hF,S.hR,S.hI,S.hJ,S.hK,S.hM,S.hN,S.hO,S.hP,S.hQ,S.hL,V.i3,V.i4,V.i5,B.ij,O.jk,M.ea,M.e9,M.eb,M.ee,M.ef,M.ec,M.ed,M.eg,Y.fv,Y.fx,Y.fw,Y.fu,Y.fM,Y.fL,Y.ia,N.ig,N.ih,O.lQ,O.lR,O.lS,O.lm,E.et,E.er,E.eq,E.ey,E.ev,E.ew,E.eu,E.eH,E.eJ,E.eA,E.eG,E.ez,E.eF,E.eD,E.eE,E.eC,E.eB,E.eM,E.eL,E.eK,E.eQ,E.eP,E.en,E.eo,E.ep,E.eO,E.eN,E.es,E.eI,E.ex,E.em,E.ek,E.el,E.fC,E.iv,E.iw,E.iB,E.iz,E.it,E.ip,E.ix,E.iq,E.iA,E.il,E.iu,E.io,E.ir,E.im,E.iy,E.is,E.j9,E.j8,E.iZ,E.iX,E.iY,E.iW,E.iU,E.iV,E.j4,E.j5,E.iT,E.iS,E.iR,E.iP,E.iO,E.iM,E.iG,E.jj,E.ji,E.iL,E.iI,E.iK,E.iH,E.iJ,E.jh,E.jf,E.jb,E.j0,E.jg,E.ja,E.jc,E.jd,E.je,E.j3,E.j2,E.j1,E.j_,E.j7,E.j6,E.iN,E.iE,E.iD,E.iQ,E.iF,E.hq,E.hu,E.hg,E.h2,E.hv,E.fZ,E.fY,E.h0,E.h1,E.fX,E.h_,E.fW,E.h5,E.h3,E.ht,E.hm,E.h7,E.h8,E.h4,E.h6,E.he,E.hd,E.hc,E.hb,E.hf,E.ha,E.h9,E.hs,E.hh,E.hk,E.hj,E.hi,E.hl,E.hn,E.fV,E.fU,E.fT,E.ho,E.hp,E.hr,E.eZ,E.eY,E.eX,E.f6,E.eV,E.f5,E.f1,E.f2,E.eW,E.eU,E.f_,E.f4,E.f3,E.f0,X.fR,A.f9,A.f7,A.f8,K.fe,K.ff,K.fd,K.fg,K.fb,F.lr,F.ls,F.lt,F.lq,A.jR,A.jQ,A.lx,Q.lN,Q.lJ,Q.lI,Q.lF,Q.lG,Q.lK,Q.lH,Q.lD,Q.lE,Q.lL,Q.lM,Q.lh,Q.li,Q.lj,Q.lf,Q.lg]) +t(P.hy,P.dz) +s(P.hy,[H.dq,F.ae]) +s(H.dq,[H.cl,P.bX]) +s(H.B,[H.av,H.d1,H.b9,P.kC,P.dl]) +s(H.av,[H.jw,H.aw,P.kJ,P.kA]) +t(H.d_,H.cw) +s(P.Z,[H.bN,H.dt,H.jl]) +t(H.d0,H.cC) +t(P.dF,P.hD) +t(P.cE,P.dF) +t(H.e8,P.cE) +s(H.e7,[H.b2,H.aI]) +s(P.b3,[H.i6,H.fO,H.jE,H.e0,H.ii,P.cA,P.ab,P.i0,P.jG,P.jB,P.be,P.e6,P.ei]) +s(H.jy,[H.jm,H.ch]) +t(H.dc,H.cz) +s(H.dc,[H.cJ,H.cL]) +t(H.cK,H.cJ) +t(H.dd,H.cK) +t(H.cM,H.cL) +t(H.cy,H.cM) +s(H.dd,[H.db,H.hV]) +s(H.cy,[H.hW,H.hX,H.hY,H.hZ,H.i_,H.de,H.bP]) +t(P.kZ,P.fE) +t(P.aN,P.kf) +s(P.dB,[P.dv,P.dE]) +t(P.kX,P.jn) +s(P.kX,[P.bi,P.kz]) +t(P.dw,P.cF) +s(P.kN,[P.kF,P.dC]) +s(P.kj,[P.c_,P.dx]) +t(P.kP,P.l6) +t(P.kE,P.kB) +s(P.kS,[P.c2,P.l3]) +t(P.ju,P.jv) +t(P.dD,P.ju) +t(P.kH,P.dD) +s(P.e5,[P.dW,P.eS,P.fP]) +t(P.eh,P.jo) +s(P.eh,[P.dY,P.dX,P.fQ,P.jN]) +s(P.e3,[P.e_,P.kT]) +t(P.l5,P.e_) +t(P.jM,P.eS) +s(P.G,[P.w,P.h]) +s(P.ab,[P.bU,P.fz]) +t(P.kh,P.dG) +s(V.fc,[V.fa,M.bq,M.br,M.bs,Z.cf,Z.bt,Z.cg,T.bv,G.bx,G.by,V.d4,Y.bS,Y.bg,S.cx,D.bz,X.b8,X.bI,X.bJ,A.bK,S.bL,L.bM]) +s(V.fa,[M.Q,Z.aZ,Q.b_,V.aH,G.b1,T.b5,Y.ax,S.ba,V.ad,T.bc,B.aK,O.bd,U.bf,X.ct]) +s(M.Q,[M.jY,M.jT]) +s(F.Y,[M.fA,M.hS,M.hG,M.hT,M.hH,Z.dT,Z.ic,S.fy,O.fs,F.jC,F.jD,F.e4]) +s(Y.bg,[Y.bR,Y.bQ]) +s(Y.ft,[Y.fK,Y.i9,Y.jS]) +s(E.fD,[E.ej,E.fB,E.ik,E.iC,E.fS,E.eT]) +u(H.dq,H.jF) +u(H.dI,P.J) +u(H.cJ,P.J) +u(H.cK,H.d2) +u(H.cL,P.J) +u(H.cM,H.d2) +u(P.dv,P.k9) +u(P.dE,P.l_) +u(P.dz,P.J) +u(P.dF,P.l2)})() +var v={mangledGlobalNames:{h:"int",w:"double",G:"num",d:"String",aT:"bool",A:"Null",l:"List"},mangledNames:{},getTypeFromName:getGlobalFromName,metadata:[],types:[{func:1,ret:-1},{func:1,ret:-1,args:[{func:1,ret:-1}]},{func:1,ret:P.w,args:[P.h]},{func:1,ret:P.aT,args:[P.h]},{func:1,args:[,]},{func:1,ret:-1,args:[P.c]},{func:1,ret:P.A,args:[P.c]},{func:1,ret:P.A,args:[,,]},{func:1,ret:P.A,args:[,]},{func:1,ret:-1,args:[M.j]},{func:1,ret:P.d,args:[P.c]},{func:1,ret:-1,args:[P.c,P.a1]},{func:1,ret:-1,args:[[P.l,P.h]]},{func:1,ret:-1,args:[P.c],opt:[P.a1]},{func:1,ret:P.h,args:[P.h]},{func:1,ret:P.w,args:[P.G]},{func:1,ret:-1,args:[,]},{func:1,ret:P.A,args:[,P.a1]},{func:1,ret:P.af,args:[,,]},{func:1,ret:P.af,args:[P.h]},{func:1,ret:P.A,args:[,],opt:[P.a1]},{func:1,ret:P.aT,args:[P.c]},{func:1,ret:[P.E,,],args:[,]},{func:1,ret:[M.Q,P.G],args:[[P.f,P.d,P.c],M.j]},{func:1,ret:M.bq,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:M.br,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:M.bs,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:Z.aZ,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:Z.bt,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:T.bv,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:Q.b_,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:V.aH,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:G.b1,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:G.bx,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:G.by,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:T.b5,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:L.bM,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:Y.bS,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:Y.bR,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:Y.bQ,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:Y.bg,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:S.ba,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:V.ad,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:T.bc,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:B.aK,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:O.bd,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:U.bf,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:-1,opt:[[P.R,,]]},{func:1,ret:[P.R,,]},{func:1,ret:D.bz,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:X.b8,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:X.bI,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:X.bJ,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:A.bK,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:S.bL,args:[[P.f,P.d,P.c],M.j]},{func:1,ret:Y.ax,args:[[P.f,P.d,P.c],M.j]}],interceptorsByTag:null,leafTags:null};(function constants(){var u=hunkHelpers.makeConstList +C.bp=J.bD.prototype +C.d=J.b6.prototype +C.bt=J.d8.prototype +C.c=J.d9.prototype +C.bu=J.cs.prototype +C.a=J.bG.prototype +C.bv=J.b7.prototype +C.cP=H.db.prototype +C.i=H.bP.prototype +C.ao=J.i8.prototype +C.O=J.bW.prototype +C.P=new V.k("MAT4",5126,!1) +C.A=new V.k("SCALAR",5126,!1) +C.aO=new V.k("VEC2",5121,!0) +C.aS=new V.k("VEC2",5123,!0) +C.aT=new V.k("VEC2",5126,!1) +C.R=new V.k("VEC3",5121,!0) +C.T=new V.k("VEC3",5123,!0) +C.j=new V.k("VEC3",5126,!1) +C.aW=new V.k("VEC4",5121,!1) +C.D=new V.k("VEC4",5121,!0) +C.aX=new V.k("VEC4",5123,!1) +C.E=new V.k("VEC4",5123,!0) +C.u=new V.k("VEC4",5126,!1) +C.aY=new V.aY("AnimationInput") +C.aZ=new V.aY("AnimationOutput") +C.b_=new V.aY("IBM") +C.b0=new V.aY("PrimitiveIndices") +C.W=new V.aY("VertexAttribute") +C.b1=new V.b0("IBM") +C.b2=new V.b0("Image") +C.X=new V.b0("IndexBuffer") +C.v=new V.b0("Other") +C.Y=new V.b0("VertexBuffer") +C.di=new P.dY() +C.b3=new P.dW() +C.b4=new P.dX() +C.Z=new H.eR([P.A]) +C.a_=new K.d5() +C.b5=new M.bF() +C.a0=function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +} +C.b6=function() { + var toStringFunction = Object.prototype.toString; + function getTag(o) { + var s = toStringFunction.call(o); + return s.substring(8, s.length - 1); + } + function getUnknownTag(object, tag) { + if (/^HTML[A-Z].*Element$/.test(tag)) { + var name = toStringFunction.call(object); + if (name == "[object Object]") return null; + return "HTMLElement"; + } + } + function getUnknownTagGenericBrowser(object, tag) { + if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement"; + return getUnknownTag(object, tag); + } + function prototypeForTag(tag) { + if (typeof window == "undefined") return null; + if (typeof window[tag] == "undefined") return null; + var constructor = window[tag]; + if (typeof constructor != "function") return null; + return constructor.prototype; + } + function discriminator(tag) { return null; } + var isBrowser = typeof navigator == "object"; + return { + getTag: getTag, + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, + prototypeForTag: prototypeForTag, + discriminator: discriminator }; +} +C.bb=function(getTagFallback) { + return function(hooks) { + if (typeof navigator != "object") return hooks; + var ua = navigator.userAgent; + if (ua.indexOf("DumpRenderTree") >= 0) return hooks; + if (ua.indexOf("Chrome") >= 0) { + function confirm(p) { + return typeof window == "object" && window[p] && window[p].name == p; + } + if (confirm("Window") && confirm("HTMLElement")) return hooks; + } + hooks.getTag = getTagFallback; + }; +} +C.b7=function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +} +C.b8=function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + if (!!o.xmlVersion) return "!Document"; + return "!HTMLDocument"; + } + return tag; + } + function prototypeForTagFixed(tag) { + if (tag == "Document") return null; + return prototypeForTag(tag); + } + hooks.getTag = getTagFixed; + hooks.prototypeForTag = prototypeForTagFixed; +} +C.ba=function(hooks) { + var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; + if (userAgent.indexOf("Firefox") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "GeoGeolocation": "Geolocation", + "Location": "!Location", + "WorkerMessageEvent": "MessageEvent", + "XMLDocument": "!Document"}; + function getTagFirefox(o) { + var tag = getTag(o); + return quickMap[tag] || tag; + } + hooks.getTag = getTagFirefox; +} +C.b9=function(hooks) { + var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; + if (userAgent.indexOf("Trident/") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "HTMLDDElement": "HTMLElement", + "HTMLDTElement": "HTMLElement", + "HTMLPhraseElement": "HTMLElement", + "Position": "Geoposition" + }; + function getTagIE(o) { + var tag = getTag(o); + var newTag = quickMap[tag]; + if (newTag) return newTag; + if (tag == "Object") { + if (window.DataView && (o instanceof window.DataView)) return "DataView"; + } + return tag; + } + function prototypeForTagIE(tag) { + var constructor = window[tag]; + if (constructor == null) return null; + return constructor.prototype; + } + hooks.getTag = getTagIE; + hooks.prototypeForTag = prototypeForTagIE; +} +C.a1=function(hooks) { return hooks; } + +C.a2=new P.fP() +C.bc=new P.i7() +C.a3=new Y.dp() +C.bd=new Y.dr() +C.a4=new P.jM() +C.F=new P.ki() +C.f=new P.kP() +C.H=new Y.b4(0,"Format.Unknown") +C.m=new Y.b4(1,"Format.RGB") +C.w=new Y.b4(2,"Format.RGBA") +C.a5=new Y.b4(3,"Format.Luminance") +C.a6=new Y.b4(4,"Format.LuminanceAlpha") +C.a7=new Y.as("Wrong WebP header.") +C.bq=new Y.as("PNG header not found.") +C.br=new Y.as("Invalid JPEG marker segment length.") +C.n=new Y.as("Wrong chunk length.") +C.bs=new Y.as("Invalid start of file.") +C.bw=new P.fQ(null) +C.bx=H.a(u([0,0]),[P.w]) +C.by=H.a(u([0,0,0]),[P.w]) +C.bz=H.a(u([127,2047,65535,1114111]),[P.h]) +C.bA=H.a(u([16]),[P.h]) +C.bB=H.a(u([1,1]),[P.w]) +C.a8=H.a(u([1,1,1]),[P.w]) +C.a9=H.a(u([1,1,1,1]),[P.w]) +C.aa=H.a(u([2]),[P.h]) +C.bC=H.a(u([255,216]),[P.h]) +C.ab=H.a(u([0,0,32776,33792,1,10240,0,0]),[P.h]) +C.bE=H.a(u([137,80,78,71,13,10,26,10]),[P.h]) +C.N=H.v(U.bf) +C.be=new D.a_(D.u4()) +C.cN=new H.aI([C.N,C.be],[P.ah,D.a_]) +C.bk=new D.aj("EXT_texture_webp",C.cN,D.u5(),!1) +C.ar=H.v(V.d4) +C.M=H.v(V.ad) +C.bf=new D.a_(X.ui()) +C.bg=new D.a_(X.uk()) +C.cL=new H.aI([C.ar,C.bf,C.M,C.bg],[P.ah,D.a_]) +C.bn=new D.aj("KHR_lights_punctual",C.cL,null,!1) +C.l=H.v(Y.ax) +C.bh=new D.a_(A.ul()) +C.cI=new H.aI([C.l,C.bh],[P.ah,D.a_]) +C.bm=new D.aj("KHR_materials_pbrSpecularGlossiness",C.cI,null,!1) +C.bi=new D.a_(S.um()) +C.cJ=new H.aI([C.l,C.bi],[P.ah,D.a_]) +C.bj=new D.aj("KHR_materials_unlit",C.cJ,null,!1) +C.c9=H.a(u([]),[P.ah]) +C.cO=new H.b2(0,{},C.c9,[P.ah,D.a_]) +C.bo=new D.aj("KHR_mesh_quantization",C.cO,U.un(),!0) +C.ay=H.v(Y.bg) +C.au=H.v(Y.bQ) +C.av=H.v(Y.bR) +C.G=new D.a_(L.uo()) +C.cM=new H.aI([C.ay,C.G,C.au,C.G,C.av,C.G],[P.ah,D.a_]) +C.bl=new D.aj("KHR_texture_transform",C.cM,null,!1) +C.I=H.a(u([C.bk,C.bn,C.bm,C.bj,C.bo,C.bl]),[D.aj]) +C.o=H.a(u([3]),[P.h]) +C.ac=H.a(u([33071,33648,10497]),[P.h]) +C.bF=H.a(u([34962,34963]),[P.h]) +C.J=H.a(u([4]),[P.h]) +C.aL=new V.k("VEC2",5120,!1) +C.aM=new V.k("VEC2",5120,!0) +C.aN=new V.k("VEC2",5121,!1) +C.aP=new V.k("VEC2",5122,!1) +C.aQ=new V.k("VEC2",5122,!0) +C.aR=new V.k("VEC2",5123,!1) +C.bG=H.a(u([C.aL,C.aM,C.aN,C.aP,C.aQ,C.aR]),[V.k]) +C.bH=H.a(u([5121,5123,5125]),[P.h]) +C.ad=H.a(u(["image/jpeg","image/png"]),[P.d]) +C.bI=H.a(u([82,73,70,70]),[P.h]) +C.bJ=H.a(u([9728,9729]),[P.h]) +C.aF=new V.k("SCALAR",5121,!1) +C.aI=new V.k("SCALAR",5123,!1) +C.aK=new V.k("SCALAR",5125,!1) +C.ae=H.a(u([C.aF,C.aI,C.aK]),[V.k]) +C.bM=H.a(u(["camera","children","skin","matrix","mesh","rotation","scale","translation","weights","name"]),[P.d]) +C.bN=H.a(u([9728,9729,9984,9985,9986,9987]),[P.h]) +C.bO=H.a(u(["COLOR","JOINTS","TEXCOORD","WEIGHTS"]),[P.d]) +C.x=H.a(u([0,0,65490,45055,65535,34815,65534,18431]),[P.h]) +C.bP=H.a(u(["color","intensity","spot","type","range","name"]),[P.d]) +C.bQ=H.a(u(["buffer","byteOffset","byteLength","byteStride","target","name"]),[P.d]) +C.ag=H.a(u([0,0,26624,1023,65534,2047,65534,2047]),[P.h]) +C.bR=H.a(u(["LINEAR","STEP","CUBICSPLINE"]),[P.d]) +C.bS=H.a(u(["OPAQUE","MASK","BLEND"]),[P.d]) +C.bT=H.a(u(["pbrMetallicRoughness","normalTexture","occlusionTexture","emissiveTexture","emissiveFactor","alphaMode","alphaCutoff","doubleSided","name"]),[P.d]) +C.bU=H.a(u([5120,5121,5122,5123,5125,5126]),[P.h]) +C.bV=H.a(u(["inverseBindMatrices","skeleton","joints","name"]),[P.d]) +C.Q=new V.k("VEC3",5120,!1) +C.B=new V.k("VEC3",5120,!0) +C.S=new V.k("VEC3",5122,!1) +C.C=new V.k("VEC3",5122,!0) +C.bW=H.a(u([C.Q,C.B,C.S,C.C]),[V.k]) +C.bX=H.a(u(["data-uri","buffer-view","glb","external"]),[P.d]) +C.bY=H.a(u(["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"]),[P.d]) +C.bZ=H.a(u(["bufferView","byteOffset","componentType"]),[P.d]) +C.K=H.a(u([C.B,C.C]),[V.k]) +C.c_=H.a(u(["aspectRatio","yfov","zfar","znear"]),[P.d]) +C.c0=H.a(u(["copyright","generator","version","minVersion"]),[P.d]) +C.c1=H.a(u(["bufferView","byteOffset"]),[P.d]) +C.c2=H.a(u(["bufferView","mimeType","uri","name"]),[P.d]) +C.c3=H.a(u(["channels","samplers","name"]),[P.d]) +C.c4=H.a(u(["baseColorFactor","baseColorTexture","metallicFactor","roughnessFactor","metallicRoughnessTexture"]),[P.d]) +C.c5=H.a(u(["count","indices","values"]),[P.d]) +C.c6=H.a(u(["diffuseFactor","diffuseTexture","specularFactor","glossinessFactor","specularGlossinessTexture"]),[P.d]) +C.c7=H.a(u(["directional","point","spot"]),[P.d]) +C.c8=H.a(u([]),[P.d]) +C.ah=u([]) +C.cb=H.a(u(["extensions","extras"]),[P.d]) +C.cc=H.a(u([0,0,32722,12287,65534,34815,65534,18431]),[P.h]) +C.ce=H.a(u(["index","texCoord"]),[P.d]) +C.cf=H.a(u(["index","texCoord","scale"]),[P.d]) +C.cg=H.a(u(["index","texCoord","strength"]),[P.d]) +C.ch=H.a(u(["innerConeAngle","outerConeAngle"]),[P.d]) +C.ci=H.a(u(["input","interpolation","output"]),[P.d]) +C.cj=H.a(u(["attributes","indices","material","mode","targets"]),[P.d]) +C.ck=H.a(u(["bufferView","byteOffset","componentType","count","type","normalized","max","min","sparse","name"]),[P.d]) +C.cl=H.a(u(["light"]),[P.d]) +C.cm=H.a(u(["lights"]),[P.d]) +C.cn=H.a(u(["node","path"]),[P.d]) +C.co=H.a(u(["nodes","name"]),[P.d]) +C.cp=H.a(u([null,"linear","srgb","custom"]),[P.d]) +C.cq=H.a(u([null,"srgb","custom"]),[P.d]) +C.ai=H.a(u([0,0,24576,1023,65534,34815,65534,18431]),[P.h]) +C.cr=H.a(u(["image/webp"]),[P.d]) +C.cs=H.a(u(["offset","rotation","scale","texCoord"]),[P.d]) +C.aj=H.a(u(["orthographic","perspective"]),[P.d]) +C.ct=H.a(u(["primitives","weights","name"]),[P.d]) +C.b=new E.aL(0,"Severity.Error") +C.e=new E.aL(1,"Severity.Warning") +C.h=new E.aL(2,"Severity.Information") +C.cR=new E.aL(3,"Severity.Hint") +C.cu=H.a(u([C.b,C.e,C.h,C.cR]),[E.aL]) +C.cv=H.a(u([0,0,32754,11263,65534,34815,65534,18431]),[P.h]) +C.cw=H.a(u(["magFilter","minFilter","wrapS","wrapT","name"]),[P.d]) +C.cx=H.a(u([null,"rgb","rgba","luminance","luminance-alpha"]),[P.d]) +C.ak=H.a(u([0,0,65490,12287,65535,34815,65534,18431]),[P.h]) +C.cy=H.a(u(["sampler","source","name"]),[P.d]) +C.cz=H.a(u(["source"]),[P.d]) +C.aU=new V.k("VEC3",5121,!1) +C.aV=new V.k("VEC3",5123,!1) +C.cA=H.a(u([C.Q,C.B,C.aU,C.R,C.S,C.C,C.aV,C.T]),[V.k]) +C.cB=H.a(u(["target","sampler"]),[P.d]) +C.al=H.a(u(["translation","rotation","scale","weights"]),[P.d]) +C.cC=H.a(u(["type","orthographic","perspective","name"]),[P.d]) +C.cD=H.a(u(["uri","byteLength","name"]),[P.d]) +C.cE=H.a(u(["xmag","ymag","zfar","znear"]),[P.d]) +C.cF=H.a(u(["extensionsUsed","extensionsRequired","accessors","animations","asset","buffers","bufferViews","cameras","images","materials","meshes","nodes","samplers","scene","scenes","skins","textures"]),[P.d]) +C.U=new V.k("VEC4",5120,!0) +C.V=new V.k("VEC4",5122,!0) +C.cG=H.a(u([C.U,C.V]),[V.k]) +C.af=H.a(u([C.j]),[V.k]) +C.bD=H.a(u([C.u,C.D,C.U,C.E,C.V]),[V.k]) +C.aG=new V.k("SCALAR",5121,!0) +C.aE=new V.k("SCALAR",5120,!0) +C.aJ=new V.k("SCALAR",5123,!0) +C.aH=new V.k("SCALAR",5122,!0) +C.cd=H.a(u([C.A,C.aG,C.aE,C.aJ,C.aH]),[V.k]) +C.cH=new H.b2(4,{translation:C.af,rotation:C.bD,scale:C.af,weights:C.cd},C.al,[P.d,[P.l,V.k]]) +C.bK=H.a(u(["SCALAR","VEC2","VEC3","VEC4","MAT2","MAT3","MAT4"]),[P.d]) +C.k=new H.b2(7,{SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},C.bK,[P.d,P.h]) +C.am=new H.aI([5120,"BYTE",5121,"UNSIGNED_BYTE",5122,"SHORT",5123,"UNSIGNED_SHORT",5124,"INT",5125,"UNSIGNED_INT",5126,"FLOAT",35664,"FLOAT_VEC2",35665,"FLOAT_VEC3",35666,"FLOAT_VEC4",35667,"INT_VEC2",35668,"INT_VEC3",35669,"INT_VEC4",35670,"BOOL",35671,"BOOL_VEC2",35672,"BOOL_VEC3",35673,"BOOL_VEC4",35674,"FLOAT_MAT2",35675,"FLOAT_MAT3",35676,"FLOAT_MAT4",35678,"SAMPLER_2D"],[P.h,P.d]) +C.ca=H.a(u([]),[P.bV]) +C.an=new H.b2(0,{},C.ca,[P.bV,null]) +C.bL=H.a(u(["KHR","EXT","ADOBE","AGI","AGT","ALCM","ALI","AMZN","AVR","BLENDER","CAPTURE","CESIUM","CVTOOLS","FB","FOXIT","GOOGLE","KDAB","LLQ","MESHOPT","MOZ","MSFT","NV","OWLII","POLUTROPON","S8S","SI","SKFB","SKYLINE","WEB3D"]),[P.d]) +C.cK=new H.b2(29,{KHR:null,EXT:null,ADOBE:null,AGI:null,AGT:null,ALCM:null,ALI:null,AMZN:null,AVR:null,BLENDER:null,CAPTURE:null,CESIUM:null,CVTOOLS:null,FB:null,FOXIT:null,GOOGLE:null,KDAB:null,LLQ:null,MESHOPT:null,MOZ:null,MSFT:null,NV:null,OWLII:null,POLUTROPON:null,S8S:null,SI:null,SKFB:null,SKYLINE:null,WEB3D:null},C.bL,[P.d,P.A]) +C.cQ=new P.l3(C.cK,[P.d]) +C.cS=new H.cD("call") +C.cT=H.v(M.br) +C.cU=H.v(M.bs) +C.cV=H.v(M.bq) +C.L=H.v([M.Q,P.G]) +C.cW=H.v(Z.bt) +C.cX=H.v(Z.cf) +C.cY=H.v(Z.cg) +C.ap=H.v(Z.aZ) +C.cZ=H.v(T.bv) +C.aq=H.v(V.aH) +C.d_=H.v(Q.b_) +C.d0=H.v(G.bx) +C.d1=H.v(G.by) +C.d2=H.v(G.b1) +C.d3=H.v(A.bK) +C.d4=H.v(D.bz) +C.as=H.v(T.b5) +C.d5=H.v(X.b8) +C.d6=H.v(X.bI) +C.d7=H.v(X.ct) +C.d8=H.v(X.bJ) +C.d9=H.v(S.bL) +C.da=H.v(L.bM) +C.db=H.v(S.cx) +C.at=H.v(S.ba) +C.dc=H.v(Y.bS) +C.dd=H.v(T.bc) +C.aw=H.v(B.aK) +C.ax=H.v(O.bd) +C.p=new Y.cG(0,"_ColorPrimaries.Unknown") +C.q=new Y.cG(1,"_ColorPrimaries.sRGB") +C.y=new Y.cG(2,"_ColorPrimaries.Custom") +C.r=new Y.bZ(0,"_ColorTransfer.Unknown") +C.de=new Y.bZ(1,"_ColorTransfer.Linear") +C.t=new Y.bZ(2,"_ColorTransfer.sRGB") +C.z=new Y.bZ(3,"_ColorTransfer.Custom") +C.az=new Y.cI("_ImageCodec.JPEG") +C.aA=new Y.cI("_ImageCodec.PNG") +C.aB=new Y.cI("_ImageCodec.WebP") +C.df=new P.c1(null,2) +C.aC=new N.c3(0,"_Storage.DataUri") +C.dg=new N.c3(1,"_Storage.BufferView") +C.dh=new N.c3(2,"_Storage.GLB") +C.aD=new N.c3(3,"_Storage.External")})();(function staticFields(){$.ap=0 +$.ci=null +$.n7=null +$.og=null +$.o5=null +$.oq=null +$.lp=null +$.lC=null +$.mv=null +$.c6=null +$.cR=null +$.cS=null +$.mm=!1 +$.p=C.f +$.bl=[]})();(function lazyInitializers(){var u=hunkHelpers.lazy +u($,"uK","mB",function(){return H.oe("_$dart_dartClosure")}) +u($,"vx","mI",function(){return H.oe("_$dart_js")}) +u($,"x9","qo",function(){return H.aA(H.jA({ +toString:function(){return"$receiver$"}}))}) +u($,"xa","qp",function(){return H.aA(H.jA({$method$:null, +toString:function(){return"$receiver$"}}))}) +u($,"xb","qq",function(){return H.aA(H.jA(null))}) +u($,"xc","qr",function(){return H.aA(function(){var $argumentsExpr$='$arguments$' +try{null.$method$($argumentsExpr$)}catch(t){return t.message}}())}) +u($,"xf","qu",function(){return H.aA(H.jA(void 0))}) +u($,"xg","qv",function(){return H.aA(function(){var $argumentsExpr$='$arguments$' +try{(void 0).$method$($argumentsExpr$)}catch(t){return t.message}}())}) +u($,"xe","qt",function(){return H.aA(H.nA(null))}) +u($,"xd","qs",function(){return H.aA(function(){try{null.$method$}catch(t){return t.message}}())}) +u($,"xi","qx",function(){return H.aA(H.nA(void 0))}) +u($,"xh","qw",function(){return H.aA(function(){try{(void 0).$method$}catch(t){return t.message}}())}) +u($,"xk","mV",function(){return P.t3()}) +u($,"vh","dO",function(){var t=new P.E(C.f,[P.A]) +t.dI(null) +return t}) +u($,"xj","qy",function(){return P.t0()}) +u($,"xl","mW",function(){return H.rE(H.tw(H.a([-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-2,-2,-2,-2,-2,62,-2,62,-2,63,52,53,54,55,56,57,58,59,60,61,-2,-2,-2,-1,-2,-2,-2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-2,-2,-2,-2,63,-2,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-2,-2,-2,-2,-2],[P.h])))}) +u($,"xq","qC",function(){return P.tv()}) +u($,"uI","aD",function(){return P.nx("^([0-9]+)\\.([0-9]+)$")}) +u($,"uJ","ow",function(){return P.nx("^([A-Z0-9]+)_[A-Za-z0-9_]+$")}) +u($,"v6","oO",function(){return E.x("BUFFER_EMBEDDED_BYTELENGTH_MISMATCH",new E.et(),C.b)}) +u($,"v7","oP",function(){return E.x("BUFFER_EXTERNAL_BYTELENGTH_MISMATCH",new E.er(),C.b)}) +u($,"v8","oQ",function(){return E.x("BUFFER_GLB_CHUNK_TOO_BIG",new E.eq(),C.e)}) +u($,"v_","mF",function(){return E.x("ACCESSOR_MIN_MISMATCH",new E.ey(),C.b)}) +u($,"uZ","mE",function(){return E.x("ACCESSOR_MAX_MISMATCH",new E.ev(),C.b)}) +u($,"uP","mD",function(){return E.x("ACCESSOR_ELEMENT_OUT_OF_MIN_BOUND",new E.ew(),C.b)}) +u($,"uO","mC",function(){return E.x("ACCESSOR_ELEMENT_OUT_OF_MAX_BOUND",new E.eu(),C.b)}) +u($,"v3","mG",function(){return E.x("ACCESSOR_VECTOR3_NON_UNIT",new E.eH(),C.b)}) +u($,"uV","oF",function(){return E.x("ACCESSOR_INVALID_SIGN",new E.eJ(),C.b)}) +u($,"uN","oz",function(){return E.x("ACCESSOR_ANIMATION_SAMPLER_OUTPUT_NON_NORMALIZED_QUATERNION",new E.eA(),C.b)}) +u($,"v0","oJ",function(){return E.x("ACCESSOR_NON_CLAMPED",new E.eG(),C.b)}) +u($,"uT","oD",function(){return E.x("ACCESSOR_INVALID_FLOAT",new E.ez(),C.b)}) +u($,"uQ","oA",function(){return E.x("ACCESSOR_INDEX_OOB",new E.eF(),C.b)}) +u($,"uS","oC",function(){return E.x("ACCESSOR_INDEX_TRIANGLE_DEGENERATE",new E.eD(),C.h)}) +u($,"uR","oB",function(){return E.x("ACCESSOR_INDEX_PRIMITIVE_RESTART",new E.eE(),C.b)}) +u($,"uL","ox",function(){return E.x("ACCESSOR_ANIMATION_INPUT_NEGATIVE",new E.eC(),C.b)}) +u($,"uM","oy",function(){return E.x("ACCESSOR_ANIMATION_INPUT_NON_INCREASING",new E.eB(),C.b)}) +u($,"v2","oL",function(){return E.x("ACCESSOR_SPARSE_INDICES_NON_INCREASING",new E.eM(),C.b)}) +u($,"v1","oK",function(){return E.x("ACCESSOR_SPARSE_INDEX_OOB",new E.eL(),C.b)}) +u($,"uU","oE",function(){return E.x("ACCESSOR_INVALID_IBM",new E.eK(),C.b)}) +u($,"va","oR",function(){return E.x("IMAGE_DATA_INVALID",new E.eQ(),C.b)}) +u($,"vc","oT",function(){return E.x("IMAGE_MIME_TYPE_INVALID",new E.eP(),C.b)}) +u($,"vf","oW",function(){return E.x("IMAGE_UNEXPECTED_EOS",new E.en(),C.b)}) +u($,"vg","oX",function(){return E.x("IMAGE_UNRECOGNIZED_FORMAT",new E.eo(),C.e)}) +u($,"vd","oU",function(){return E.x("IMAGE_NON_ENABLED_MIME_TYPE",new E.ep(),C.b)}) +u($,"ve","oV",function(){return E.x("IMAGE_NPOT_DIMENSIONS",new E.eO(),C.h)}) +u($,"vb","oS",function(){return E.x("IMAGE_FEATURES_UNSUPPORTED",new E.eN(),C.e)}) +u($,"v9","mH",function(){return E.x("DATA_URI_GLB",new E.es(),C.h)}) +u($,"uX","oH",function(){return E.x("ACCESSOR_JOINTS_INDEX_OOB",new E.eI(),C.b)}) +u($,"uW","oG",function(){return E.x("ACCESSOR_JOINTS_INDEX_DUPLICATE",new E.ex(),C.b)}) +u($,"v4","oM",function(){return E.x("ACCESSOR_WEIGHTS_NEGATIVE",new E.em(),C.b)}) +u($,"v5","oN",function(){return E.x("ACCESSOR_WEIGHTS_NON_NORMALIZED",new E.ek(),C.b)}) +u($,"uY","oI",function(){return E.x("ACCESSOR_JOINTS_USED_ZERO_WEIGHT",new E.el(),C.e)}) +u($,"vw","lT",function(){return new E.fB(C.b,"IO_ERROR",new E.fC())}) +u($,"wc","mQ",function(){return E.a0("ARRAY_LENGTH_NOT_IN_LIST",new E.iv(),C.b)}) +u($,"wd","cW",function(){return E.a0("ARRAY_TYPE_MISMATCH",new E.iw(),C.b)}) +u($,"wb","mP",function(){return E.a0("DUPLICATE_ELEMENTS",new E.iB(),C.b)}) +u($,"wf","dQ",function(){return E.a0("INVALID_INDEX",new E.iz(),C.b)}) +u($,"wg","dR",function(){return E.a0("INVALID_JSON",new E.it(),C.b)}) +u($,"wh","pH",function(){return E.a0("INVALID_URI",new E.ip(),C.b)}) +u($,"we","aX",function(){return E.a0("EMPTY_ENTITY",new E.ix(),C.b)}) +u($,"wi","mR",function(){return E.a0("ONE_OF_MISMATCH",new E.iq(),C.b)}) +u($,"wj","pI",function(){return E.a0("PATTERN_MISMATCH",new E.iA(),C.b)}) +u($,"wk","P",function(){return E.a0("TYPE_MISMATCH",new E.il(),C.b)}) +u($,"wp","mS",function(){return E.a0("VALUE_NOT_IN_LIST",new E.iu(),C.e)}) +u($,"wq","lU",function(){return E.a0("VALUE_NOT_IN_RANGE",new E.io(),C.b)}) +u($,"wo","pK",function(){return E.a0("VALUE_MULTIPLE_OF",new E.ir(),C.b)}) +u($,"wl","aE",function(){return E.a0("UNDEFINED_PROPERTY",new E.im(),C.b)}) +u($,"wm","pJ",function(){return E.a0("UNEXPECTED_PROPERTY",new E.iy(),C.e)}) +u($,"wn","ce",function(){return E.a0("UNSATISFIED_DEPENDENCY",new E.is(),C.b)}) +u($,"x4","qk",function(){return E.n("UNKNOWN_ASSET_MAJOR_VERSION",new E.j9(),C.b)}) +u($,"x5","ql",function(){return E.n("UNKNOWN_ASSET_MINOR_VERSION",new E.j8(),C.e)}) +u($,"wQ","q5",function(){return E.n("ASSET_MIN_VERSION_GREATER_THAN_VERSION",new E.iZ(),C.e)}) +u($,"wE","pV",function(){return E.n("INVALID_GL_VALUE",new E.iX(),C.b)}) +u($,"wC","pT",function(){return E.n("INTEGER_WRITTEN_AS_FLOAT",new E.iY(),C.e)}) +u($,"ws","pM",function(){return E.n("ACCESSOR_NORMALIZED_INVALID",new E.iW(),C.b)}) +u($,"wt","pN",function(){return E.n("ACCESSOR_OFFSET_ALIGNMENT",new E.iU(),C.b)}) +u($,"wr","pL",function(){return E.n("ACCESSOR_MATRIX_ALIGNMENT",new E.iV(),C.b)}) +u($,"wu","pO",function(){return E.n("ACCESSOR_SPARSE_COUNT_OUT_OF_RANGE",new E.j4(),C.b)}) +u($,"wv","pP",function(){return E.n("ANIMATION_CHANNEL_TARGET_NODE_SKIN",new E.j5(),C.e)}) +u($,"ww","pQ",function(){return E.n("BUFFER_DATA_URI_MIME_TYPE_INVALID",new E.iT(),C.b)}) +u($,"wy","pR",function(){return E.n("BUFFER_VIEW_TOO_BIG_BYTE_STRIDE",new E.iS(),C.b)}) +u($,"wx","lV",function(){return E.n("BUFFER_VIEW_INVALID_BYTE_STRIDE",new E.iR(),C.b)}) +u($,"wz","pS",function(){return E.n("CAMERA_XMAG_YMAG_ZERO",new E.iP(),C.e)}) +u($,"wA","mT",function(){return E.n("CAMERA_ZFAR_LEQUAL_ZNEAR",new E.iO(),C.b)}) +u($,"wG","pX",function(){return E.n("MATERIAL_ALPHA_CUTOFF_INVALID_MODE",new E.iM(),C.e)}) +u($,"wJ","lW",function(){return E.n("MESH_PRIMITIVE_INVALID_ATTRIBUTE",new E.iG(),C.b)}) +u($,"wP","q4",function(){return E.n("MESH_PRIMITIVES_UNEQUAL_TARGETS_COUNT",new E.jj(),C.b)}) +u($,"wO","q3",function(){return E.n("MESH_PRIMITIVES_UNEQUAL_JOINTS_COUNT",new E.ji(),C.e)}) +u($,"wL","q0",function(){return E.n("MESH_PRIMITIVE_NO_POSITION",new E.iL(),C.e)}) +u($,"wI","pZ",function(){return E.n("MESH_PRIMITIVE_INDEXED_SEMANTIC_CONTINUITY",new E.iI(),C.b)}) +u($,"wN","q2",function(){return E.n("MESH_PRIMITIVE_TANGENT_WITHOUT_NORMAL",new E.iK(),C.e)}) +u($,"wK","q_",function(){return E.n("MESH_PRIMITIVE_JOINTS_WEIGHTS_MISMATCH",new E.iH(),C.b)}) +u($,"wM","q1",function(){return E.n("MESH_PRIMITIVE_TANGENT_POINTS",new E.iJ(),C.e)}) +u($,"wH","pY",function(){return E.n("MESH_INVALID_WEIGHTS_COUNT",new E.jh(),C.b)}) +u($,"wU","q9",function(){return E.n("NODE_MATRIX_TRS",new E.jf(),C.b)}) +u($,"wS","q7",function(){return E.n("NODE_MATRIX_DEFAULT",new E.jb(),C.h)}) +u($,"wV","qa",function(){return E.n("NODE_MATRIX_NON_TRS",new E.j0(),C.b)}) +u($,"x1","qh",function(){return E.n("ROTATION_NON_UNIT",new E.jg(),C.b)}) +u($,"x7","qn",function(){return E.n("UNUSED_EXTENSION_REQUIRED",new E.ja(),C.b)}) +u($,"x0","qg",function(){return E.n("NON_REQUIRED_EXTENSION",new E.jc(),C.b)}) +u($,"x6","qm",function(){return E.n("UNRESERVED_EXTENSION_PREFIX",new E.jd(),C.e)}) +u($,"wD","pU",function(){return E.n("INVALID_EXTENSION_NAME_FORMAT",new E.je(),C.e)}) +u($,"wT","q8",function(){return E.n("NODE_EMPTY",new E.j3(),C.h)}) +u($,"wY","qd",function(){return E.n("NODE_SKINNED_MESH_NON_ROOT",new E.j2(),C.e)}) +u($,"wX","qc",function(){return E.n("NODE_SKINNED_MESH_LOCAL_TRANSFORMS",new E.j1(),C.e)}) +u($,"wW","qb",function(){return E.n("NODE_SKIN_NO_SCENE",new E.j_(),C.b)}) +u($,"x2","qi",function(){return E.n("SKIN_NO_COMMON_ROOT",new E.j7(),C.b)}) +u($,"x3","qj",function(){return E.n("SKIN_SKELETON_INVALID",new E.j6(),C.b)}) +u($,"x_","qf",function(){return E.n("NON_RELATIVE_URI",new E.iN(),C.e)}) +u($,"wR","q6",function(){return E.n("MULTIPLE_EXTENSIONS",new E.iE(),C.e)}) +u($,"wZ","qe",function(){return E.n("NON_OBJECT_EXTRAS",new E.iD(),C.h)}) +u($,"wB","mU",function(){return E.n("EXTRA_PROPERTY",new E.iQ(),C.h)}) +u($,"wF","pW",function(){return E.n("KHR_LIGHTS_PUNCTUAL_LIGHT_SPOT_ANGLES",new E.iF(),C.b)}) +u($,"vA","pc",function(){return E.o("ACCESSOR_TOTAL_OFFSET_ALIGNMENT",new E.hq(),C.b)}) +u($,"vy","pb",function(){return E.o("ACCESSOR_SMALL_BYTESTRIDE",new E.hu(),C.b)}) +u($,"vz","mJ",function(){return E.o("ACCESSOR_TOO_LONG",new E.hg(),C.b)}) +u($,"vB","pd",function(){return E.o("ACCESSOR_USAGE_OVERRIDE",new E.h2(),C.b)}) +u($,"vE","pg",function(){return E.o("ANIMATION_DUPLICATE_TARGETS",new E.hv(),C.b)}) +u($,"vC","pe",function(){return E.o("ANIMATION_CHANNEL_TARGET_NODE_MATRIX",new E.fZ(),C.b)}) +u($,"vD","pf",function(){return E.o("ANIMATION_CHANNEL_TARGET_NODE_WEIGHTS_NO_MORPHS",new E.fY(),C.b)}) +u($,"vH","pj",function(){return E.o("ANIMATION_SAMPLER_INPUT_ACCESSOR_WITHOUT_BOUNDS",new E.h0(),C.b)}) +u($,"vF","ph",function(){return E.o("ANIMATION_SAMPLER_INPUT_ACCESSOR_INVALID_FORMAT",new E.h1(),C.b)}) +u($,"vJ","pl",function(){return E.o("ANIMATION_SAMPLER_OUTPUT_ACCESSOR_INVALID_FORMAT",new E.fX(),C.b)}) +u($,"vG","pi",function(){return E.o("ANIMATION_SAMPLER_INPUT_ACCESSOR_TOO_FEW_ELEMENTS",new E.h_(),C.b)}) +u($,"vI","pk",function(){return E.o("ANIMATION_SAMPLER_OUTPUT_ACCESSOR_INVALID_COUNT",new E.fW(),C.b)}) +u($,"vK","pm",function(){return E.o("BUFFER_MISSING_GLB_DATA",new E.h5(),C.b)}) +u($,"vM","mK",function(){return E.o("BUFFER_VIEW_TOO_LONG",new E.h3(),C.b)}) +u($,"vL","pn",function(){return E.o("BUFFER_VIEW_TARGET_OVERRIDE",new E.ht(),C.b)}) +u($,"vN","po",function(){return E.o("INVALID_IBM_ACCESSOR_COUNT",new E.hm(),C.b)}) +u($,"vQ","mM",function(){return E.o("MESH_PRIMITIVE_ATTRIBUTES_ACCESSOR_INVALID_FORMAT",new E.h7(),C.b)}) +u($,"vW","mN",function(){return E.o("MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS",new E.h8(),C.b)}) +u($,"vP","pp",function(){return E.o("MESH_PRIMITIVE_ACCESSOR_WITHOUT_BYTESTRIDE",new E.h4(),C.b)}) +u($,"vO","mL",function(){return E.o("MESH_PRIMITIVE_ACCESSOR_UNALIGNED",new E.h6(),C.b)}) +u($,"vT","ps",function(){return E.o("MESH_PRIMITIVE_INDICES_ACCESSOR_WITH_BYTESTRIDE",new E.he(),C.b)}) +u($,"vS","pr",function(){return E.o("MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT",new E.hd(),C.b)}) +u($,"vR","pq",function(){return E.o("MESH_PRIMITIVE_INCOMPATIBLE_MODE",new E.hc(),C.e)}) +u($,"vX","pv",function(){return E.o("MESH_PRIMITIVE_TOO_FEW_TEXCOORDS",new E.hb(),C.b)}) +u($,"vY","pw",function(){return E.o("MESH_PRIMITIVE_UNEQUAL_ACCESSOR_COUNT",new E.hf(),C.b)}) +u($,"vV","pu",function(){return E.o("MESH_PRIMITIVE_MORPH_TARGET_NO_BASE_ACCESSOR",new E.ha(),C.b)}) +u($,"vU","pt",function(){return E.o("MESH_PRIMITIVE_MORPH_TARGET_INVALID_ATTRIBUTE_COUNT",new E.h9(),C.b)}) +u($,"vZ","px",function(){return E.o("NODE_LOOP",new E.hs(),C.b)}) +u($,"w_","py",function(){return E.o("NODE_PARENT_OVERRIDE",new E.hh(),C.b)}) +u($,"w2","pB",function(){return E.o("NODE_WEIGHTS_INVALID",new E.hk(),C.b)}) +u($,"w0","pz",function(){return E.o("NODE_SKIN_WITH_NON_SKINNED_MESH",new E.hj(),C.b)}) +u($,"w1","pA",function(){return E.o("NODE_SKINNED_MESH_WITHOUT_SKIN",new E.hi(),C.e)}) +u($,"w3","pC",function(){return E.o("SCENE_NON_ROOT_NODE",new E.hl(),C.b)}) +u($,"w4","pD",function(){return E.o("SKIN_IBM_INVALID_FORMAT",new E.hn(),C.b)}) +u($,"w5","mO",function(){return E.o("TEXTURE_INVALID_IMAGE_MIME_TYPE",new E.fV(),C.b)}) +u($,"w6","pE",function(){return E.o("UNDECLARED_EXTENSION",new E.fU(),C.b)}) +u($,"w7","pF",function(){return E.o("UNEXPECTED_EXTENSION_OBJECT",new E.fT(),C.b)}) +u($,"w8","D",function(){return E.o("UNRESOLVED_REFERENCE",new E.ho(),C.b)}) +u($,"w9","pG",function(){return E.o("UNSUPPORTED_EXTENSION",new E.hp(),C.e)}) +u($,"wa","dP",function(){return E.o("UNUSED_OBJECT",new E.hr(),C.h)}) +u($,"vm","p1",function(){return E.a6("GLB_INVALID_MAGIC",new E.eZ(),C.b)}) +u($,"vn","p2",function(){return E.a6("GLB_INVALID_VERSION",new E.eY(),C.b)}) +u($,"vp","p4",function(){return E.a6("GLB_LENGTH_TOO_SMALL",new E.eX(),C.b)}) +u($,"vi","oY",function(){return E.a6("GLB_CHUNK_LENGTH_UNALIGNED",new E.f6(),C.b)}) +u($,"vo","p3",function(){return E.a6("GLB_LENGTH_MISMATCH",new E.eV(),C.b)}) +u($,"vj","oZ",function(){return E.a6("GLB_CHUNK_TOO_BIG",new E.f5(),C.b)}) +u($,"vl","p0",function(){return E.a6("GLB_EMPTY_CHUNK",new E.f1(),C.b)}) +u($,"vk","p_",function(){return E.a6("GLB_DUPLICATE_CHUNK",new E.f2(),C.b)}) +u($,"vs","p7",function(){return E.a6("GLB_UNEXPECTED_END_OF_CHUNK_HEADER",new E.eW(),C.b)}) +u($,"vr","p6",function(){return E.a6("GLB_UNEXPECTED_END_OF_CHUNK_DATA",new E.eU(),C.b)}) +u($,"vt","p8",function(){return E.a6("GLB_UNEXPECTED_END_OF_HEADER",new E.f_(),C.b)}) +u($,"vu","p9",function(){return E.a6("GLB_UNEXPECTED_FIRST_CHUNK",new E.f4(),C.b)}) +u($,"vq","p5",function(){return E.a6("GLB_UNEXPECTED_BIN_CHUNK",new E.f3(),C.b)}) +u($,"vv","pa",function(){return E.a6("GLB_UNKNOWN_CHUNK_TYPE",new E.f0(),C.e)}) +u($,"xm","mX",function(){return H.rD(1)}) +u($,"xn","qz",function(){return T.rA()}) +u($,"xr","qD",function(){return T.nG()}) +u($,"xo","qA",function(){var t=T.rP() +t.a[3]=1 +return t}) +u($,"xp","qB",function(){return T.nG()})})();(function nativeSupport(){!function(){var u=function(a){var o={} +o[a]=1 +return Object.keys(hunkHelpers.convertToFastObject(o))[0]} +v.getIsolateTag=function(a){return u("___dart_"+a+v.isolateTag)} +var t="___dart_isolate_tags_" +var s=Object[t]||(Object[t]=Object.create(null)) +var r="_ZxYxX" +for(var q=0;;q++){var p=u(r+"_"+q+"_") +if(!(p in s)){s[p]=1 +v.isolateTag=p +break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() +hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:J.bD,DataView:H.cz,ArrayBufferView:H.cz,Float32Array:H.db,Float64Array:H.hV,Int16Array:H.hW,Int32Array:H.hX,Int8Array:H.hY,Uint16Array:H.hZ,Uint32Array:H.i_,Uint8ClampedArray:H.de,CanvasPixelArray:H.de,Uint8Array:H.bP}) +hunkHelpers.setOrUpdateLeafTags({ArrayBuffer:true,DataView:true,ArrayBufferView:false,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false}) +H.dc.$nativeSuperclassTag="ArrayBufferView" +H.cJ.$nativeSuperclassTag="ArrayBufferView" +H.cK.$nativeSuperclassTag="ArrayBufferView" +H.dd.$nativeSuperclassTag="ArrayBufferView" +H.cL.$nativeSuperclassTag="ArrayBufferView" +H.cM.$nativeSuperclassTag="ArrayBufferView" +H.cy.$nativeSuperclassTag="ArrayBufferView"})() +Function.prototype.$1=function(a){return this(a)} +Function.prototype.$0=function(){return this()} +Function.prototype.$2=function(a,b){return this(a,b)} +Function.prototype.$3=function(a,b,c){return this(a,b,c)} +Function.prototype.$4=function(a,b,c,d){return this(a,b,c,d)} +Function.prototype.$1$1=function(a){return this(a)} +Function.prototype.$1$0=function(){return this()} +Function.prototype.$1$2=function(a,b){return this(a,b)} +Function.prototype.$2$0=function(){return this()} +convertAllToFastObject(w) +convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) +return}if(typeof document.currentScript!='undefined'){a(document.currentScript) +return}var u=document.scripts +function onLoad(b){for(var s=0;s validator.version(); + +/** + * Returns an array of supported extensions names. + * @returns {string[]} + */ +exports.supportedExtensions = () => validator.supportedExtensions(); + +/** + * Validates an asset from bytes. + * @param {Uint8Array} data - Byte array containing glTF or GLB data. + * @param {ValidationOptions} options - Object with validation options. + * @returns {Promise} Promise with validation result in object form. + */ +exports.validateBytes = (data, options) => validator.validateBytes(data, options); + +/** + * Validates an asset from JSON string. + * @param {string} json - String containing glTF JSON. + * @param {ValidationOptions} options - Object with validation options. + * @returns {Promise} Promise with validation result in object form. + */ +exports.validateString = (json, options) => validator.validateString(json, options); + +/** + @typedef {Object} ValidationOptions + @property {string} uri - Absolute or relative asset URI that will be copied to validation report. + @property {ExternalResourceFunction} externalResourceFunction - Function for loading external resources. If omitted, external resources are not validated. + @property {boolean} validateAccessorData - Set to `false` to skip reading of accessor data. Default is `true`. + @property {boolean} writeTimestamp - Set to `false` to omit timestamp from the validation report. Default is `true`. + @property {number} maxIssues - Max number of reported issues. Use `0` for unlimited output. + @property {string[]} ignoredIssues - Array of ignored issue codes. + @property {Object} severityOverrides - Object with overridden severities for issue codes. + */ + +/** + * @callback ExternalResourceFunction + * @param {string} uri - Relative URI of the external resource. + * @returns {Promise} - Promise with Uint8Array data. + */ + +},{"./gltf_validator.dart.js":3}]},{},[2]); diff --git a/src/assets/js/ktx2Transcoders/msc_basis_transcoder.js b/src/assets/js/ktx2Transcoders/msc_basis_transcoder.js new file mode 100644 index 0000000..b04e598 --- /dev/null +++ b/src/assets/js/ktx2Transcoders/msc_basis_transcoder.js @@ -0,0 +1,21 @@ + +var MSC_TRANSCODER = (function() { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(MSC_TRANSCODER) { + MSC_TRANSCODER = MSC_TRANSCODER || {}; + +var Module=typeof MSC_TRANSCODER!=="undefined"?MSC_TRANSCODER:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="msc_basis_transcoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["L"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["O"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationGroup=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function attachFinalizer(handle){if("undefined"===typeof FinalizationGroup){attachFinalizer=function(handle){return handle};return handle}finalizationGroup=new FinalizationGroup(function(iter){for(var result=iter.next();!result.done;result=iter.next()){var $$=result.value;if(!$$.ptr){console.warn("object already deleted: "+$$.ptr)}else{releaseClassHandle($$)}}});attachFinalizer=function(handle){finalizationGroup.register(handle,handle.$$,handle.$$);return handle};detachFinalizer=function(handle){finalizationGroup.unregister(handle.$$)};return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.indexOf("j")!=-1){return dynCallLegacy(sig,ptr,args)}return wasmTable.get(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);var args=[rawConstructor];var destructors=[];whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=function unboundTypeHandler(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){classType.registeredClass.constructor_body[argCount-1]=function constructor_body(){if(arguments.length!==argCount-1){throwBindingError(humanName+" called with "+arguments.length+" arguments, expected "+(argCount-1))}destructors.length=0;args.length=argCount;for(var i=1;i4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>1])};case 2:return function(pointer){var heap=signed?HEAP32:HEAPU32;return this["fromWireType"](heap[pointer>>2])};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_enum(rawType,name,size,isSigned){var shift=getShiftFromSize(size);name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function(c){return this.constructor.values[c]},"toWireType":function(destructors,c){return c.value},"argPackAdvance":8,"readValueFromPointer":enumReadValueFromPointer(name,shift,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __embind_register_enum_value(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(enumType.name+"_"+name,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i>> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_size(){return HEAPU8.length}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function _fd_close(fd){return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function _setTempRet0($i){setTempRet0($i|0)}embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();init_embind();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var asmLibraryArg={"a":___assert_fail,"J":__embind_register_bool,"m":__embind_register_class,"w":__embind_register_class_class_function,"r":__embind_register_class_constructor,"l":__embind_register_class_function,"h":__embind_register_class_property,"I":__embind_register_emval,"v":__embind_register_enum,"c":__embind_register_enum_value,"y":__embind_register_float,"B":__embind_register_function,"i":__embind_register_integer,"g":__embind_register_memory_view,"z":__embind_register_std_string,"t":__embind_register_std_wstring,"K":__embind_register_void,"k":__emval_as,"n":__emval_call_void_method,"b":__emval_decref,"o":__emval_get_method_caller,"q":__emval_get_module_property,"e":__emval_get_property,"f":__emval_incref,"p":__emval_new,"d":__emval_new_cstring,"C":__emval_new_object,"j":__emval_run_destructors,"A":__emval_set_property,"u":__emval_take_value,"s":_abort,"F":_emscripten_memcpy_big,"G":_emscripten_resize_heap,"H":_fd_close,"D":_fd_seek,"x":_fd_write,"E":_setTempRet0};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["M"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["N"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["P"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["Q"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["R"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["S"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return MSC_TRANSCODER.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = MSC_TRANSCODER; +else if (typeof define === 'function' && define['amd']) + define([], function() { return MSC_TRANSCODER; }); +else if (typeof exports === 'object') + exports["MSC_TRANSCODER"] = MSC_TRANSCODER; \ No newline at end of file diff --git a/src/assets/js/ktx2Transcoders/msc_basis_transcoder.wasm b/src/assets/js/ktx2Transcoders/msc_basis_transcoder.wasm new file mode 100644 index 0000000000000000000000000000000000000000..ca01a2c79e94f8b08129ef08251bc59de6e8305e GIT binary patch literal 455582 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

F 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

~u z=OFSU55A?&)DSYgUabzj1L2`#xv}v6YIV`!NG$4k)PMBFs2Msgl(@YEUn zYnjsc7fd6)F_rkg#=jFTz0PO)yym#D1zct`p%b*3G|NkA&GJ&(|2{wMh3ar@A?RMz zg4*cV!eia9pYK@r>*pgsv{4(-R!7GVQ#oj(Hl(eNjvp??lk3x|@SJdDQ)eU+VZC@A zv{;I77)XPyPnC+!-PLv$oC-mSyfbpUxp*lxoZHjMF31U>*KS^wbl%R|q;T4ktpePaoPiAW+5scED{Sdt=>iDaU#k;+oFNPK!)B$Z_8dSp7~ zYmqd|c##=4*ME;T+`T;99-9}QGbcQEvR7^Au|#r-JLbLI3rd#^^t;6j=2Mo3qp?m# zGb!cl4Qaw%Y{LK!6wS3nV~ZQ+TIvb->DIg3LL(SXrtp|+3C+N4%jq&ETRwW0aH?|l zR7|y;KN~YG^A}*QrF{{mT9$QxY~kYNGgWQHB|7F=K6wRZT2|YbX!-0~<5SKxAHl3h zGKEQz^*Kz7lq;AO*?eO-K#7q9qrf+n)$);vXT%VbbjDta`=#uzo!vSX1mn%=Pp*PWIr)Gtx4D+MaZ@+hRuD-%ZDpZeO;y&)qN(&t)su zWA2J!Qp!(bEz?4$qNBl+NF8oWNO6Ar*fiQZI_hBw+WEGWPIl<*3>S1ZSj?taqFBta zWM90Wm9xDCoS-#*pb$jmzG8oc9geF*G{$HYfn2fBI~r3%nOremVX5K(wOF~5TDr81 zDLI(c^hCUzO}h1%?!(?`|2=hsjX~>yXh#EVk9jbiFDLu6B^;WiOVQI=5a-kRV*mB- zU^cz6yY6_h)IfcECUr5UkdykN_BskLwT7JB4vji_;^Cq+wW6bN6h4}pVGo^dv!Wcy z0O`?=BY9|U0T=DDBe`g9QR|G8H%7ge_OMl}EA6fui^hW8b7gYXYBw6CE`&+tIA)ty zCJh5|UGW^2G>BJ<{S;vse)d?@b%PGvWHFyF7FJ%7h>{h1^j@Ax!#wM}k7vKUoz6tIlL#}IO zp0@R9+d|Kd_njT*8!?A{rzY|pjf|ef(P&`2pyOFTPCJor)#P?@-)>)XJ5;moPrRe4 zzlv|y+1w6QtNUBm-0nKx?w00uIp1zabGy86_d;{KjBm&8Y+B!xZ#Nfq+QDzNg}Av) z`{K9TLIQ5zu;!XJ0$p4T3rTrno{ijS^ zTvodYTimgvvx{!Oj7xW8*cePFF`O~iO>T<2y#w+7lp9at?yf%_PNgeI#7#nfIyul^ z&JL!-*+RCG#m&qO@k+K>V5=)#mFr7s+$v>?C=m^Fv+k}Pe)6{|p2!YHG19x`zHHt- zY>AG{*o(03gl%M;{SxHO#mnW!3}oL2+qDzfmoWI^`#*kBXa{6}?}YYUu3LNlNMmpx z%|Z6NVgKY<|FMYcW(EpLs&Fuaw~s>;?IRZ4N72PNlW5#qy?hJqsqc^4<2%q7AY2H! z5ONVD0>Mx;+Lkd~t5B9yJfAL9;<;dPsQg>tgW6{h`AX1#0MQF|eHZkE7rzI3($imr z-skE2pvOJ^Aaq*Rmi#dIu6X(k=vhxc1NwEIJ{x+@(<9LHp56^T9pd|11bs221F{4{+idiEvg?Ed z?Ye-MLY6@q_D_AFoSmp!*2?fM%0T<3ZOHT84L#_4IdBi;Vo0NJ+&c{BCv;BrTLXW- z@BLo=RQT|HYfO9e5sVAw2K+Q{KYofF;W|hOA~5aONaHYi?nfB90Qu%aB8M>aZg~_b aElj%;p+EF)`F>ky${I?2lC?SBJc$veIP literal 0 HcmV?d00001 diff --git a/src/assets/js/ktx2Transcoders/uastc_astc.wasm b/src/assets/js/ktx2Transcoders/uastc_astc.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1e39925ceb358a4f2f44ddedb018913b22e519b1 GIT binary patch literal 13147 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 literal 0 HcmV?d00001 diff --git a/src/assets/js/ktx2Transcoders/uastc_rgba32_unorm.wasm b/src/assets/js/ktx2Transcoders/uastc_rgba32_unorm.wasm new file mode 100644 index 0000000000000000000000000000000000000000..42bc2662b4b1113980da24b8e53c8130df1226dc GIT binary patch literal 30389 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 Tl;9MYZeG^mj>OjiBv<}Fttbnp literal 0 HcmV?d00001 diff --git a/src/assets/js/materialsLibrary/babylonjs.materials.js b/src/assets/js/materialsLibrary/babylonjs.materials.js new file mode 100644 index 0000000..a75187d --- /dev/null +++ b/src/assets/js/materialsLibrary/babylonjs.materials.js @@ -0,0 +1,7574 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("babylonjs")); + else if(typeof define === 'function' && define.amd) + define("babylonjs-materials", ["babylonjs"], factory); + else if(typeof exports === 'object') + exports["babylonjs-materials"] = factory(require("babylonjs")); + else + root["MATERIALS"] = factory(root["BABYLON"]); +})((typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this), function(__WEBPACK_EXTERNAL_MODULE_babylonjs_Misc_decorators__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "./legacy/legacy.ts"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "../../node_modules/tslib/tslib.es6.js": +/*!***********************************************************!*\ + !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***! + \***********************************************************/ +/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__extends", function() { return __extends; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__assign", function() { return __assign; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__rest", function() { return __rest; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__decorate", function() { return __decorate; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__param", function() { return __param; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__createBinding", function() { return __createBinding; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spread", function() { return __spread; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spreadArrays", function() { return __spreadArrays; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__await", function() { return __await; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncGenerator", function() { return __asyncGenerator; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncDelegator", function() { return __asyncDelegator; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncValues", function() { return __asyncValues; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldGet", function() { return __classPrivateFieldGet; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldSet", function() { return __classPrivateFieldSet; }); +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + } + return __assign.apply(this, arguments); +} + +function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} + +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} + +function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +} + +function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); +} + +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} + +function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +} + +var __createBinding = Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +}); + +function __exportStar(m, o) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); +} + +function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} + +function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +} + +function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; +} + +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; + +function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} + +function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } +} + +function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } +} + +function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } +} + +function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; +}; + +var __setModuleDefault = Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}; + +function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +} + +function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; +} + +function __classPrivateFieldGet(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + return privateMap.get(receiver); +} + +function __classPrivateFieldSet(receiver, privateMap, value) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + privateMap.set(receiver, value); + return value; +} + + +/***/ }), + +/***/ "../../node_modules/webpack/buildin/global.js": +/*!***********************************!*\ + !*** (webpack)/buildin/global.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || new Function("return this")(); +} catch (e) { + // This works if the window reference is available + if (typeof window === "object") g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), + +/***/ "./cell/cell.fragment.ts": +/*!*******************************!*\ + !*** ./cell/cell.fragment.ts ***! + \*******************************/ +/*! exports provided: cellPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cellPixelShader", function() { return cellPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + +var name = 'cellPixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n#include\n\n#include\n\nvec3 computeCustomDiffuseLighting(lightingInfo info,vec3 diffuseBase,float shadow)\n{\ndiffuseBase=info.diffuse*shadow;\n#ifdef CELLBASIC\nfloat level=1.0;\nif (info.ndl<0.5)\nlevel=0.5;\ndiffuseBase.rgb*vec3(level,level,level);\n#else\nfloat ToonThresholds[4];\nToonThresholds[0]=0.95;\nToonThresholds[1]=0.5;\nToonThresholds[2]=0.2;\nToonThresholds[3]=0.03;\nfloat ToonBrightnessLevels[5];\nToonBrightnessLevels[0]=1.0;\nToonBrightnessLevels[1]=0.8;\nToonBrightnessLevels[2]=0.6;\nToonBrightnessLevels[3]=0.35;\nToonBrightnessLevels[4]=0.2;\nif (info.ndl>ToonThresholds[0])\n{\ndiffuseBase.rgb*=ToonBrightnessLevels[0];\n}\nelse if (info.ndl>ToonThresholds[1])\n{\ndiffuseBase.rgb*=ToonBrightnessLevels[1];\n}\nelse if (info.ndl>ToonThresholds[2])\n{\ndiffuseBase.rgb*=ToonBrightnessLevels[2];\n}\nelse if (info.ndl>ToonThresholds[3])\n{\ndiffuseBase.rgb*=ToonBrightnessLevels[3];\n}\nelse\n{\ndiffuseBase.rgb*=ToonBrightnessLevels[4];\n}\n#endif\nreturn max(diffuseBase,vec3(0.2));\n}\nvoid main(void)\n{\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n\nlightingInfo info;\nvec3 diffuseBase=vec3(0.,0.,0.);\nfloat shadow=1.;\nfloat glossiness=0.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n\nvec4 color=vec4(finalDiffuse,alpha);\n#include\ngl_FragColor=color;\n#include\n}"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var cellPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./cell/cell.vertex.ts": +/*!*****************************!*\ + !*** ./cell/cell.vertex.ts ***! + \*****************************/ +/*! exports provided: cellVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cellVertexShader", function() { return cellVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'cellVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var cellVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./cell/cellMaterial.ts": +/*!******************************!*\ + !*** ./cell/cellMaterial.ts ***! + \******************************/ +/*! exports provided: CellMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CellMaterial", function() { return CellMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _cell_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cell.fragment */ "./cell/cell.fragment.ts"); +/* harmony import */ var _cell_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cell.vertex */ "./cell/cell.vertex.ts"); + + + + + + + + + + + + + +var CellMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(CellMaterialDefines, _super); + function CellMaterialDefines() { + var _this = _super.call(this) || this; + _this.DIFFUSE = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.NORMAL = false; + _this.UV1 = false; + _this.UV2 = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.NDOTL = true; + _this.CUSTOMUSERLIGHTING = true; + _this.CELLBASIC = true; + _this.DEPTHPREPASS = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return CellMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var CellMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(CellMaterial, _super); + function CellMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this.diffuseColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 1, 1); + _this._computeHighLevel = false; + _this._disableLighting = false; + _this._maxSimultaneousLights = 4; + return _this; + } + CellMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + CellMaterial.prototype.needAlphaTesting = function () { + return false; + }; + CellMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + // Methods + CellMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new CellMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Textures + if (defines._areTexturesDirty) { + defines._needUVs = false; + if (scene.texturesEnabled) { + if (this._diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (!this._diffuseTexture.isReady()) { + return false; + } + else { + defines._needUVs = true; + defines.DIFFUSE = true; + } + } + } + } + // High level + defines.CELLBASIC = !this.computeHighLevel; + // Misc. + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + // Lights + defines._needNormals = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting); + // Values that need to be evaluated on every frame + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, true, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks, this.maxSimultaneousLights); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.UV2) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UV2Kind); + } + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + var shaderName = "cell"; + var join = defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vDiffuseColor", + "vFogInfos", "vFogColor", "pointSize", + "vDiffuseInfos", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", "diffuseMatrix" + ]; + var samplers = ["diffuseSampler"]; + var uniformBuffers = new Array(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: this.maxSimultaneousLights + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: this.maxSimultaneousLights - 1 } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + CellMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + if (this._mustRebind(scene, effect)) { + // Textures + if (this._diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + this._activeEffect.setTexture("diffuseSampler", this._diffuseTexture); + this._activeEffect.setFloat2("vDiffuseInfos", this._diffuseTexture.coordinatesIndex, this._diffuseTexture.level); + this._activeEffect.setMatrix("diffuseMatrix", this._diffuseTexture.getTextureMatrix()); + } + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + this._activeEffect.setColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility); + // Lights + if (scene.lightsEnabled && !this.disableLighting) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines, this._maxSimultaneousLights); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._afterBind(mesh, this._activeEffect); + }; + CellMaterial.prototype.getAnimatables = function () { + var results = []; + if (this._diffuseTexture && this._diffuseTexture.animations && this._diffuseTexture.animations.length > 0) { + results.push(this._diffuseTexture); + } + return results; + }; + CellMaterial.prototype.getActiveTextures = function () { + var activeTextures = _super.prototype.getActiveTextures.call(this); + if (this._diffuseTexture) { + activeTextures.push(this._diffuseTexture); + } + return activeTextures; + }; + CellMaterial.prototype.hasTexture = function (texture) { + if (_super.prototype.hasTexture.call(this, texture)) { + return true; + } + return this._diffuseTexture === texture; + }; + CellMaterial.prototype.dispose = function (forceDisposeEffect) { + if (this._diffuseTexture) { + this._diffuseTexture.dispose(); + } + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + CellMaterial.prototype.getClassName = function () { + return "CellMaterial"; + }; + CellMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new CellMaterial(name, _this.getScene()); }, this); + }; + CellMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.CellMaterial"; + return serializationObject; + }; + // Statics + CellMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new CellMaterial(source.name, scene); }, source, scene, rootUrl); + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture") + ], CellMaterial.prototype, "_diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], CellMaterial.prototype, "diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])("diffuse") + ], CellMaterial.prototype, "diffuseColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("computeHighLevel") + ], CellMaterial.prototype, "_computeHighLevel", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], CellMaterial.prototype, "computeHighLevel", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("disableLighting") + ], CellMaterial.prototype, "_disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], CellMaterial.prototype, "disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("maxSimultaneousLights") + ], CellMaterial.prototype, "_maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], CellMaterial.prototype, "maxSimultaneousLights", void 0); + return CellMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.CellMaterial"] = CellMaterial; + + +/***/ }), + +/***/ "./cell/index.ts": +/*!***********************!*\ + !*** ./cell/index.ts ***! + \***********************/ +/*! exports provided: CellMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _cellMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cellMaterial */ "./cell/cellMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CellMaterial", function() { return _cellMaterial__WEBPACK_IMPORTED_MODULE_0__["CellMaterial"]; }); + + + + +/***/ }), + +/***/ "./custom/customMaterial.ts": +/*!**********************************!*\ + !*** ./custom/customMaterial.ts ***! + \**********************************/ +/*! exports provided: CustomShaderStructure, ShaderSpecialParts, CustomMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CustomShaderStructure", function() { return CustomShaderStructure; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ShaderSpecialParts", function() { return ShaderSpecialParts; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CustomMaterial", function() { return CustomMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__); + + + + +var CustomShaderStructure = /** @class */ (function () { + function CustomShaderStructure() { + } + return CustomShaderStructure; +}()); + +var ShaderSpecialParts = /** @class */ (function () { + function ShaderSpecialParts() { + } + return ShaderSpecialParts; +}()); + +var CustomMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(CustomMaterial, _super); + function CustomMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this.CustomParts = new ShaderSpecialParts(); + _this.customShaderNameResolve = _this.Builder; + _this.FragmentShader = babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore["defaultPixelShader"]; + _this.VertexShader = babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore["defaultVertexShader"]; + return _this; + } + CustomMaterial.prototype.AttachAfterBind = function (mesh, effect) { + if (this._newUniformInstances) { + for (var el in this._newUniformInstances) { + var ea = el.toString().split('-'); + if (ea[0] == 'vec2') { + effect.setVector2(ea[1], this._newUniformInstances[el]); + } + else if (ea[0] == 'vec3') { + effect.setVector3(ea[1], this._newUniformInstances[el]); + } + else if (ea[0] == 'vec4') { + effect.setVector4(ea[1], this._newUniformInstances[el]); + } + else if (ea[0] == 'mat4') { + effect.setMatrix(ea[1], this._newUniformInstances[el]); + } + else if (ea[0] == 'float') { + effect.setFloat(ea[1], this._newUniformInstances[el]); + } + } + } + if (this._newSamplerInstances) { + for (var el in this._newSamplerInstances) { + var ea = el.toString().split('-'); + if (ea[0] == 'sampler2D' && this._newSamplerInstances[el].isReady && this._newSamplerInstances[el].isReady()) { + effect.setTexture(ea[1], this._newSamplerInstances[el]); + } + } + } + }; + CustomMaterial.prototype.ReviewUniform = function (name, arr) { + if (name == "uniform" && this._newUniforms) { + for (var ind = 0; ind < this._newUniforms.length; ind++) { + if (this._customUniform[ind].indexOf('sampler') == -1) { + arr.push(this._newUniforms[ind]); + } + } + } + if (name == "sampler" && this._newUniforms) { + for (var ind = 0; ind < this._newUniforms.length; ind++) { + if (this._customUniform[ind].indexOf('sampler') != -1) { + arr.push(this._newUniforms[ind]); + } + } + } + return arr; + }; + CustomMaterial.prototype.Builder = function (shaderName, uniforms, uniformBuffers, samplers, defines, attributes) { + var _this = this; + if (attributes && this._customAttributes && this._customAttributes.length > 0) { + attributes.push.apply(attributes, this._customAttributes); + } + this.ReviewUniform("uniform", uniforms); + this.ReviewUniform("sampler", samplers); + if (this._isCreatedShader) { + return this._createdShaderName; + } + this._isCreatedShader = false; + CustomMaterial.ShaderIndexer++; + var name = "custom_" + CustomMaterial.ShaderIndexer; + var fn_afterBind = this._afterBind.bind(this); + this._afterBind = function (m, e) { + if (!e) { + return; + } + _this.AttachAfterBind(m, e); + try { + fn_afterBind(m, e); + } + catch (e) { } + }; + babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "VertexShader"] = this.VertexShader + .replace('#define CUSTOM_VERTEX_BEGIN', (this.CustomParts.Vertex_Begin ? this.CustomParts.Vertex_Begin : "")) + .replace('#define CUSTOM_VERTEX_DEFINITIONS', (this._customUniform ? this._customUniform.join("\n") : "") + (this.CustomParts.Vertex_Definitions ? this.CustomParts.Vertex_Definitions : "")) + .replace('#define CUSTOM_VERTEX_MAIN_BEGIN', (this.CustomParts.Vertex_MainBegin ? this.CustomParts.Vertex_MainBegin : "")) + .replace('#define CUSTOM_VERTEX_UPDATE_POSITION', (this.CustomParts.Vertex_Before_PositionUpdated ? this.CustomParts.Vertex_Before_PositionUpdated : "")) + .replace('#define CUSTOM_VERTEX_UPDATE_NORMAL', (this.CustomParts.Vertex_Before_NormalUpdated ? this.CustomParts.Vertex_Before_NormalUpdated : "")) + .replace('#define CUSTOM_VERTEX_MAIN_END', (this.CustomParts.Vertex_MainEnd ? this.CustomParts.Vertex_MainEnd : "")); + if (this.CustomParts.Vertex_After_WorldPosComputed) { + babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "VertexShader"] = babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "VertexShader"].replace('#define CUSTOM_VERTEX_UPDATE_WORLDPOS', this.CustomParts.Vertex_After_WorldPosComputed); + } + babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "PixelShader"] = this.FragmentShader + .replace('#define CUSTOM_FRAGMENT_BEGIN', (this.CustomParts.Fragment_Begin ? this.CustomParts.Fragment_Begin : "")) + .replace('#define CUSTOM_FRAGMENT_MAIN_BEGIN', (this.CustomParts.Fragment_MainBegin ? this.CustomParts.Fragment_MainBegin : "")) + .replace('#define CUSTOM_FRAGMENT_DEFINITIONS', (this._customUniform ? this._customUniform.join("\n") : "") + (this.CustomParts.Fragment_Definitions ? this.CustomParts.Fragment_Definitions : "")) + .replace('#define CUSTOM_FRAGMENT_UPDATE_DIFFUSE', (this.CustomParts.Fragment_Custom_Diffuse ? this.CustomParts.Fragment_Custom_Diffuse : "")) + .replace('#define CUSTOM_FRAGMENT_UPDATE_ALPHA', (this.CustomParts.Fragment_Custom_Alpha ? this.CustomParts.Fragment_Custom_Alpha : "")) + .replace('#define CUSTOM_FRAGMENT_BEFORE_LIGHTS', (this.CustomParts.Fragment_Before_Lights ? this.CustomParts.Fragment_Before_Lights : "")) + .replace('#define CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR', (this.CustomParts.Fragment_Before_FragColor ? this.CustomParts.Fragment_Before_FragColor : "")); + if (this.CustomParts.Fragment_Before_Fog) { + babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "PixelShader"] = babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "PixelShader"].replace('#define CUSTOM_FRAGMENT_BEFORE_FOG', this.CustomParts.Fragment_Before_Fog); + } + this._isCreatedShader = true; + this._createdShaderName = name; + return name; + }; + CustomMaterial.prototype.AddUniform = function (name, kind, param) { + if (!this._customUniform) { + this._customUniform = new Array(); + this._newUniforms = new Array(); + this._newSamplerInstances = {}; + this._newUniformInstances = {}; + } + if (param) { + if (kind.indexOf("sampler") != -1) { + this._newSamplerInstances[kind + "-" + name] = param; + } + else { + this._newUniformInstances[kind + "-" + name] = param; + } + } + this._customUniform.push("uniform " + kind + " " + name + ";"); + this._newUniforms.push(name); + return this; + }; + CustomMaterial.prototype.AddAttribute = function (name) { + if (!this._customAttributes) { + this._customAttributes = []; + } + this._customAttributes.push(name); + return this; + }; + CustomMaterial.prototype.Fragment_Begin = function (shaderPart) { + this.CustomParts.Fragment_Begin = shaderPart; + return this; + }; + CustomMaterial.prototype.Fragment_Definitions = function (shaderPart) { + this.CustomParts.Fragment_Definitions = shaderPart; + return this; + }; + CustomMaterial.prototype.Fragment_MainBegin = function (shaderPart) { + this.CustomParts.Fragment_MainBegin = shaderPart; + return this; + }; + CustomMaterial.prototype.Fragment_Custom_Diffuse = function (shaderPart) { + this.CustomParts.Fragment_Custom_Diffuse = shaderPart.replace("result", "diffuseColor"); + return this; + }; + CustomMaterial.prototype.Fragment_Custom_Alpha = function (shaderPart) { + this.CustomParts.Fragment_Custom_Alpha = shaderPart.replace("result", "alpha"); + return this; + }; + CustomMaterial.prototype.Fragment_Before_Lights = function (shaderPart) { + this.CustomParts.Fragment_Before_Lights = shaderPart; + return this; + }; + CustomMaterial.prototype.Fragment_Before_Fog = function (shaderPart) { + this.CustomParts.Fragment_Before_Fog = shaderPart; + return this; + }; + CustomMaterial.prototype.Fragment_Before_FragColor = function (shaderPart) { + this.CustomParts.Fragment_Before_FragColor = shaderPart.replace("result", "color"); + return this; + }; + CustomMaterial.prototype.Vertex_Begin = function (shaderPart) { + this.CustomParts.Vertex_Begin = shaderPart; + return this; + }; + CustomMaterial.prototype.Vertex_Definitions = function (shaderPart) { + this.CustomParts.Vertex_Definitions = shaderPart; + return this; + }; + CustomMaterial.prototype.Vertex_MainBegin = function (shaderPart) { + this.CustomParts.Vertex_MainBegin = shaderPart; + return this; + }; + CustomMaterial.prototype.Vertex_Before_PositionUpdated = function (shaderPart) { + this.CustomParts.Vertex_Before_PositionUpdated = shaderPart.replace("result", "positionUpdated"); + return this; + }; + CustomMaterial.prototype.Vertex_Before_NormalUpdated = function (shaderPart) { + this.CustomParts.Vertex_Before_NormalUpdated = shaderPart.replace("result", "normalUpdated"); + return this; + }; + CustomMaterial.prototype.Vertex_After_WorldPosComputed = function (shaderPart) { + this.CustomParts.Vertex_After_WorldPosComputed = shaderPart; + return this; + }; + CustomMaterial.prototype.Vertex_MainEnd = function (shaderPart) { + this.CustomParts.Vertex_MainEnd = shaderPart; + return this; + }; + CustomMaterial.ShaderIndexer = 1; + return CustomMaterial; +}(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["StandardMaterial"])); + +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.CustomMaterial"] = CustomMaterial; + + +/***/ }), + +/***/ "./custom/index.ts": +/*!*************************!*\ + !*** ./custom/index.ts ***! + \*************************/ +/*! exports provided: CustomShaderStructure, ShaderSpecialParts, CustomMaterial, ShaderAlebdoParts, PBRCustomMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _customMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./customMaterial */ "./custom/customMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CustomShaderStructure", function() { return _customMaterial__WEBPACK_IMPORTED_MODULE_0__["CustomShaderStructure"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ShaderSpecialParts", function() { return _customMaterial__WEBPACK_IMPORTED_MODULE_0__["ShaderSpecialParts"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CustomMaterial", function() { return _customMaterial__WEBPACK_IMPORTED_MODULE_0__["CustomMaterial"]; }); + +/* harmony import */ var _pbrCustomMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pbrCustomMaterial */ "./custom/pbrCustomMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ShaderAlebdoParts", function() { return _pbrCustomMaterial__WEBPACK_IMPORTED_MODULE_1__["ShaderAlebdoParts"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PBRCustomMaterial", function() { return _pbrCustomMaterial__WEBPACK_IMPORTED_MODULE_1__["PBRCustomMaterial"]; }); + + + + + +/***/ }), + +/***/ "./custom/pbrCustomMaterial.ts": +/*!*************************************!*\ + !*** ./custom/pbrCustomMaterial.ts ***! + \*************************************/ +/*! exports provided: ShaderAlebdoParts, PBRCustomMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ShaderAlebdoParts", function() { return ShaderAlebdoParts; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PBRCustomMaterial", function() { return PBRCustomMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__); + + + + +var ShaderAlebdoParts = /** @class */ (function () { + function ShaderAlebdoParts() { + } + return ShaderAlebdoParts; +}()); + +var PBRCustomMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(PBRCustomMaterial, _super); + function PBRCustomMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this.CustomParts = new ShaderAlebdoParts(); + _this.customShaderNameResolve = _this.Builder; + _this.FragmentShader = babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore["pbrPixelShader"]; + _this.VertexShader = babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore["pbrVertexShader"]; + _this.FragmentShader = _this.FragmentShader.replace(/#include/g, babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].IncludesShadersStore["pbrBlockAlbedoOpacity"]); + _this.FragmentShader = _this.FragmentShader.replace(/#include/g, babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].IncludesShadersStore["pbrBlockReflectivity"]); + _this.FragmentShader = _this.FragmentShader.replace(/#include/g, babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].IncludesShadersStore["pbrBlockFinalColorComposition"]); + return _this; + } + PBRCustomMaterial.prototype.AttachAfterBind = function (mesh, effect) { + if (this._newUniformInstances) { + for (var el in this._newUniformInstances) { + var ea = el.toString().split('-'); + if (ea[0] == 'vec2') { + effect.setVector2(ea[1], this._newUniformInstances[el]); + } + else if (ea[0] == 'vec3') { + effect.setVector3(ea[1], this._newUniformInstances[el]); + } + else if (ea[0] == 'vec4') { + effect.setVector4(ea[1], this._newUniformInstances[el]); + } + else if (ea[0] == 'mat4') { + effect.setMatrix(ea[1], this._newUniformInstances[el]); + } + else if (ea[0] == 'float') { + effect.setFloat(ea[1], this._newUniformInstances[el]); + } + } + } + if (this._newSamplerInstances) { + for (var el in this._newSamplerInstances) { + var ea = el.toString().split('-'); + if (ea[0] == 'sampler2D' && this._newSamplerInstances[el].isReady && this._newSamplerInstances[el].isReady()) { + effect.setTexture(ea[1], this._newSamplerInstances[el]); + } + } + } + }; + PBRCustomMaterial.prototype.ReviewUniform = function (name, arr) { + if (name == "uniform" && this._newUniforms) { + for (var ind = 0; ind < this._newUniforms.length; ind++) { + if (this._customUniform[ind].indexOf('sampler') == -1) { + arr.push(this._newUniforms[ind]); + } + } + } + if (name == "sampler" && this._newUniforms) { + for (var ind = 0; ind < this._newUniforms.length; ind++) { + if (this._customUniform[ind].indexOf('sampler') != -1) { + arr.push(this._newUniforms[ind]); + } + } + } + return arr; + }; + PBRCustomMaterial.prototype.Builder = function (shaderName, uniforms, uniformBuffers, samplers, defines, attributes) { + var _this = this; + if (attributes && this._customAttributes && this._customAttributes.length > 0) { + attributes.push.apply(attributes, this._customAttributes); + } + this.ReviewUniform("uniform", uniforms); + this.ReviewUniform("sampler", samplers); + if (this._isCreatedShader) { + return this._createdShaderName; + } + this._isCreatedShader = false; + PBRCustomMaterial.ShaderIndexer++; + var name = "custom_" + PBRCustomMaterial.ShaderIndexer; + var fn_afterBind = this._afterBind.bind(this); + this._afterBind = function (m, e) { + if (!e) { + return; + } + _this.AttachAfterBind(m, e); + try { + fn_afterBind(m, e); + } + catch (e) { } + }; + babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "VertexShader"] = this.VertexShader + .replace('#define CUSTOM_VERTEX_BEGIN', (this.CustomParts.Vertex_Begin ? this.CustomParts.Vertex_Begin : "")) + .replace('#define CUSTOM_VERTEX_DEFINITIONS', (this._customUniform ? this._customUniform.join("\n") : "") + (this.CustomParts.Vertex_Definitions ? this.CustomParts.Vertex_Definitions : "")) + .replace('#define CUSTOM_VERTEX_MAIN_BEGIN', (this.CustomParts.Vertex_MainBegin ? this.CustomParts.Vertex_MainBegin : "")) + .replace('#define CUSTOM_VERTEX_UPDATE_POSITION', (this.CustomParts.Vertex_Before_PositionUpdated ? this.CustomParts.Vertex_Before_PositionUpdated : "")) + .replace('#define CUSTOM_VERTEX_UPDATE_NORMAL', (this.CustomParts.Vertex_Before_NormalUpdated ? this.CustomParts.Vertex_Before_NormalUpdated : "")) + .replace('#define CUSTOM_VERTEX_MAIN_END', (this.CustomParts.Vertex_MainEnd ? this.CustomParts.Vertex_MainEnd : "")); + if (this.CustomParts.Vertex_After_WorldPosComputed) { + babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "VertexShader"] = babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "VertexShader"].replace('#define CUSTOM_VERTEX_UPDATE_WORLDPOS', this.CustomParts.Vertex_After_WorldPosComputed); + } + babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "PixelShader"] = this.FragmentShader + .replace('#define CUSTOM_FRAGMENT_BEGIN', (this.CustomParts.Fragment_Begin ? this.CustomParts.Fragment_Begin : "")) + .replace('#define CUSTOM_FRAGMENT_MAIN_BEGIN', (this.CustomParts.Fragment_MainBegin ? this.CustomParts.Fragment_MainBegin : "")) + .replace('#define CUSTOM_FRAGMENT_DEFINITIONS', (this._customUniform ? this._customUniform.join("\n") : "") + (this.CustomParts.Fragment_Definitions ? this.CustomParts.Fragment_Definitions : "")) + .replace('#define CUSTOM_FRAGMENT_UPDATE_ALBEDO', (this.CustomParts.Fragment_Custom_Albedo ? this.CustomParts.Fragment_Custom_Albedo : "")) + .replace('#define CUSTOM_FRAGMENT_UPDATE_ALPHA', (this.CustomParts.Fragment_Custom_Alpha ? this.CustomParts.Fragment_Custom_Alpha : "")) + .replace('#define CUSTOM_FRAGMENT_BEFORE_LIGHTS', (this.CustomParts.Fragment_Before_Lights ? this.CustomParts.Fragment_Before_Lights : "")) + .replace('#define CUSTOM_FRAGMENT_UPDATE_METALLICROUGHNESS', (this.CustomParts.Fragment_Custom_MetallicRoughness ? this.CustomParts.Fragment_Custom_MetallicRoughness : "")) + .replace('#define CUSTOM_FRAGMENT_UPDATE_MICROSURFACE', (this.CustomParts.Fragment_Custom_MicroSurface ? this.CustomParts.Fragment_Custom_MicroSurface : "")) + .replace('#define CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR', (this.CustomParts.Fragment_Before_FragColor ? this.CustomParts.Fragment_Before_FragColor : "")); + if (this.CustomParts.Fragment_Before_Fog) { + babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "PixelShader"] = babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["Effect"].ShadersStore[name + "PixelShader"].replace('#define CUSTOM_FRAGMENT_BEFORE_FOG', this.CustomParts.Fragment_Before_Fog); + } + this._isCreatedShader = true; + this._createdShaderName = name; + return name; + }; + PBRCustomMaterial.prototype.AddUniform = function (name, kind, param) { + if (!this._customUniform) { + this._customUniform = new Array(); + this._newUniforms = new Array(); + this._newSamplerInstances = {}; + this._newUniformInstances = {}; + } + if (param) { + if (kind.indexOf("sampler") != -1) { + this._newSamplerInstances[kind + "-" + name] = param; + } + else { + this._newUniformInstances[kind + "-" + name] = param; + } + } + this._customUniform.push("uniform " + kind + " " + name + ";"); + this._newUniforms.push(name); + return this; + }; + PBRCustomMaterial.prototype.AddAttribute = function (name) { + if (!this._customAttributes) { + this._customAttributes = []; + } + this._customAttributes.push(name); + return this; + }; + PBRCustomMaterial.prototype.Fragment_Begin = function (shaderPart) { + this.CustomParts.Fragment_Begin = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Fragment_Definitions = function (shaderPart) { + this.CustomParts.Fragment_Definitions = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Fragment_MainBegin = function (shaderPart) { + this.CustomParts.Fragment_MainBegin = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Fragment_Custom_Albedo = function (shaderPart) { + this.CustomParts.Fragment_Custom_Albedo = shaderPart.replace("result", "surfaceAlbedo"); + return this; + }; + PBRCustomMaterial.prototype.Fragment_Custom_Alpha = function (shaderPart) { + this.CustomParts.Fragment_Custom_Alpha = shaderPart.replace("result", "alpha"); + return this; + }; + PBRCustomMaterial.prototype.Fragment_Before_Lights = function (shaderPart) { + this.CustomParts.Fragment_Before_Lights = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Fragment_Custom_MetallicRoughness = function (shaderPart) { + this.CustomParts.Fragment_Custom_MetallicRoughness = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Fragment_Custom_MicroSurface = function (shaderPart) { + this.CustomParts.Fragment_Custom_MicroSurface = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Fragment_Before_Fog = function (shaderPart) { + this.CustomParts.Fragment_Before_Fog = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Fragment_Before_FragColor = function (shaderPart) { + this.CustomParts.Fragment_Before_FragColor = shaderPart.replace("result", "color"); + return this; + }; + PBRCustomMaterial.prototype.Vertex_Begin = function (shaderPart) { + this.CustomParts.Vertex_Begin = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Vertex_Definitions = function (shaderPart) { + this.CustomParts.Vertex_Definitions = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Vertex_MainBegin = function (shaderPart) { + this.CustomParts.Vertex_MainBegin = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Vertex_Before_PositionUpdated = function (shaderPart) { + this.CustomParts.Vertex_Before_PositionUpdated = shaderPart.replace("result", "positionUpdated"); + return this; + }; + PBRCustomMaterial.prototype.Vertex_Before_NormalUpdated = function (shaderPart) { + this.CustomParts.Vertex_Before_NormalUpdated = shaderPart.replace("result", "normalUpdated"); + return this; + }; + PBRCustomMaterial.prototype.Vertex_After_WorldPosComputed = function (shaderPart) { + this.CustomParts.Vertex_After_WorldPosComputed = shaderPart; + return this; + }; + PBRCustomMaterial.prototype.Vertex_MainEnd = function (shaderPart) { + this.CustomParts.Vertex_MainEnd = shaderPart; + return this; + }; + PBRCustomMaterial.ShaderIndexer = 1; + return PBRCustomMaterial; +}(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["PBRMaterial"])); + +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.PBRCustomMaterial"] = PBRCustomMaterial; + + +/***/ }), + +/***/ "./fire/fire.fragment.ts": +/*!*******************************!*\ + !*** ./fire/fire.fragment.ts ***! + \*******************************/ +/*! exports provided: firePixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "firePixelShader", function() { return firePixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + +var name = 'firePixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\n\nvarying vec3 vPositionW;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n\nuniform sampler2D distortionSampler;\nuniform sampler2D opacitySampler;\n#ifdef DIFFUSE\nvarying vec2 vDistortionCoords1;\nvarying vec2 vDistortionCoords2;\nvarying vec2 vDistortionCoords3;\n#endif\n#include\n\n#include\nvec4 bx2(vec4 x)\n{\nreturn vec4(2.0)*x-vec4(1.0);\n}\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\n\nfloat alpha=1.0;\n#ifdef DIFFUSE\n\nconst float distortionAmount0=0.092;\nconst float distortionAmount1=0.092;\nconst float distortionAmount2=0.092;\nvec2 heightAttenuation=vec2(0.3,0.39);\nvec4 noise0=texture2D(distortionSampler,vDistortionCoords1);\nvec4 noise1=texture2D(distortionSampler,vDistortionCoords2);\nvec4 noise2=texture2D(distortionSampler,vDistortionCoords3);\nvec4 noiseSum=bx2(noise0)*distortionAmount0+bx2(noise1)*distortionAmount1+bx2(noise2)*distortionAmount2;\nvec4 perturbedBaseCoords=vec4(vDiffuseUV,0.0,1.0)+noiseSum*(vDiffuseUV.y*heightAttenuation.x+heightAttenuation.y);\nvec4 opacityColor=texture2D(opacitySampler,perturbedBaseCoords.xy);\n#ifdef ALPHATEST\nif (opacityColor.r<0.1)\ndiscard;\n#endif\n#include\nbaseColor=texture2D(diffuseSampler,perturbedBaseCoords.xy)*2.0;\nbaseColor*=opacityColor;\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(1.0,1.0,1.0);\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n\nvec4 color=vec4(baseColor.rgb,alpha);\n#include\ngl_FragColor=color;\n#include\n}"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var firePixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./fire/fire.vertex.ts": +/*!*****************************!*\ + !*** ./fire/fire.vertex.ts ***! + \*****************************/ +/*! exports provided: fireVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fireVertexShader", function() { return fireVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + +var name = 'fireVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n\nuniform float time;\nuniform float speed;\n#ifdef DIFFUSE\nvarying vec2 vDistortionCoords1;\nvarying vec2 vDistortionCoords2;\nvarying vec2 vDistortionCoords3;\n#endif\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n\n#ifdef DIFFUSE\nvDiffuseUV=uv;\nvDiffuseUV.y-=0.2;\n#endif\n\n#include\n\n#include\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n#ifdef DIFFUSE\n\nvec3 layerSpeed=vec3(-0.2,-0.52,-0.1)*speed;\nvDistortionCoords1.x=uv.x;\nvDistortionCoords1.y=uv.y+layerSpeed.x*time/1000.0;\nvDistortionCoords2.x=uv.x;\nvDistortionCoords2.y=uv.y+layerSpeed.y*time/1000.0;\nvDistortionCoords3.x=uv.x;\nvDistortionCoords3.y=uv.y+layerSpeed.z*time/1000.0;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var fireVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./fire/fireMaterial.ts": +/*!******************************!*\ + !*** ./fire/fireMaterial.ts ***! + \******************************/ +/*! exports provided: FireMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FireMaterial", function() { return FireMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _fire_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fire.fragment */ "./fire/fire.fragment.ts"); +/* harmony import */ var _fire_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fire.vertex */ "./fire/fire.vertex.ts"); + + + + + + + + + + + + + + + +var FireMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(FireMaterialDefines, _super); + function FireMaterialDefines() { + var _this = _super.call(this) || this; + _this.DIFFUSE = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.DEPTHPREPASS = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.UV1 = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.BonesPerMesh = 0; + _this.NUM_BONE_INFLUENCERS = 0; + _this.INSTANCES = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return FireMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var FireMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(FireMaterial, _super); + function FireMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this.diffuseColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 1, 1); + _this.speed = 1.0; + _this._scaledDiffuse = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](); + _this._lastTime = 0; + return _this; + } + FireMaterial.prototype.needAlphaBlending = function () { + return false; + }; + FireMaterial.prototype.needAlphaTesting = function () { + return true; + }; + FireMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + // Methods + FireMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new FireMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Textures + if (defines._areTexturesDirty) { + defines._needUVs = false; + if (this._diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (!this._diffuseTexture.isReady()) { + return false; + } + else { + defines._needUVs = true; + defines.DIFFUSE = true; + } + } + } + defines.ALPHATEST = this._opacityTexture ? true : false; + // Misc. + if (defines._areMiscDirty) { + defines.POINTSIZE = (this.pointsCloud || scene.forcePointsCloud); + defines.FOG = (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE && this.fogEnabled); + } + // Values that need to be evaluated on every frame + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, false, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + // Legacy browser patch + var shaderName = "fire"; + var join = defines.toString(); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: ["world", "view", "viewProjection", "vEyePosition", + "vFogInfos", "vFogColor", "pointSize", + "vDiffuseInfos", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", "diffuseMatrix", + // Fire + "time", "speed" + ], + uniformBuffersNames: [], + samplers: ["diffuseSampler", + // Fire + "distortionSampler", "opacitySampler" + ], + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: null, + maxSimultaneousLights: 4, + transformFeedbackVaryings: null + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + FireMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + if (this._mustRebind(scene, effect)) { + // Textures + if (this._diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + this._activeEffect.setTexture("diffuseSampler", this._diffuseTexture); + this._activeEffect.setFloat2("vDiffuseInfos", this._diffuseTexture.coordinatesIndex, this._diffuseTexture.level); + this._activeEffect.setMatrix("diffuseMatrix", this._diffuseTexture.getTextureMatrix()); + this._activeEffect.setTexture("distortionSampler", this._distortionTexture); + this._activeEffect.setTexture("opacitySampler", this._opacityTexture); + } + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + this._activeEffect.setColor4("vDiffuseColor", this._scaledDiffuse, this.alpha * mesh.visibility); + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + // Time + this._lastTime += scene.getEngine().getDeltaTime(); + this._activeEffect.setFloat("time", this._lastTime); + // Speed + this._activeEffect.setFloat("speed", this.speed); + this._afterBind(mesh, this._activeEffect); + }; + FireMaterial.prototype.getAnimatables = function () { + var results = []; + if (this._diffuseTexture && this._diffuseTexture.animations && this._diffuseTexture.animations.length > 0) { + results.push(this._diffuseTexture); + } + if (this._distortionTexture && this._distortionTexture.animations && this._distortionTexture.animations.length > 0) { + results.push(this._distortionTexture); + } + if (this._opacityTexture && this._opacityTexture.animations && this._opacityTexture.animations.length > 0) { + results.push(this._opacityTexture); + } + return results; + }; + FireMaterial.prototype.getActiveTextures = function () { + var activeTextures = _super.prototype.getActiveTextures.call(this); + if (this._diffuseTexture) { + activeTextures.push(this._diffuseTexture); + } + if (this._distortionTexture) { + activeTextures.push(this._distortionTexture); + } + if (this._opacityTexture) { + activeTextures.push(this._opacityTexture); + } + return activeTextures; + }; + FireMaterial.prototype.hasTexture = function (texture) { + if (_super.prototype.hasTexture.call(this, texture)) { + return true; + } + if (this._diffuseTexture === texture) { + return true; + } + if (this._distortionTexture === texture) { + return true; + } + if (this._opacityTexture === texture) { + return true; + } + return false; + }; + FireMaterial.prototype.getClassName = function () { + return "FireMaterial"; + }; + FireMaterial.prototype.dispose = function (forceDisposeEffect) { + if (this._diffuseTexture) { + this._diffuseTexture.dispose(); + } + if (this._distortionTexture) { + this._distortionTexture.dispose(); + } + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + FireMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new FireMaterial(name, _this.getScene()); }, this); + }; + FireMaterial.prototype.serialize = function () { + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.customType = "BABYLON.FireMaterial"; + serializationObject.diffuseColor = this.diffuseColor.asArray(); + serializationObject.speed = this.speed; + if (this._diffuseTexture) { + serializationObject._diffuseTexture = this._diffuseTexture.serialize(); + } + if (this._distortionTexture) { + serializationObject._distortionTexture = this._distortionTexture.serialize(); + } + if (this._opacityTexture) { + serializationObject._opacityTexture = this._opacityTexture.serialize(); + } + return serializationObject; + }; + FireMaterial.Parse = function (source, scene, rootUrl) { + var material = new FireMaterial(source.name, scene); + material.diffuseColor = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"].FromArray(source.diffuseColor); + material.speed = source.speed; + material.alpha = source.alpha; + material.id = source.id; + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Tags"].AddTagsTo(material, source.tags); + material.backFaceCulling = source.backFaceCulling; + material.wireframe = source.wireframe; + if (source._diffuseTexture) { + material._diffuseTexture = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].Parse(source._diffuseTexture, scene, rootUrl); + } + if (source._distortionTexture) { + material._distortionTexture = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].Parse(source._distortionTexture, scene, rootUrl); + } + if (source._opacityTexture) { + material._opacityTexture = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].Parse(source._opacityTexture, scene, rootUrl); + } + return material; + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture") + ], FireMaterial.prototype, "_diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], FireMaterial.prototype, "diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("distortionTexture") + ], FireMaterial.prototype, "_distortionTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], FireMaterial.prototype, "distortionTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("opacityTexture") + ], FireMaterial.prototype, "_opacityTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], FireMaterial.prototype, "opacityTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])("diffuse") + ], FireMaterial.prototype, "diffuseColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], FireMaterial.prototype, "speed", void 0); + return FireMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.FireMaterial"] = FireMaterial; + + +/***/ }), + +/***/ "./fire/index.ts": +/*!***********************!*\ + !*** ./fire/index.ts ***! + \***********************/ +/*! exports provided: FireMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _fireMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fireMaterial */ "./fire/fireMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FireMaterial", function() { return _fireMaterial__WEBPACK_IMPORTED_MODULE_0__["FireMaterial"]; }); + + + + +/***/ }), + +/***/ "./fur/fur.fragment.ts": +/*!*****************************!*\ + !*** ./fur/fur.fragment.ts ***! + \*****************************/ +/*! exports provided: furPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "furPixelShader", function() { return furPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + +var name = 'furPixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n\nuniform vec4 furColor;\nuniform float furLength;\nvarying vec3 vPositionW;\nvarying float vfur_length;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n\n#ifdef HIGHLEVEL\nuniform float furOffset;\nuniform float furOcclusion;\nuniform sampler2D furTexture;\nvarying vec2 vFurUV;\n#endif\n#include\n#include\n#include\n#include\nfloat Rand(vec3 rv) {\nfloat x=dot(rv,vec3(12.9898,78.233,24.65487));\nreturn fract(sin(x)*43758.5453);\n}\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=furColor;\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor*=texture2D(diffuseSampler,vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef HIGHLEVEL\n\nvec4 furTextureColor=texture2D(furTexture,vec2(vFurUV.x,vFurUV.y));\nif (furTextureColor.a<=0.0 || furTextureColor.g[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\nvec3 finalDiffuse=clamp(diffuseBase.rgb*baseColor.rgb,0.0,1.0);\n\n#ifdef HIGHLEVEL\nvec4 color=vec4(finalDiffuse,alpha);\n#else\nfloat r=vfur_length/furLength*0.5;\nvec4 color=vec4(finalDiffuse*(0.5+r),alpha);\n#endif\n#include\ngl_FragColor=color;\n#include\n}"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var furPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./fur/fur.vertex.ts": +/*!***************************!*\ + !*** ./fur/fur.vertex.ts ***! + \***************************/ +/*! exports provided: furVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "furVertexShader", function() { return furVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'furVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\nattribute vec3 normal;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\nuniform float furLength;\nuniform float furAngle;\n#ifdef HIGHLEVEL\nuniform float furOffset;\nuniform vec3 furGravity;\nuniform float furTime;\nuniform float furSpacing;\nuniform float furDensity;\n#endif\n#ifdef HEIGHTMAP\nuniform sampler2D heightTexture;\n#endif\n#ifdef HIGHLEVEL\nvarying vec2 vFurUV;\n#endif\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\nvarying float vfur_length;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nfloat Rand(vec3 rv) {\nfloat x=dot(rv,vec3(12.9898,78.233,24.65487));\nreturn fract(sin(x)*43758.5453);\n}\nvoid main(void) {\n#include\n#include\n\nfloat r=Rand(position);\n#ifdef HEIGHTMAP\n#if __VERSION__>100\nvfur_length=furLength*texture(heightTexture,uv).x;\n#else\nvfur_length=furLength*texture2D(heightTexture,uv).r;\n#endif\n#else\nvfur_length=(furLength*r);\n#endif\nvec3 tangent1=vec3(normal.y,-normal.x,0);\nvec3 tangent2=vec3(-normal.z,0,normal.x);\nr=Rand(tangent1*r);\nfloat J=(2.0+4.0*r);\nr=Rand(tangent2*r);\nfloat K=(2.0+2.0*r);\ntangent1=tangent1*J+tangent2*K;\ntangent1=normalize(tangent1);\nvec3 newPosition=position+normal*vfur_length*cos(furAngle)+tangent1*vfur_length*sin(furAngle);\n#ifdef HIGHLEVEL\n\nvec3 forceDirection=vec3(0.0,0.0,0.0);\nforceDirection.x=sin(furTime+position.x*0.05)*0.2;\nforceDirection.y=cos(furTime*0.7+position.y*0.04)*0.2;\nforceDirection.z=sin(furTime*0.7+position.z*0.04)*0.2;\nvec3 displacement=vec3(0.0,0.0,0.0);\ndisplacement=furGravity+forceDirection;\nfloat displacementFactor=pow(furOffset,3.0);\nvec3 aNormal=normal;\naNormal.xyz+=displacement*displacementFactor;\nnewPosition=vec3(newPosition.x,newPosition.y,newPosition.z)+(normalize(aNormal)*furOffset*furSpacing);\n#endif\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\ngl_Position=viewProjection*finalWorld*vec4(newPosition,1.0);\nvec4 worldPos=finalWorld*vec4(newPosition,1.0);\nvPositionW=vec3(worldPos);\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#ifdef HIGHLEVEL\nvFurUV=vDiffuseUV*furDensity;\n#endif\n#else\n#ifdef HIGHLEVEL\nvFurUV=uv*furDensity;\n#endif\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var furVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./fur/furMaterial.ts": +/*!****************************!*\ + !*** ./fur/furMaterial.ts ***! + \****************************/ +/*! exports provided: FurMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FurMaterial", function() { return FurMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _fur_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fur.fragment */ "./fur/fur.fragment.ts"); +/* harmony import */ var _fur_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fur.vertex */ "./fur/fur.vertex.ts"); + + + + + + + + + + + + + + + + + +var FurMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(FurMaterialDefines, _super); + function FurMaterialDefines() { + var _this = _super.call(this) || this; + _this.DIFFUSE = false; + _this.HEIGHTMAP = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.DEPTHPREPASS = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.NORMAL = false; + _this.UV1 = false; + _this.UV2 = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.HIGHLEVEL = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return FurMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var FurMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(FurMaterial, _super); + function FurMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this.diffuseColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 1, 1); + _this.furLength = 1; + _this.furAngle = 0; + _this.furColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](0.44, 0.21, 0.02); + _this.furOffset = 0.0; + _this.furSpacing = 12; + _this.furGravity = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0, 0, 0); + _this.furSpeed = 100; + _this.furDensity = 20; + _this.furOcclusion = 0.0; + _this._disableLighting = false; + _this._maxSimultaneousLights = 4; + _this.highLevelFur = true; + _this._furTime = 0; + return _this; + } + Object.defineProperty(FurMaterial.prototype, "furTime", { + get: function () { + return this._furTime; + }, + set: function (furTime) { + this._furTime = furTime; + }, + enumerable: false, + configurable: true + }); + FurMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + FurMaterial.prototype.needAlphaTesting = function () { + return false; + }; + FurMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + FurMaterial.prototype.updateFur = function () { + for (var i = 1; i < this._meshes.length; i++) { + var offsetFur = this._meshes[i].material; + offsetFur.furLength = this.furLength; + offsetFur.furAngle = this.furAngle; + offsetFur.furGravity = this.furGravity; + offsetFur.furSpacing = this.furSpacing; + offsetFur.furSpeed = this.furSpeed; + offsetFur.furColor = this.furColor; + offsetFur.diffuseTexture = this.diffuseTexture; + offsetFur.furTexture = this.furTexture; + offsetFur.highLevelFur = this.highLevelFur; + offsetFur.furTime = this.furTime; + offsetFur.furDensity = this.furDensity; + } + }; + // Methods + FurMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new FurMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Textures + if (defines._areTexturesDirty) { + if (scene.texturesEnabled) { + if (this.diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (!this.diffuseTexture.isReady()) { + return false; + } + else { + defines._needUVs = true; + defines.DIFFUSE = true; + } + } + if (this.heightTexture && engine.getCaps().maxVertexTextureImageUnits) { + if (!this.heightTexture.isReady()) { + return false; + } + else { + defines._needUVs = true; + defines.HEIGHTMAP = true; + } + } + } + } + // High level + if (this.highLevelFur !== defines.HIGHLEVEL) { + defines.HIGHLEVEL = true; + defines.markAsUnprocessed(); + } + // Misc. + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + // Lights + defines._needNormals = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting); + // Values that need to be evaluated on every frame + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, true, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks, this.maxSimultaneousLights); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.UV2) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UV2Kind); + } + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + // Legacy browser patch + var shaderName = "fur"; + var join = defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vDiffuseColor", + "vFogInfos", "vFogColor", "pointSize", + "vDiffuseInfos", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", "diffuseMatrix", + "furLength", "furAngle", "furColor", "furOffset", "furGravity", "furTime", "furSpacing", "furDensity", "furOcclusion" + ]; + var samplers = ["diffuseSampler", + "heightTexture", "furTexture" + ]; + var uniformBuffers = new Array(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: this.maxSimultaneousLights + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: this.maxSimultaneousLights } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + FurMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + if (scene.getCachedMaterial() !== this) { + // Textures + if (this._diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + this._activeEffect.setTexture("diffuseSampler", this._diffuseTexture); + this._activeEffect.setFloat2("vDiffuseInfos", this._diffuseTexture.coordinatesIndex, this._diffuseTexture.level); + this._activeEffect.setMatrix("diffuseMatrix", this._diffuseTexture.getTextureMatrix()); + } + if (this._heightTexture) { + this._activeEffect.setTexture("heightTexture", this._heightTexture); + } + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + this._activeEffect.setColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility); + if (scene.lightsEnabled && !this.disableLighting) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._activeEffect.setFloat("furLength", this.furLength); + this._activeEffect.setFloat("furAngle", this.furAngle); + this._activeEffect.setColor4("furColor", this.furColor, 1.0); + if (this.highLevelFur) { + this._activeEffect.setVector3("furGravity", this.furGravity); + this._activeEffect.setFloat("furOffset", this.furOffset); + this._activeEffect.setFloat("furSpacing", this.furSpacing); + this._activeEffect.setFloat("furDensity", this.furDensity); + this._activeEffect.setFloat("furOcclusion", this.furOcclusion); + this._furTime += this.getScene().getEngine().getDeltaTime() / this.furSpeed; + this._activeEffect.setFloat("furTime", this._furTime); + this._activeEffect.setTexture("furTexture", this.furTexture); + } + this._afterBind(mesh, this._activeEffect); + }; + FurMaterial.prototype.getAnimatables = function () { + var results = []; + if (this.diffuseTexture && this.diffuseTexture.animations && this.diffuseTexture.animations.length > 0) { + results.push(this.diffuseTexture); + } + if (this.heightTexture && this.heightTexture.animations && this.heightTexture.animations.length > 0) { + results.push(this.heightTexture); + } + return results; + }; + FurMaterial.prototype.getActiveTextures = function () { + var activeTextures = _super.prototype.getActiveTextures.call(this); + if (this._diffuseTexture) { + activeTextures.push(this._diffuseTexture); + } + if (this._heightTexture) { + activeTextures.push(this._heightTexture); + } + return activeTextures; + }; + FurMaterial.prototype.hasTexture = function (texture) { + if (_super.prototype.hasTexture.call(this, texture)) { + return true; + } + if (this.diffuseTexture === texture) { + return true; + } + if (this._heightTexture === texture) { + return true; + } + return false; + }; + FurMaterial.prototype.dispose = function (forceDisposeEffect) { + if (this.diffuseTexture) { + this.diffuseTexture.dispose(); + } + if (this._meshes) { + for (var i = 1; i < this._meshes.length; i++) { + var mat = this._meshes[i].material; + if (mat) { + mat.dispose(forceDisposeEffect); + } + this._meshes[i].dispose(); + } + } + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + FurMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new FurMaterial(name, _this.getScene()); }, this); + }; + FurMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.FurMaterial"; + if (this._meshes) { + serializationObject.sourceMeshName = this._meshes[0].name; + serializationObject.quality = this._meshes.length; + } + return serializationObject; + }; + FurMaterial.prototype.getClassName = function () { + return "FurMaterial"; + }; + // Statics + FurMaterial.Parse = function (source, scene, rootUrl) { + var material = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new FurMaterial(source.name, scene); }, source, scene, rootUrl); + if (source.sourceMeshName && material.highLevelFur) { + scene.executeWhenReady(function () { + var sourceMesh = scene.getMeshByName(source.sourceMeshName); + if (sourceMesh) { + var furTexture = FurMaterial.GenerateTexture("Fur Texture", scene); + material.furTexture = furTexture; + FurMaterial.FurifyMesh(sourceMesh, source.quality); + } + }); + } + return material; + }; + FurMaterial.GenerateTexture = function (name, scene) { + // Generate fur textures + var texture = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["DynamicTexture"]("FurTexture " + name, 256, scene, true); + var context = texture.getContext(); + for (var i = 0; i < 20000; ++i) { + context.fillStyle = "rgba(255, " + Math.floor(Math.random() * 255) + ", " + Math.floor(Math.random() * 255) + ", 1)"; + context.fillRect((Math.random() * texture.getSize().width), (Math.random() * texture.getSize().height), 2, 2); + } + texture.update(false); + texture.wrapU = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].WRAP_ADDRESSMODE; + texture.wrapV = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].WRAP_ADDRESSMODE; + return texture; + }; + // Creates and returns an array of meshes used as shells for the Fur Material + // that can be disposed later in your code + // The quality is in interval [0, 100] + FurMaterial.FurifyMesh = function (sourceMesh, quality) { + var meshes = [sourceMesh]; + var mat = sourceMesh.material; + var i; + if (!(mat instanceof FurMaterial)) { + throw "The material of the source mesh must be a Fur Material"; + } + for (i = 1; i < quality; i++) { + var offsetFur = new FurMaterial(mat.name + i, sourceMesh.getScene()); + sourceMesh.getScene().materials.pop(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Tags"].EnableFor(offsetFur); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Tags"].AddTagsTo(offsetFur, "furShellMaterial"); + offsetFur.furLength = mat.furLength; + offsetFur.furAngle = mat.furAngle; + offsetFur.furGravity = mat.furGravity; + offsetFur.furSpacing = mat.furSpacing; + offsetFur.furSpeed = mat.furSpeed; + offsetFur.furColor = mat.furColor; + offsetFur.diffuseTexture = mat.diffuseTexture; + offsetFur.furOffset = i / quality; + offsetFur.furTexture = mat.furTexture; + offsetFur.highLevelFur = mat.highLevelFur; + offsetFur.furTime = mat.furTime; + offsetFur.furDensity = mat.furDensity; + var offsetMesh = sourceMesh.clone(sourceMesh.name + i); + offsetMesh.material = offsetFur; + offsetMesh.skeleton = sourceMesh.skeleton; + offsetMesh.position = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Zero(); + meshes.push(offsetMesh); + } + for (i = 1; i < meshes.length; i++) { + meshes[i].parent = sourceMesh; + } + sourceMesh.material._meshes = meshes; + return meshes; + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture") + ], FurMaterial.prototype, "_diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], FurMaterial.prototype, "diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("heightTexture") + ], FurMaterial.prototype, "_heightTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], FurMaterial.prototype, "heightTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], FurMaterial.prototype, "diffuseColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], FurMaterial.prototype, "furLength", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], FurMaterial.prototype, "furAngle", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], FurMaterial.prototype, "furColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], FurMaterial.prototype, "furOffset", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], FurMaterial.prototype, "furSpacing", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsVector3"])() + ], FurMaterial.prototype, "furGravity", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], FurMaterial.prototype, "furSpeed", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], FurMaterial.prototype, "furDensity", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], FurMaterial.prototype, "furOcclusion", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("disableLighting") + ], FurMaterial.prototype, "_disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], FurMaterial.prototype, "disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("maxSimultaneousLights") + ], FurMaterial.prototype, "_maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], FurMaterial.prototype, "maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], FurMaterial.prototype, "highLevelFur", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], FurMaterial.prototype, "furTime", null); + return FurMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.FurMaterial"] = FurMaterial; + + +/***/ }), + +/***/ "./fur/index.ts": +/*!**********************!*\ + !*** ./fur/index.ts ***! + \**********************/ +/*! exports provided: FurMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _furMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./furMaterial */ "./fur/furMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FurMaterial", function() { return _furMaterial__WEBPACK_IMPORTED_MODULE_0__["FurMaterial"]; }); + + + + +/***/ }), + +/***/ "./gradient/gradient.fragment.ts": +/*!***************************************!*\ + !*** ./gradient/gradient.fragment.ts ***! + \***************************************/ +/*! exports provided: gradientPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "gradientPixelShader", function() { return gradientPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + +var name = 'gradientPixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\n\nuniform vec4 topColor;\nuniform vec4 bottomColor;\nuniform float offset;\nuniform float scale;\nuniform float smoothness;\n\nvarying vec3 vPositionW;\nvarying vec3 vPosition;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0]\n#include<__decl__lightFragment>[1]\n#include<__decl__lightFragment>[2]\n#include<__decl__lightFragment>[3]\n#include\n#include\n#include\n\n#include\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\nfloat h=vPosition.y*scale+offset;\nfloat mysmoothness=clamp(smoothness,0.01,max(smoothness,10.));\nvec4 baseColor=mix(bottomColor,topColor,max(pow(max(h,0.0),mysmoothness),0.0));\n\nvec3 diffuseColor=baseColor.rgb;\n\nfloat alpha=baseColor.a;\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n\n#ifdef EMISSIVE\nvec3 diffuseBase=baseColor.rgb;\n#else\nvec3 diffuseBase=vec3(0.,0.,0.);\n#endif\nlightingInfo info;\nfloat shadow=1.;\nfloat glossiness=0.;\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n\nvec4 color=vec4(finalDiffuse,alpha);\n#include\ngl_FragColor=color;\n#include\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var gradientPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./gradient/gradient.vertex.ts": +/*!*************************************!*\ + !*** ./gradient/gradient.vertex.ts ***! + \*************************************/ +/*! exports provided: gradientVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "gradientVertexShader", function() { return gradientVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'gradientVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\nvarying vec3 vPosition;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\nvPosition=position;\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var gradientVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./gradient/gradientMaterial.ts": +/*!**************************************!*\ + !*** ./gradient/gradientMaterial.ts ***! + \**************************************/ +/*! exports provided: GradientMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GradientMaterial", function() { return GradientMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _gradient_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./gradient.fragment */ "./gradient/gradient.fragment.ts"); +/* harmony import */ var _gradient_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./gradient.vertex */ "./gradient/gradient.vertex.ts"); + + + + + + + + + + + + +var GradientMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(GradientMaterialDefines, _super); + function GradientMaterialDefines() { + var _this = _super.call(this) || this; + _this.EMISSIVE = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.DEPTHPREPASS = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.NORMAL = false; + _this.UV1 = false; + _this.UV2 = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return GradientMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var GradientMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(GradientMaterial, _super); + function GradientMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this._maxSimultaneousLights = 4; + // The gradient top color, red by default + _this.topColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 0, 0); + _this.topColorAlpha = 1.0; + // The gradient top color, blue by default + _this.bottomColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](0, 0, 1); + _this.bottomColorAlpha = 1.0; + // Gradient offset + _this.offset = 0; + _this.scale = 1.0; + _this.smoothness = 1.0; + _this._disableLighting = false; + return _this; + } + GradientMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0 || this.topColorAlpha < 1.0 || this.bottomColorAlpha < 1.0); + }; + GradientMaterial.prototype.needAlphaTesting = function () { + return true; + }; + GradientMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + // Methods + GradientMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new GradientMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + defines._needNormals = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting); + defines.EMISSIVE = this._disableLighting; + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, false, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.UV2) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UV2Kind); + } + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + // Legacy browser patch + var shaderName = "gradient"; + var join = defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", + "vFogInfos", "vFogColor", "pointSize", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", + "topColor", "bottomColor", "offset", "smoothness", "scale" + ]; + var samplers = []; + var uniformBuffers = new Array(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: 4 + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: 4 } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + GradientMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, effect); + if (this._mustRebind(scene, effect)) { + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(effect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + if (scene.lightsEnabled && !this.disableLighting) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._activeEffect.setColor4("topColor", this.topColor, this.topColorAlpha); + this._activeEffect.setColor4("bottomColor", this.bottomColor, this.bottomColorAlpha); + this._activeEffect.setFloat("offset", this.offset); + this._activeEffect.setFloat("scale", this.scale); + this._activeEffect.setFloat("smoothness", this.smoothness); + this._afterBind(mesh, this._activeEffect); + }; + GradientMaterial.prototype.getAnimatables = function () { + return []; + }; + GradientMaterial.prototype.dispose = function (forceDisposeEffect) { + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + GradientMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new GradientMaterial(name, _this.getScene()); }, this); + }; + GradientMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.GradientMaterial"; + return serializationObject; + }; + GradientMaterial.prototype.getClassName = function () { + return "GradientMaterial"; + }; + // Statics + GradientMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new GradientMaterial(source.name, scene); }, source, scene, rootUrl); + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("maxSimultaneousLights") + ], GradientMaterial.prototype, "_maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], GradientMaterial.prototype, "maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], GradientMaterial.prototype, "topColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], GradientMaterial.prototype, "topColorAlpha", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], GradientMaterial.prototype, "bottomColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], GradientMaterial.prototype, "bottomColorAlpha", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], GradientMaterial.prototype, "offset", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], GradientMaterial.prototype, "scale", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], GradientMaterial.prototype, "smoothness", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("disableLighting") + ], GradientMaterial.prototype, "_disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], GradientMaterial.prototype, "disableLighting", void 0); + return GradientMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.GradientMaterial"] = GradientMaterial; + + +/***/ }), + +/***/ "./gradient/index.ts": +/*!***************************!*\ + !*** ./gradient/index.ts ***! + \***************************/ +/*! exports provided: GradientMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _gradientMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gradientMaterial */ "./gradient/gradientMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GradientMaterial", function() { return _gradientMaterial__WEBPACK_IMPORTED_MODULE_0__["GradientMaterial"]; }); + + + + +/***/ }), + +/***/ "./grid/grid.fragment.ts": +/*!*******************************!*\ + !*** ./grid/grid.fragment.ts ***! + \*******************************/ +/*! exports provided: gridPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "gridPixelShader", function() { return gridPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + +var name = 'gridPixelShader'; +var shader = "#extension GL_OES_standard_derivatives : enable\n#define SQRT2 1.41421356\n#define PI 3.14159\nprecision highp float;\nuniform vec3 mainColor;\nuniform vec3 lineColor;\nuniform vec4 gridControl;\nuniform vec3 gridOffset;\n\nvarying vec3 vPosition;\nvarying vec3 vNormal;\n#include\n\n#ifdef OPACITY\nvarying vec2 vOpacityUV;\nuniform sampler2D opacitySampler;\nuniform vec2 vOpacityInfos;\n#endif\nfloat getVisibility(float position) {\n\nfloat majorGridFrequency=gridControl.y;\nif (floor(position+0.5) == floor(position/majorGridFrequency+0.5)*majorGridFrequency)\n{\nreturn 1.0;\n}\nreturn gridControl.z;\n}\nfloat getAnisotropicAttenuation(float differentialLength) {\nconst float maxNumberOfLines=10.0;\nreturn clamp(1.0/(differentialLength+1.0)-1.0/maxNumberOfLines,0.0,1.0);\n}\nfloat isPointOnLine(float position,float differentialLength) {\nfloat fractionPartOfPosition=position-floor(position+0.5);\nfractionPartOfPosition/=differentialLength;\nfractionPartOfPosition=clamp(fractionPartOfPosition,-1.,1.);\nfloat result=0.5+0.5*cos(fractionPartOfPosition*PI);\nreturn result;\n}\nfloat contributionOnAxis(float position) {\nfloat differentialLength=length(vec2(dFdx(position),dFdy(position)));\ndifferentialLength*=SQRT2;\n\nfloat result=isPointOnLine(position,differentialLength);\n\nfloat visibility=getVisibility(position);\nresult*=visibility;\n\nfloat anisotropicAttenuation=getAnisotropicAttenuation(differentialLength);\nresult*=anisotropicAttenuation;\nreturn result;\n}\nfloat normalImpactOnAxis(float x) {\nfloat normalImpact=clamp(1.0-3.0*abs(x*x*x),0.0,1.0);\nreturn normalImpact;\n}\nvoid main(void) {\n\nfloat gridRatio=gridControl.x;\nvec3 gridPos=(vPosition+gridOffset.xyz)/gridRatio;\n\nfloat x=contributionOnAxis(gridPos.x);\nfloat y=contributionOnAxis(gridPos.y);\nfloat z=contributionOnAxis(gridPos.z);\n\nvec3 normal=normalize(vNormal);\nx*=normalImpactOnAxis(normal.x);\ny*=normalImpactOnAxis(normal.y);\nz*=normalImpactOnAxis(normal.z);\n\nfloat grid=clamp(x+y+z,0.,1.);\n\nvec3 color=mix(mainColor,lineColor,grid);\n#ifdef FOG\n#include\n#endif\nfloat opacity=1.0;\n#ifdef TRANSPARENT\nopacity=clamp(grid,0.08,gridControl.w*grid);\n#endif\n#ifdef OPACITY\nopacity*=texture2D(opacitySampler,vOpacityUV).a;\n#endif\n\ngl_FragColor=vec4(color.rgb,opacity);\n#ifdef TRANSPARENT\n#ifdef PREMULTIPLYALPHA\ngl_FragColor.rgb*=opacity;\n#endif\n#else\n#endif\n#include\n}"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var gridPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./grid/grid.vertex.ts": +/*!*****************************!*\ + !*** ./grid/grid.vertex.ts ***! + \*****************************/ +/*! exports provided: gridVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "gridVertexShader", function() { return gridVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + +var name = 'gridVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\nattribute vec3 normal;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#include\n\nuniform mat4 projection;\nuniform mat4 view;\n\nvarying vec3 vPosition;\nvarying vec3 vNormal;\n#include\n#ifdef OPACITY\nvarying vec2 vOpacityUV;\nuniform mat4 opacityMatrix;\nuniform vec2 vOpacityInfos;\n#endif\nvoid main(void) {\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\n#include\nvec4 cameraSpacePosition=view*worldPos;\ngl_Position=projection*cameraSpacePosition;\n#ifdef OPACITY\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\nif (vOpacityInfos.x == 0.)\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\nvPosition=position;\nvNormal=normal;\n}"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var gridVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./grid/gridMaterial.ts": +/*!******************************!*\ + !*** ./grid/gridMaterial.ts ***! + \******************************/ +/*! exports provided: GridMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GridMaterial", function() { return GridMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _grid_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./grid.fragment */ "./grid/grid.fragment.ts"); +/* harmony import */ var _grid_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./grid.vertex */ "./grid/grid.vertex.ts"); + + + + + + + + + + + + +var GridMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(GridMaterialDefines, _super); + function GridMaterialDefines() { + var _this = _super.call(this) || this; + _this.OPACITY = false; + _this.TRANSPARENT = false; + _this.FOG = false; + _this.PREMULTIPLYALPHA = false; + _this.UV1 = false; + _this.UV2 = false; + _this.INSTANCES = false; + _this.THIN_INSTANCES = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return GridMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +/** + * The grid materials allows you to wrap any shape with a grid. + * Colors are customizable. + */ +var GridMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(GridMaterial, _super); + /** + * constructor + * @param name The name given to the material in order to identify it afterwards. + * @param scene The scene the material is used in. + */ + function GridMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + /** + * Main color of the grid (e.g. between lines) + */ + _this.mainColor = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"].Black(); + /** + * Color of the grid lines. + */ + _this.lineColor = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"].Teal(); + /** + * The scale of the grid compared to unit. + */ + _this.gridRatio = 1.0; + /** + * Allows setting an offset for the grid lines. + */ + _this.gridOffset = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Zero(); + /** + * The frequency of thicker lines. + */ + _this.majorUnitFrequency = 10; + /** + * The visibility of minor units in the grid. + */ + _this.minorUnitVisibility = 0.33; + /** + * The grid opacity outside of the lines. + */ + _this.opacity = 1.0; + /** + * Determine RBG output is premultiplied by alpha value. + */ + _this.preMultiplyAlpha = false; + _this._gridControl = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector4"](_this.gridRatio, _this.majorUnitFrequency, _this.minorUnitVisibility, _this.opacity); + return _this; + } + /** + * Returns wehter or not the grid requires alpha blending. + */ + GridMaterial.prototype.needAlphaBlending = function () { + return this.opacity < 1.0 || this._opacityTexture && this._opacityTexture.isReady(); + }; + GridMaterial.prototype.needAlphaBlendingForMesh = function (mesh) { + return this.needAlphaBlending(); + }; + GridMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new GridMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + if (defines.TRANSPARENT !== (this.opacity < 1.0)) { + defines.TRANSPARENT = !defines.TRANSPARENT; + defines.markAsUnprocessed(); + } + if (defines.PREMULTIPLYALPHA != this.preMultiplyAlpha) { + defines.PREMULTIPLYALPHA = !defines.PREMULTIPLYALPHA; + defines.markAsUnprocessed(); + } + // Textures + if (defines._areTexturesDirty) { + defines._needUVs = false; + if (scene.texturesEnabled) { + if (this._opacityTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].OpacityTextureEnabled) { + if (!this._opacityTexture.isReady()) { + return false; + } + else { + defines._needUVs = true; + defines.OPACITY = true; + } + } + } + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, false, this.fogEnabled, false, defines); + // Values that need to be evaluated on every frame + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, scene.getEngine(), defines, !!useInstances); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Attributes + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, false, false); + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind]; + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.UV2) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UV2Kind); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + // Defines + var join = defines.toString(); + subMesh.setEffect(scene.getEngine().createEffect("grid", attribs, ["projection", "mainColor", "lineColor", "gridControl", "gridOffset", "vFogInfos", "vFogColor", "world", "view", + "opacityMatrix", "vOpacityInfos"], ["opacitySampler"], join, undefined, this.onCompiled, this.onError), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + GridMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + if (!defines.INSTANCES || defines.THIN_INSTANCE) { + this.bindOnlyWorldMatrix(world); + } + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + this._activeEffect.setMatrix("projection", scene.getProjectionMatrix()); + // Uniforms + if (this._mustRebind(scene, effect)) { + this._activeEffect.setColor3("mainColor", this.mainColor); + this._activeEffect.setColor3("lineColor", this.lineColor); + this._activeEffect.setVector3("gridOffset", this.gridOffset); + this._gridControl.x = this.gridRatio; + this._gridControl.y = Math.round(this.majorUnitFrequency); + this._gridControl.z = this.minorUnitVisibility; + this._gridControl.w = this.opacity; + this._activeEffect.setVector4("gridControl", this._gridControl); + if (this._opacityTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].OpacityTextureEnabled) { + this._activeEffect.setTexture("opacitySampler", this._opacityTexture); + this._activeEffect.setFloat2("vOpacityInfos", this._opacityTexture.coordinatesIndex, this._opacityTexture.level); + this._activeEffect.setMatrix("opacityMatrix", this._opacityTexture.getTextureMatrix()); + } + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._afterBind(mesh, this._activeEffect); + }; + /** + * Dispose the material and its associated resources. + * @param forceDisposeEffect will also dispose the used effect when true + */ + GridMaterial.prototype.dispose = function (forceDisposeEffect) { + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + GridMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new GridMaterial(name, _this.getScene()); }, this); + }; + GridMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.GridMaterial"; + return serializationObject; + }; + GridMaterial.prototype.getClassName = function () { + return "GridMaterial"; + }; + GridMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new GridMaterial(source.name, scene); }, source, scene, rootUrl); + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], GridMaterial.prototype, "mainColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], GridMaterial.prototype, "lineColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], GridMaterial.prototype, "gridRatio", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], GridMaterial.prototype, "gridOffset", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], GridMaterial.prototype, "majorUnitFrequency", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], GridMaterial.prototype, "minorUnitVisibility", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], GridMaterial.prototype, "opacity", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], GridMaterial.prototype, "preMultiplyAlpha", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("opacityTexture") + ], GridMaterial.prototype, "_opacityTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], GridMaterial.prototype, "opacityTexture", void 0); + return GridMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.GridMaterial"] = GridMaterial; + + +/***/ }), + +/***/ "./grid/index.ts": +/*!***********************!*\ + !*** ./grid/index.ts ***! + \***********************/ +/*! exports provided: GridMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _gridMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gridMaterial */ "./grid/gridMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GridMaterial", function() { return _gridMaterial__WEBPACK_IMPORTED_MODULE_0__["GridMaterial"]; }); + + + + +/***/ }), + +/***/ "./index.ts": +/*!******************!*\ + !*** ./index.ts ***! + \******************/ +/*! exports provided: CellMaterial, CustomShaderStructure, ShaderSpecialParts, CustomMaterial, ShaderAlebdoParts, PBRCustomMaterial, FireMaterial, FurMaterial, GradientMaterial, GridMaterial, LavaMaterial, MixMaterial, NormalMaterial, ShadowOnlyMaterial, SimpleMaterial, SkyMaterial, TerrainMaterial, TriPlanarMaterial, WaterMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _cell__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cell */ "./cell/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CellMaterial", function() { return _cell__WEBPACK_IMPORTED_MODULE_0__["CellMaterial"]; }); + +/* harmony import */ var _custom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./custom */ "./custom/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CustomShaderStructure", function() { return _custom__WEBPACK_IMPORTED_MODULE_1__["CustomShaderStructure"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ShaderSpecialParts", function() { return _custom__WEBPACK_IMPORTED_MODULE_1__["ShaderSpecialParts"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CustomMaterial", function() { return _custom__WEBPACK_IMPORTED_MODULE_1__["CustomMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ShaderAlebdoParts", function() { return _custom__WEBPACK_IMPORTED_MODULE_1__["ShaderAlebdoParts"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PBRCustomMaterial", function() { return _custom__WEBPACK_IMPORTED_MODULE_1__["PBRCustomMaterial"]; }); + +/* harmony import */ var _fire__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fire */ "./fire/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FireMaterial", function() { return _fire__WEBPACK_IMPORTED_MODULE_2__["FireMaterial"]; }); + +/* harmony import */ var _fur__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fur */ "./fur/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FurMaterial", function() { return _fur__WEBPACK_IMPORTED_MODULE_3__["FurMaterial"]; }); + +/* harmony import */ var _gradient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./gradient */ "./gradient/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GradientMaterial", function() { return _gradient__WEBPACK_IMPORTED_MODULE_4__["GradientMaterial"]; }); + +/* harmony import */ var _grid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./grid */ "./grid/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GridMaterial", function() { return _grid__WEBPACK_IMPORTED_MODULE_5__["GridMaterial"]; }); + +/* harmony import */ var _lava__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lava */ "./lava/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LavaMaterial", function() { return _lava__WEBPACK_IMPORTED_MODULE_6__["LavaMaterial"]; }); + +/* harmony import */ var _mix__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./mix */ "./mix/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MixMaterial", function() { return _mix__WEBPACK_IMPORTED_MODULE_7__["MixMaterial"]; }); + +/* harmony import */ var _normal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./normal */ "./normal/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NormalMaterial", function() { return _normal__WEBPACK_IMPORTED_MODULE_8__["NormalMaterial"]; }); + +/* harmony import */ var _shadowOnly__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./shadowOnly */ "./shadowOnly/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ShadowOnlyMaterial", function() { return _shadowOnly__WEBPACK_IMPORTED_MODULE_9__["ShadowOnlyMaterial"]; }); + +/* harmony import */ var _simple__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./simple */ "./simple/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SimpleMaterial", function() { return _simple__WEBPACK_IMPORTED_MODULE_10__["SimpleMaterial"]; }); + +/* harmony import */ var _sky__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./sky */ "./sky/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SkyMaterial", function() { return _sky__WEBPACK_IMPORTED_MODULE_11__["SkyMaterial"]; }); + +/* harmony import */ var _terrain__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./terrain */ "./terrain/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TerrainMaterial", function() { return _terrain__WEBPACK_IMPORTED_MODULE_12__["TerrainMaterial"]; }); + +/* harmony import */ var _triPlanar__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./triPlanar */ "./triPlanar/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TriPlanarMaterial", function() { return _triPlanar__WEBPACK_IMPORTED_MODULE_13__["TriPlanarMaterial"]; }); + +/* harmony import */ var _water__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./water */ "./water/index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "WaterMaterial", function() { return _water__WEBPACK_IMPORTED_MODULE_14__["WaterMaterial"]; }); + + + + + + + + + + + + + + + + + + +/***/ }), + +/***/ "./lava/index.ts": +/*!***********************!*\ + !*** ./lava/index.ts ***! + \***********************/ +/*! exports provided: LavaMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _lavaMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lavaMaterial */ "./lava/lavaMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LavaMaterial", function() { return _lavaMaterial__WEBPACK_IMPORTED_MODULE_0__["LavaMaterial"]; }); + + + + +/***/ }), + +/***/ "./lava/lava.fragment.ts": +/*!*******************************!*\ + !*** ./lava/lava.fragment.ts ***! + \*******************************/ +/*! exports provided: lavaPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lavaPixelShader", function() { return lavaPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + +var name = 'lavaPixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n\nvarying vec3 vPositionW;\n\nuniform float time;\nuniform float speed;\nuniform float movingSpeed;\nuniform vec3 fogColor;\nuniform sampler2D noiseTexture;\nuniform float fogDensity;\n\nvarying float noise;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0]\n#include<__decl__lightFragment>[1]\n#include<__decl__lightFragment>[2]\n#include<__decl__lightFragment>[3]\n#include\n#include\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n#include\n\n#include\nfloat random( vec3 scale,float seed ){\nreturn fract( sin( dot( gl_FragCoord.xyz+seed,scale ) )*43758.5453+seed ) ;\n}\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\n\nvec4 noiseTex=texture2D( noiseTexture,vDiffuseUV );\nvec2 T1=vDiffuseUV+vec2( 1.5,-1.5 )*time*0.02;\nvec2 T2=vDiffuseUV+vec2( -0.5,2.0 )*time*0.01*speed;\nT1.x+=noiseTex.x*2.0;\nT1.y+=noiseTex.y*2.0;\nT2.x-=noiseTex.y*0.2+time*0.001*movingSpeed;\nT2.y+=noiseTex.z*0.2+time*0.002*movingSpeed;\nfloat p=texture2D( noiseTexture,T1*3.0 ).a;\nvec4 lavaColor=texture2D( diffuseSampler,T2*4.0);\nvec4 temp=lavaColor*( vec4( p,p,p,p )*2. )+( lavaColor*lavaColor-0.1 );\nbaseColor=temp;\nfloat depth=gl_FragCoord.z*4.0;\nconst float LOG2=1.442695;\nfloat fogFactor=exp2(-fogDensity*fogDensity*depth*depth*LOG2 );\nfogFactor=1.0-clamp( fogFactor,0.0,1.0 );\nbaseColor=mix( baseColor,vec4( fogColor,baseColor.w ),fogFactor );\ndiffuseColor=baseColor.rgb;\n\n\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef UNLIT\nvec3 diffuseBase=vec3(1.,1.,1.);\n#else\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\nfloat glossiness=0.;\n#include[0]\n#include[1]\n#include[2]\n#include[3]\n#endif\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n\nvec4 color=vec4(finalDiffuse,alpha);\n#include\ngl_FragColor=color;\n#include\n}"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var lavaPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./lava/lava.vertex.ts": +/*!*****************************!*\ + !*** ./lava/lava.vertex.ts ***! + \*****************************/ +/*! exports provided: lavaVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lavaVertexShader", function() { return lavaVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'lavaVertexShader'; +var shader = "precision highp float;\n\nuniform float time;\nuniform float lowFrequencySpeed;\n\nvarying float noise;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n\n\nvec3 mod289(vec3 x)\n{\nreturn x-floor(x*(1.0/289.0))*289.0;\n}\nvec4 mod289(vec4 x)\n{\nreturn x-floor(x*(1.0/289.0))*289.0;\n}\nvec4 permute(vec4 x)\n{\nreturn mod289(((x*34.0)+1.0)*x);\n}\nvec4 taylorInvSqrt(vec4 r)\n{\nreturn 1.79284291400159-0.85373472095314*r;\n}\nvec3 fade(vec3 t) {\nreturn t*t*t*(t*(t*6.0-15.0)+10.0);\n}\n\nfloat pnoise(vec3 P,vec3 rep)\n{\nvec3 Pi0=mod(floor(P),rep);\nvec3 Pi1=mod(Pi0+vec3(1.0),rep);\nPi0=mod289(Pi0);\nPi1=mod289(Pi1);\nvec3 Pf0=fract(P);\nvec3 Pf1=Pf0-vec3(1.0);\nvec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);\nvec4 iy=vec4(Pi0.yy,Pi1.yy);\nvec4 iz0=Pi0.zzzz;\nvec4 iz1=Pi1.zzzz;\nvec4 ixy=permute(permute(ix)+iy);\nvec4 ixy0=permute(ixy+iz0);\nvec4 ixy1=permute(ixy+iz1);\nvec4 gx0=ixy0*(1.0/7.0);\nvec4 gy0=fract(floor(gx0)*(1.0/7.0))-0.5;\ngx0=fract(gx0);\nvec4 gz0=vec4(0.5)-abs(gx0)-abs(gy0);\nvec4 sz0=step(gz0,vec4(0.0));\ngx0-=sz0*(step(0.0,gx0)-0.5);\ngy0-=sz0*(step(0.0,gy0)-0.5);\nvec4 gx1=ixy1*(1.0/7.0);\nvec4 gy1=fract(floor(gx1)*(1.0/7.0))-0.5;\ngx1=fract(gx1);\nvec4 gz1=vec4(0.5)-abs(gx1)-abs(gy1);\nvec4 sz1=step(gz1,vec4(0.0));\ngx1-=sz1*(step(0.0,gx1)-0.5);\ngy1-=sz1*(step(0.0,gy1)-0.5);\nvec3 g000=vec3(gx0.x,gy0.x,gz0.x);\nvec3 g100=vec3(gx0.y,gy0.y,gz0.y);\nvec3 g010=vec3(gx0.z,gy0.z,gz0.z);\nvec3 g110=vec3(gx0.w,gy0.w,gz0.w);\nvec3 g001=vec3(gx1.x,gy1.x,gz1.x);\nvec3 g101=vec3(gx1.y,gy1.y,gz1.y);\nvec3 g011=vec3(gx1.z,gy1.z,gz1.z);\nvec3 g111=vec3(gx1.w,gy1.w,gz1.w);\nvec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));\ng000*=norm0.x;\ng010*=norm0.y;\ng100*=norm0.z;\ng110*=norm0.w;\nvec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));\ng001*=norm1.x;\ng011*=norm1.y;\ng101*=norm1.z;\ng111*=norm1.w;\nfloat n000=dot(g000,Pf0);\nfloat n100=dot(g100,vec3(Pf1.x,Pf0.yz));\nfloat n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));\nfloat n110=dot(g110,vec3(Pf1.xy,Pf0.z));\nfloat n001=dot(g001,vec3(Pf0.xy,Pf1.z));\nfloat n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));\nfloat n011=dot(g011,vec3(Pf0.x,Pf1.yz));\nfloat n111=dot(g111,Pf1);\nvec3 fade_xyz=fade(Pf0);\nvec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);\nvec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);\nfloat n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);\nreturn 2.2*n_xyz;\n}\n\nfloat turbulence( vec3 p ) {\nfloat w=100.0;\nfloat t=-.5;\nfor (float f=1.0 ; f<=10.0 ; f++ ){\nfloat power=pow( 2.0,f );\nt+=abs( pnoise( vec3( power*p ),vec3( 10.0,10.0,10.0 ) )/power );\n}\nreturn t;\n}\nvoid main(void) {\n#include\n#include\n#ifdef NORMAL\n\nnoise=10.0*-.10*turbulence( .5*normal+time*1.15 );\n\nfloat b=lowFrequencySpeed*5.0*pnoise( 0.05*position +vec3(time*1.025),vec3( 100.0 ) );\n\nfloat displacement =-1.5*noise+b;\n\nvec3 newPosition=position+normal*displacement;\ngl_Position=viewProjection*finalWorld*vec4( newPosition,1.0 );\nvec4 worldPos=finalWorld*vec4(newPosition,1.0);\nvPositionW=vec3(worldPos);\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var lavaVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./lava/lavaMaterial.ts": +/*!******************************!*\ + !*** ./lava/lavaMaterial.ts ***! + \******************************/ +/*! exports provided: LavaMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LavaMaterial", function() { return LavaMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _lava_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lava.fragment */ "./lava/lava.fragment.ts"); +/* harmony import */ var _lava_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lava.vertex */ "./lava/lava.vertex.ts"); + + + + + + + + + + + + + +var LavaMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(LavaMaterialDefines, _super); + function LavaMaterialDefines() { + var _this = _super.call(this) || this; + _this.DIFFUSE = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.DEPTHPREPASS = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.LIGHT0 = false; + _this.LIGHT1 = false; + _this.LIGHT2 = false; + _this.LIGHT3 = false; + _this.SPOTLIGHT0 = false; + _this.SPOTLIGHT1 = false; + _this.SPOTLIGHT2 = false; + _this.SPOTLIGHT3 = false; + _this.HEMILIGHT0 = false; + _this.HEMILIGHT1 = false; + _this.HEMILIGHT2 = false; + _this.HEMILIGHT3 = false; + _this.DIRLIGHT0 = false; + _this.DIRLIGHT1 = false; + _this.DIRLIGHT2 = false; + _this.DIRLIGHT3 = false; + _this.POINTLIGHT0 = false; + _this.POINTLIGHT1 = false; + _this.POINTLIGHT2 = false; + _this.POINTLIGHT3 = false; + _this.SHADOW0 = false; + _this.SHADOW1 = false; + _this.SHADOW2 = false; + _this.SHADOW3 = false; + _this.SHADOWS = false; + _this.SHADOWESM0 = false; + _this.SHADOWESM1 = false; + _this.SHADOWESM2 = false; + _this.SHADOWESM3 = false; + _this.SHADOWPOISSON0 = false; + _this.SHADOWPOISSON1 = false; + _this.SHADOWPOISSON2 = false; + _this.SHADOWPOISSON3 = false; + _this.SHADOWPCF0 = false; + _this.SHADOWPCF1 = false; + _this.SHADOWPCF2 = false; + _this.SHADOWPCF3 = false; + _this.SHADOWPCSS0 = false; + _this.SHADOWPCSS1 = false; + _this.SHADOWPCSS2 = false; + _this.SHADOWPCSS3 = false; + _this.NORMAL = false; + _this.UV1 = false; + _this.UV2 = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.UNLIT = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return LavaMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var LavaMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(LavaMaterial, _super); + function LavaMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this.speed = 1; + _this.movingSpeed = 1; + _this.lowFrequencySpeed = 1; + _this.fogDensity = 0.15; + _this._lastTime = 0; + _this.diffuseColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 1, 1); + _this._disableLighting = false; + _this._unlit = false; + _this._maxSimultaneousLights = 4; + _this._scaledDiffuse = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](); + return _this; + } + LavaMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + LavaMaterial.prototype.needAlphaTesting = function () { + return false; + }; + LavaMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + // Methods + LavaMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new LavaMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Textures + if (defines._areTexturesDirty) { + defines._needUVs = false; + if (scene.texturesEnabled) { + if (this._diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (!this._diffuseTexture.isReady()) { + return false; + } + else { + defines._needUVs = true; + defines.DIFFUSE = true; + } + } + } + } + // Misc. + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + // Lights + defines._needNormals = true; + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting); + // Values that need to be evaluated on every frame + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, true, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.UV2) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UV2Kind); + } + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + // Legacy browser patch + var shaderName = "lava"; + var join = defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vDiffuseColor", + "vFogInfos", "vFogColor", "pointSize", + "vDiffuseInfos", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", "diffuseMatrix", + "time", "speed", "movingSpeed", + "fogColor", "fogDensity", "lowFrequencySpeed" + ]; + var samplers = ["diffuseSampler", + "noiseTexture" + ]; + var uniformBuffers = new Array(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: this.maxSimultaneousLights + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: this.maxSimultaneousLights } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + LavaMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + defines.UNLIT = this._unlit; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + if (this._mustRebind(scene, effect)) { + // Textures + if (this.diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + this._activeEffect.setTexture("diffuseSampler", this.diffuseTexture); + this._activeEffect.setFloat2("vDiffuseInfos", this.diffuseTexture.coordinatesIndex, this.diffuseTexture.level); + this._activeEffect.setMatrix("diffuseMatrix", this.diffuseTexture.getTextureMatrix()); + } + if (this.noiseTexture) { + this._activeEffect.setTexture("noiseTexture", this.noiseTexture); + } + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + this._activeEffect.setColor4("vDiffuseColor", this._scaledDiffuse, this.alpha * mesh.visibility); + if (scene.lightsEnabled && !this.disableLighting) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._lastTime += scene.getEngine().getDeltaTime(); + this._activeEffect.setFloat("time", this._lastTime * this.speed / 1000); + if (!this.fogColor) { + this.fogColor = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"].Black(); + } + this._activeEffect.setColor3("fogColor", this.fogColor); + this._activeEffect.setFloat("fogDensity", this.fogDensity); + this._activeEffect.setFloat("lowFrequencySpeed", this.lowFrequencySpeed); + this._activeEffect.setFloat("movingSpeed", this.movingSpeed); + this._afterBind(mesh, this._activeEffect); + }; + LavaMaterial.prototype.getAnimatables = function () { + var results = []; + if (this.diffuseTexture && this.diffuseTexture.animations && this.diffuseTexture.animations.length > 0) { + results.push(this.diffuseTexture); + } + if (this.noiseTexture && this.noiseTexture.animations && this.noiseTexture.animations.length > 0) { + results.push(this.noiseTexture); + } + return results; + }; + LavaMaterial.prototype.getActiveTextures = function () { + var activeTextures = _super.prototype.getActiveTextures.call(this); + if (this._diffuseTexture) { + activeTextures.push(this._diffuseTexture); + } + return activeTextures; + }; + LavaMaterial.prototype.hasTexture = function (texture) { + if (_super.prototype.hasTexture.call(this, texture)) { + return true; + } + if (this.diffuseTexture === texture) { + return true; + } + return false; + }; + LavaMaterial.prototype.dispose = function (forceDisposeEffect) { + if (this.diffuseTexture) { + this.diffuseTexture.dispose(); + } + if (this.noiseTexture) { + this.noiseTexture.dispose(); + } + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + LavaMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new LavaMaterial(name, _this.getScene()); }, this); + }; + LavaMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.LavaMaterial"; + return serializationObject; + }; + LavaMaterial.prototype.getClassName = function () { + return "LavaMaterial"; + }; + // Statics + LavaMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new LavaMaterial(source.name, scene); }, source, scene, rootUrl); + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture") + ], LavaMaterial.prototype, "_diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], LavaMaterial.prototype, "diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])() + ], LavaMaterial.prototype, "noiseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], LavaMaterial.prototype, "fogColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], LavaMaterial.prototype, "speed", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], LavaMaterial.prototype, "movingSpeed", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], LavaMaterial.prototype, "lowFrequencySpeed", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], LavaMaterial.prototype, "fogDensity", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], LavaMaterial.prototype, "diffuseColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("disableLighting") + ], LavaMaterial.prototype, "_disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], LavaMaterial.prototype, "disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("unlit") + ], LavaMaterial.prototype, "_unlit", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], LavaMaterial.prototype, "unlit", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("maxSimultaneousLights") + ], LavaMaterial.prototype, "_maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], LavaMaterial.prototype, "maxSimultaneousLights", void 0); + return LavaMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.LavaMaterial"] = LavaMaterial; + + +/***/ }), + +/***/ "./legacy/legacy.ts": +/*!**************************!*\ + !*** ./legacy/legacy.ts ***! + \**************************/ +/*! exports provided: CellMaterial, CustomShaderStructure, ShaderSpecialParts, CustomMaterial, ShaderAlebdoParts, PBRCustomMaterial, FireMaterial, FurMaterial, GradientMaterial, GridMaterial, LavaMaterial, MixMaterial, NormalMaterial, ShadowOnlyMaterial, SimpleMaterial, SkyMaterial, TerrainMaterial, TriPlanarMaterial, WaterMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./index.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CellMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["CellMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CustomShaderStructure", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["CustomShaderStructure"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ShaderSpecialParts", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["ShaderSpecialParts"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CustomMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["CustomMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ShaderAlebdoParts", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["ShaderAlebdoParts"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PBRCustomMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["PBRCustomMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FireMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["FireMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FurMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["FurMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GradientMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["GradientMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GridMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["GridMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LavaMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["LavaMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MixMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["MixMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NormalMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["NormalMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ShadowOnlyMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["ShadowOnlyMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SimpleMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["SimpleMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SkyMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["SkyMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TerrainMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["TerrainMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TriPlanarMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["TriPlanarMaterial"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "WaterMaterial", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["WaterMaterial"]; }); + + +/** + * Legacy support, defining window.BABYLON.GridMaterial... (global variable). + * + * This is the entry point for the UMD module. + * The entry point for a future ESM package should be index.ts + */ +var globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined); +if (typeof globalObject !== "undefined") { + globalObject.BABYLON = globalObject.BABYLON || {}; + for (var mat in _index__WEBPACK_IMPORTED_MODULE_0__) { + globalObject.BABYLON[mat] = _index__WEBPACK_IMPORTED_MODULE_0__[mat]; + } +} + + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/global.js */ "../../node_modules/webpack/buildin/global.js"))) + +/***/ }), + +/***/ "./mix/index.ts": +/*!**********************!*\ + !*** ./mix/index.ts ***! + \**********************/ +/*! exports provided: MixMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mixMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mixMaterial */ "./mix/mixMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MixMaterial", function() { return _mixMaterial__WEBPACK_IMPORTED_MODULE_0__["MixMaterial"]; }); + + + + +/***/ }), + +/***/ "./mix/mix.fragment.ts": +/*!*****************************!*\ + !*** ./mix/mix.fragment.ts ***! + \*****************************/ +/*! exports provided: mixPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mixPixelShader", function() { return mixPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + +var name = 'mixPixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform sampler2D mixMap1Sampler;\nuniform vec2 vTextureInfos;\n#ifdef MIXMAP2\nuniform sampler2D mixMap2Sampler;\n#endif\nuniform sampler2D diffuse1Sampler;\nuniform sampler2D diffuse2Sampler;\nuniform sampler2D diffuse3Sampler;\nuniform sampler2D diffuse4Sampler;\nuniform vec2 diffuse1Infos;\nuniform vec2 diffuse2Infos;\nuniform vec2 diffuse3Infos;\nuniform vec2 diffuse4Infos;\n#ifdef MIXMAP2\nuniform sampler2D diffuse5Sampler;\nuniform sampler2D diffuse6Sampler;\nuniform sampler2D diffuse7Sampler;\nuniform sampler2D diffuse8Sampler;\nuniform vec2 diffuse5Infos;\nuniform vec2 diffuse6Infos;\nuniform vec2 diffuse7Infos;\nuniform vec2 diffuse8Infos;\n#endif\n#endif\n\n#include\n#include\n#include\n\n#include\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 finalMixColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n#ifdef MIXMAP2\nvec4 mixColor2=vec4(1.,1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nvec4 mixColor=texture2D(mixMap1Sampler,vTextureUV);\n#include\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\nvec4 diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\nvec4 diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\nvec4 diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);\ndiffuse1Color.rgb*=mixColor.r;\ndiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);\ndiffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\n#ifdef MIXMAP2\nmixColor=texture2D(mixMap2Sampler,vTextureUV);\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);\nvec4 diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);\nvec4 diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);\nvec4 diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);\ndiffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);\ndiffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);\ndiffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\n#endif\n#endif\n#ifdef VERTEXCOLOR\nfinalMixColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include\ngl_FragColor=color;\n#include\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var mixPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./mix/mix.vertex.ts": +/*!***************************!*\ + !*** ./mix/mix.vertex.ts ***! + \***************************/ +/*! exports provided: mixVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mixVertexShader", function() { return mixVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'mixVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform mat4 textureMatrix;\nuniform vec2 vTextureInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vTextureInfos.x == 0.)\n{\nvTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var mixVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./mix/mixMaterial.ts": +/*!****************************!*\ + !*** ./mix/mixMaterial.ts ***! + \****************************/ +/*! exports provided: MixMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MixMaterial", function() { return MixMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _mix_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mix.fragment */ "./mix/mix.fragment.ts"); +/* harmony import */ var _mix_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mix.vertex */ "./mix/mix.vertex.ts"); + + + + + + + + + + + + + +var MixMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(MixMaterialDefines, _super); + function MixMaterialDefines() { + var _this = _super.call(this) || this; + _this.DIFFUSE = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.DEPTHPREPASS = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.SPECULARTERM = false; + _this.NORMAL = false; + _this.UV1 = false; + _this.UV2 = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.MIXMAP2 = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return MixMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var MixMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(MixMaterial, _super); + function MixMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + /** + * Uniforms + */ + _this.diffuseColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 1, 1); + _this.specularColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](0, 0, 0); + _this.specularPower = 64; + _this._disableLighting = false; + _this._maxSimultaneousLights = 4; + return _this; + } + MixMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + MixMaterial.prototype.needAlphaTesting = function () { + return false; + }; + MixMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + // Methods + MixMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new MixMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Textures + if (scene.texturesEnabled) { + if (!this._mixTexture1 || !this._mixTexture1.isReady()) { + return false; + } + defines._needUVs = true; + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (!this._diffuseTexture1 || !this._diffuseTexture1.isReady()) { + return false; + } + defines.DIFFUSE = true; + if (!this._diffuseTexture2 || !this._diffuseTexture2.isReady()) { + return false; + } + if (!this._diffuseTexture3 || !this._diffuseTexture3.isReady()) { + return false; + } + if (!this._diffuseTexture4 || !this._diffuseTexture4.isReady()) { + return false; + } + if (this._mixTexture2) { + if (!this._mixTexture2.isReady()) { + return false; + } + defines.MIXMAP2 = true; + if (!this._diffuseTexture5 || !this._diffuseTexture5.isReady()) { + return false; + } + if (!this._diffuseTexture6 || !this._diffuseTexture6.isReady()) { + return false; + } + if (!this._diffuseTexture7 || !this._diffuseTexture7.isReady()) { + return false; + } + if (!this._diffuseTexture8 || !this._diffuseTexture8.isReady()) { + return false; + } + } + } + } + // Misc. + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + // Lights + defines._needNormals = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting); + // Values that need to be evaluated on every frame + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, true, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks, this.maxSimultaneousLights); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.UV2) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UV2Kind); + } + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + // Legacy browser patch + var shaderName = "mix"; + var join = defines.toString(); + var uniforms = [ + "world", "view", "viewProjection", "vEyePosition", "vLightsType", "vDiffuseColor", "vSpecularColor", + "vFogInfos", "vFogColor", "pointSize", + "vTextureInfos", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", "textureMatrix", + "diffuse1Infos", "diffuse2Infos", "diffuse3Infos", "diffuse4Infos", + "diffuse5Infos", "diffuse6Infos", "diffuse7Infos", "diffuse8Infos" + ]; + var samplers = [ + "mixMap1Sampler", "mixMap2Sampler", + "diffuse1Sampler", "diffuse2Sampler", "diffuse3Sampler", "diffuse4Sampler", + "diffuse5Sampler", "diffuse6Sampler", "diffuse7Sampler", "diffuse8Sampler" + ]; + var uniformBuffers = new Array(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: this.maxSimultaneousLights + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: this.maxSimultaneousLights } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + MixMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + if (this._mustRebind(scene, effect)) { + // Textures + if (this._mixTexture1) { + this._activeEffect.setTexture("mixMap1Sampler", this._mixTexture1); + this._activeEffect.setFloat2("vTextureInfos", this._mixTexture1.coordinatesIndex, this._mixTexture1.level); + this._activeEffect.setMatrix("textureMatrix", this._mixTexture1.getTextureMatrix()); + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (this._diffuseTexture1) { + this._activeEffect.setTexture("diffuse1Sampler", this._diffuseTexture1); + this._activeEffect.setFloat2("diffuse1Infos", this._diffuseTexture1.uScale, this._diffuseTexture1.vScale); + } + if (this._diffuseTexture2) { + this._activeEffect.setTexture("diffuse2Sampler", this._diffuseTexture2); + this._activeEffect.setFloat2("diffuse2Infos", this._diffuseTexture2.uScale, this._diffuseTexture2.vScale); + } + if (this._diffuseTexture3) { + this._activeEffect.setTexture("diffuse3Sampler", this._diffuseTexture3); + this._activeEffect.setFloat2("diffuse3Infos", this._diffuseTexture3.uScale, this._diffuseTexture3.vScale); + } + if (this._diffuseTexture4) { + this._activeEffect.setTexture("diffuse4Sampler", this._diffuseTexture4); + this._activeEffect.setFloat2("diffuse4Infos", this._diffuseTexture4.uScale, this._diffuseTexture4.vScale); + } + } + } + if (this._mixTexture2) { + this._activeEffect.setTexture("mixMap2Sampler", this._mixTexture2); + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (this._diffuseTexture5) { + this._activeEffect.setTexture("diffuse5Sampler", this._diffuseTexture5); + this._activeEffect.setFloat2("diffuse5Infos", this._diffuseTexture5.uScale, this._diffuseTexture5.vScale); + } + if (this._diffuseTexture6) { + this._activeEffect.setTexture("diffuse6Sampler", this._diffuseTexture6); + this._activeEffect.setFloat2("diffuse6Infos", this._diffuseTexture6.uScale, this._diffuseTexture6.vScale); + } + if (this._diffuseTexture7) { + this._activeEffect.setTexture("diffuse7Sampler", this._diffuseTexture7); + this._activeEffect.setFloat2("diffuse7Infos", this._diffuseTexture7.uScale, this._diffuseTexture7.vScale); + } + if (this._diffuseTexture8) { + this._activeEffect.setTexture("diffuse8Sampler", this._diffuseTexture8); + this._activeEffect.setFloat2("diffuse8Infos", this._diffuseTexture8.uScale, this._diffuseTexture8.vScale); + } + } + } + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + this._activeEffect.setColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility); + if (defines.SPECULARTERM) { + this._activeEffect.setColor4("vSpecularColor", this.specularColor, this.specularPower); + } + if (scene.lightsEnabled && !this.disableLighting) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._afterBind(mesh, this._activeEffect); + }; + MixMaterial.prototype.getAnimatables = function () { + var results = []; + if (this._mixTexture1 && this._mixTexture1.animations && this._mixTexture1.animations.length > 0) { + results.push(this._mixTexture1); + } + if (this._mixTexture2 && this._mixTexture2.animations && this._mixTexture2.animations.length > 0) { + results.push(this._mixTexture2); + } + return results; + }; + MixMaterial.prototype.getActiveTextures = function () { + var activeTextures = _super.prototype.getActiveTextures.call(this); + // Mix map 1 + if (this._mixTexture1) { + activeTextures.push(this._mixTexture1); + } + if (this._diffuseTexture1) { + activeTextures.push(this._diffuseTexture1); + } + if (this._diffuseTexture2) { + activeTextures.push(this._diffuseTexture2); + } + if (this._diffuseTexture3) { + activeTextures.push(this._diffuseTexture3); + } + if (this._diffuseTexture4) { + activeTextures.push(this._diffuseTexture4); + } + // Mix map 2 + if (this._mixTexture2) { + activeTextures.push(this._mixTexture2); + } + if (this._diffuseTexture5) { + activeTextures.push(this._diffuseTexture5); + } + if (this._diffuseTexture6) { + activeTextures.push(this._diffuseTexture6); + } + if (this._diffuseTexture7) { + activeTextures.push(this._diffuseTexture7); + } + if (this._diffuseTexture8) { + activeTextures.push(this._diffuseTexture8); + } + return activeTextures; + }; + MixMaterial.prototype.hasTexture = function (texture) { + if (_super.prototype.hasTexture.call(this, texture)) { + return true; + } + // Mix map 1 + if (this._mixTexture1 === texture) { + return true; + } + if (this._diffuseTexture1 === texture) { + return true; + } + if (this._diffuseTexture2 === texture) { + return true; + } + if (this._diffuseTexture3 === texture) { + return true; + } + if (this._diffuseTexture4 === texture) { + return true; + } + // Mix map 2 + if (this._mixTexture2 === texture) { + return true; + } + if (this._diffuseTexture5 === texture) { + return true; + } + if (this._diffuseTexture6 === texture) { + return true; + } + if (this._diffuseTexture7 === texture) { + return true; + } + if (this._diffuseTexture8 === texture) { + return true; + } + return false; + }; + MixMaterial.prototype.dispose = function (forceDisposeEffect) { + if (this._mixTexture1) { + this._mixTexture1.dispose(); + } + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + MixMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new MixMaterial(name, _this.getScene()); }, this); + }; + MixMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.MixMaterial"; + return serializationObject; + }; + MixMaterial.prototype.getClassName = function () { + return "MixMaterial"; + }; + // Statics + MixMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new MixMaterial(source.name, scene); }, source, scene, rootUrl); + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("mixTexture1") + ], MixMaterial.prototype, "_mixTexture1", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], MixMaterial.prototype, "mixTexture1", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("mixTexture2") + ], MixMaterial.prototype, "_mixTexture2", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], MixMaterial.prototype, "mixTexture2", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture1") + ], MixMaterial.prototype, "_diffuseTexture1", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], MixMaterial.prototype, "diffuseTexture1", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture2") + ], MixMaterial.prototype, "_diffuseTexture2", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], MixMaterial.prototype, "diffuseTexture2", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture3") + ], MixMaterial.prototype, "_diffuseTexture3", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], MixMaterial.prototype, "diffuseTexture3", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture4") + ], MixMaterial.prototype, "_diffuseTexture4", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], MixMaterial.prototype, "diffuseTexture4", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture1") + ], MixMaterial.prototype, "_diffuseTexture5", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], MixMaterial.prototype, "diffuseTexture5", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture2") + ], MixMaterial.prototype, "_diffuseTexture6", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], MixMaterial.prototype, "diffuseTexture6", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture3") + ], MixMaterial.prototype, "_diffuseTexture7", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], MixMaterial.prototype, "diffuseTexture7", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture4") + ], MixMaterial.prototype, "_diffuseTexture8", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], MixMaterial.prototype, "diffuseTexture8", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], MixMaterial.prototype, "diffuseColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], MixMaterial.prototype, "specularColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], MixMaterial.prototype, "specularPower", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("disableLighting") + ], MixMaterial.prototype, "_disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], MixMaterial.prototype, "disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("maxSimultaneousLights") + ], MixMaterial.prototype, "_maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], MixMaterial.prototype, "maxSimultaneousLights", void 0); + return MixMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.MixMaterial"] = MixMaterial; + + +/***/ }), + +/***/ "./normal/index.ts": +/*!*************************!*\ + !*** ./normal/index.ts ***! + \*************************/ +/*! exports provided: NormalMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _normalMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./normalMaterial */ "./normal/normalMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NormalMaterial", function() { return _normalMaterial__WEBPACK_IMPORTED_MODULE_0__["NormalMaterial"]; }); + + + + +/***/ }), + +/***/ "./normal/normal.fragment.ts": +/*!***********************************!*\ + !*** ./normal/normal.fragment.ts ***! + \***********************************/ +/*! exports provided: normalPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalPixelShader", function() { return normalPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + +var name = 'normalPixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef LIGHTING\n\n#include\n\n#include<__decl__lightFragment>[0]\n#include<__decl__lightFragment>[1]\n#include<__decl__lightFragment>[2]\n#include<__decl__lightFragment>[3]\n#include\n#include\n#endif\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n#include\n\n#include\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef NORMAL\nbaseColor=mix(baseColor,vec4(vNormalW,1.0),0.5);\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n\n#ifdef LIGHTING\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\nfloat glossiness=0.;\n#include[0]\n#include[1]\n#include[2]\n#include[3]\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n#else\nvec3 finalDiffuse=baseColor.rgb;\n#endif\n\nvec4 color=vec4(finalDiffuse,alpha);\n#include\ngl_FragColor=color;\n#include\n}"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var normalPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./normal/normal.vertex.ts": +/*!*********************************!*\ + !*** ./normal/normal.vertex.ts ***! + \*********************************/ +/*! exports provided: normalVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalVertexShader", function() { return normalVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'normalVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var normalVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./normal/normalMaterial.ts": +/*!**********************************!*\ + !*** ./normal/normalMaterial.ts ***! + \**********************************/ +/*! exports provided: NormalMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NormalMaterial", function() { return NormalMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _normal_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./normal.fragment */ "./normal/normal.fragment.ts"); +/* harmony import */ var _normal_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./normal.vertex */ "./normal/normal.vertex.ts"); + + + + + + + + + + + + + +var NormalMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(NormalMaterialDefines, _super); + function NormalMaterialDefines() { + var _this = _super.call(this) || this; + _this.DIFFUSE = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.DEPTHPREPASS = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.LIGHT0 = false; + _this.LIGHT1 = false; + _this.LIGHT2 = false; + _this.LIGHT3 = false; + _this.SPOTLIGHT0 = false; + _this.SPOTLIGHT1 = false; + _this.SPOTLIGHT2 = false; + _this.SPOTLIGHT3 = false; + _this.HEMILIGHT0 = false; + _this.HEMILIGHT1 = false; + _this.HEMILIGHT2 = false; + _this.HEMILIGHT3 = false; + _this.DIRLIGHT0 = false; + _this.DIRLIGHT1 = false; + _this.DIRLIGHT2 = false; + _this.DIRLIGHT3 = false; + _this.POINTLIGHT0 = false; + _this.POINTLIGHT1 = false; + _this.POINTLIGHT2 = false; + _this.POINTLIGHT3 = false; + _this.SHADOW0 = false; + _this.SHADOW1 = false; + _this.SHADOW2 = false; + _this.SHADOW3 = false; + _this.SHADOWS = false; + _this.SHADOWESM0 = false; + _this.SHADOWESM1 = false; + _this.SHADOWESM2 = false; + _this.SHADOWESM3 = false; + _this.SHADOWPOISSON0 = false; + _this.SHADOWPOISSON1 = false; + _this.SHADOWPOISSON2 = false; + _this.SHADOWPOISSON3 = false; + _this.SHADOWPCF0 = false; + _this.SHADOWPCF1 = false; + _this.SHADOWPCF2 = false; + _this.SHADOWPCF3 = false; + _this.SHADOWPCSS0 = false; + _this.SHADOWPCSS1 = false; + _this.SHADOWPCSS2 = false; + _this.SHADOWPCSS3 = false; + _this.NORMAL = false; + _this.UV1 = false; + _this.UV2 = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.LIGHTING = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return NormalMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var NormalMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(NormalMaterial, _super); + function NormalMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this.diffuseColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 1, 1); + _this._disableLighting = false; + _this._maxSimultaneousLights = 4; + return _this; + } + NormalMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + NormalMaterial.prototype.needAlphaBlendingForMesh = function (mesh) { + return this.needAlphaBlending() || (mesh.visibility < 1.0); + }; + NormalMaterial.prototype.needAlphaTesting = function () { + return false; + }; + NormalMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + // Methods + NormalMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new NormalMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Textures + if (defines._areTexturesDirty) { + defines._needUVs = false; + if (scene.texturesEnabled) { + if (this._diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (!this._diffuseTexture.isReady()) { + return false; + } + else { + defines._needUVs = true; + defines.DIFFUSE = true; + } + } + } + } + // Misc. + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + // Lights + defines._needNormals = true; + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting); + // Values that need to be evaluated on every frame + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + defines.LIGHTING = !this._disableLighting; + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, true, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.UV2) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UV2Kind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + var shaderName = "normal"; + var join = defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vDiffuseColor", + "vFogInfos", "vFogColor", "pointSize", + "vDiffuseInfos", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", "diffuseMatrix" + ]; + var samplers = ["diffuseSampler"]; + var uniformBuffers = new Array(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: 4 + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: 4 } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + NormalMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + if (this._mustRebind(scene, effect)) { + // Textures + if (this.diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + this._activeEffect.setTexture("diffuseSampler", this.diffuseTexture); + this._activeEffect.setFloat2("vDiffuseInfos", this.diffuseTexture.coordinatesIndex, this.diffuseTexture.level); + this._activeEffect.setMatrix("diffuseMatrix", this.diffuseTexture.getTextureMatrix()); + } + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + this._activeEffect.setColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility); + // Lights + if (scene.lightsEnabled && !this.disableLighting) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._afterBind(mesh, this._activeEffect); + }; + NormalMaterial.prototype.getAnimatables = function () { + var results = []; + if (this.diffuseTexture && this.diffuseTexture.animations && this.diffuseTexture.animations.length > 0) { + results.push(this.diffuseTexture); + } + return results; + }; + NormalMaterial.prototype.getActiveTextures = function () { + var activeTextures = _super.prototype.getActiveTextures.call(this); + if (this._diffuseTexture) { + activeTextures.push(this._diffuseTexture); + } + return activeTextures; + }; + NormalMaterial.prototype.hasTexture = function (texture) { + if (_super.prototype.hasTexture.call(this, texture)) { + return true; + } + if (this.diffuseTexture === texture) { + return true; + } + return false; + }; + NormalMaterial.prototype.dispose = function (forceDisposeEffect) { + if (this.diffuseTexture) { + this.diffuseTexture.dispose(); + } + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + NormalMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new NormalMaterial(name, _this.getScene()); }, this); + }; + NormalMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.NormalMaterial"; + return serializationObject; + }; + NormalMaterial.prototype.getClassName = function () { + return "NormalMaterial"; + }; + // Statics + NormalMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new NormalMaterial(source.name, scene); }, source, scene, rootUrl); + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture") + ], NormalMaterial.prototype, "_diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], NormalMaterial.prototype, "diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], NormalMaterial.prototype, "diffuseColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("disableLighting") + ], NormalMaterial.prototype, "_disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], NormalMaterial.prototype, "disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("maxSimultaneousLights") + ], NormalMaterial.prototype, "_maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], NormalMaterial.prototype, "maxSimultaneousLights", void 0); + return NormalMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.NormalMaterial"] = NormalMaterial; + + +/***/ }), + +/***/ "./shadowOnly/index.ts": +/*!*****************************!*\ + !*** ./shadowOnly/index.ts ***! + \*****************************/ +/*! exports provided: ShadowOnlyMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _shadowOnlyMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./shadowOnlyMaterial */ "./shadowOnly/shadowOnlyMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ShadowOnlyMaterial", function() { return _shadowOnlyMaterial__WEBPACK_IMPORTED_MODULE_0__["ShadowOnlyMaterial"]; }); + + + + +/***/ }), + +/***/ "./shadowOnly/shadowOnly.fragment.ts": +/*!*******************************************!*\ + !*** ./shadowOnly/shadowOnly.fragment.ts ***! + \*******************************************/ +/*! exports provided: shadowOnlyPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shadowOnlyPixelShader", function() { return shadowOnlyPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'shadowOnlyPixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\nuniform float alpha;\nuniform vec3 shadowColor;\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n#include\n\n#include\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\nfloat glossiness=0.;\n#include[0..1]\n\nvec4 color=vec4(shadowColor,(1.0-clamp(shadow,0.,1.))*alpha);\n#include\ngl_FragColor=color;\n#include\n}"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var shadowOnlyPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./shadowOnly/shadowOnly.vertex.ts": +/*!*****************************************!*\ + !*** ./shadowOnly/shadowOnly.vertex.ts ***! + \*****************************************/ +/*! exports provided: shadowOnlyVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shadowOnlyVertexShader", function() { return shadowOnlyVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'shadowOnlyVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var shadowOnlyVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./shadowOnly/shadowOnlyMaterial.ts": +/*!******************************************!*\ + !*** ./shadowOnly/shadowOnlyMaterial.ts ***! + \******************************************/ +/*! exports provided: ShadowOnlyMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ShadowOnlyMaterial", function() { return ShadowOnlyMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _shadowOnly_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shadowOnly.fragment */ "./shadowOnly/shadowOnly.fragment.ts"); +/* harmony import */ var _shadowOnly_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shadowOnly.vertex */ "./shadowOnly/shadowOnly.vertex.ts"); + + + + + + + + + + + + +var ShadowOnlyMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(ShadowOnlyMaterialDefines, _super); + function ShadowOnlyMaterialDefines() { + var _this = _super.call(this) || this; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.NORMAL = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return ShadowOnlyMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var ShadowOnlyMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(ShadowOnlyMaterial, _super); + function ShadowOnlyMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this._needAlphaBlending = true; + _this.shadowColor = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"].Black(); + return _this; + } + ShadowOnlyMaterial.prototype.needAlphaBlending = function () { + return this._needAlphaBlending; + }; + ShadowOnlyMaterial.prototype.needAlphaTesting = function () { + return false; + }; + ShadowOnlyMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + Object.defineProperty(ShadowOnlyMaterial.prototype, "activeLight", { + get: function () { + return this._activeLight; + }, + set: function (light) { + this._activeLight = light; + }, + enumerable: false, + configurable: true + }); + ShadowOnlyMaterial.prototype._getFirstShadowLightForMesh = function (mesh) { + for (var _i = 0, _a = mesh.lightSources; _i < _a.length; _i++) { + var light = _a[_i]; + if (light.shadowEnabled) { + return light; + } + } + return null; + }; + // Methods + ShadowOnlyMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + var _a; + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new ShadowOnlyMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Ensure that active light is the first shadow light + if (this._activeLight) { + for (var _i = 0, _b = mesh.lightSources; _i < _b.length; _i++) { + var light = _b[_i]; + if (light.shadowEnabled) { + if (this._activeLight === light) { + break; // We are good + } + var lightPosition = mesh.lightSources.indexOf(this._activeLight); + if (lightPosition !== -1) { + mesh.lightSources.splice(lightPosition, 1); + mesh.lightSources.splice(0, 0, this._activeLight); + } + break; + } + } + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + defines._needNormals = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, false, 1); + var shadowGenerator = (_a = this._getFirstShadowLightForMesh(mesh)) === null || _a === void 0 ? void 0 : _a.getShadowGenerator(); + this._needAlphaBlending = true; + if (shadowGenerator && shadowGenerator.getClassName && shadowGenerator.getClassName() === 'CascadedShadowGenerator') { + var csg = shadowGenerator; + this._needAlphaBlending = !csg.autoCalcDepthBounds; + } + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, false, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks, 1); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + var shaderName = "shadowOnly"; + var join = defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", + "vFogInfos", "vFogColor", "pointSize", "alpha", "shadowColor", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6" + ]; + var samplers = new Array(); + var uniformBuffers = new Array(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: 1 + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: 1 } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + ShadowOnlyMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + if (this._mustRebind(scene, effect)) { + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + this._activeEffect.setFloat("alpha", this.alpha); + this._activeEffect.setColor3("shadowColor", this.shadowColor); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + // Lights + if (scene.lightsEnabled) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines, 1); + var light = this._getFirstShadowLightForMesh(mesh); + if (light) { + // Make sure the uniforms for this light will be rebound for other materials using this light when rendering the current frame. + // Indeed, there is an optimization in Light that binds the light uniforms only once per frame for a given light (if using ubo). + // Doing this way assumes that all uses of this light are the same, meaning all parameters passed to Light._bindLlight + // are the same, notably useSpecular. However, isReadyForSubMesh (see above) is passing false for this parameter, which may not be + // the value the other materials may pass. + light._renderId = -1; + } + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE || defines["SHADOWCSM0"]) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._afterBind(mesh, this._activeEffect); + }; + ShadowOnlyMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new ShadowOnlyMaterial(name, _this.getScene()); }, this); + }; + ShadowOnlyMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.ShadowOnlyMaterial"; + return serializationObject; + }; + ShadowOnlyMaterial.prototype.getClassName = function () { + return "ShadowOnlyMaterial"; + }; + // Statics + ShadowOnlyMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new ShadowOnlyMaterial(source.name, scene); }, source, scene, rootUrl); + }; + return ShadowOnlyMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.ShadowOnlyMaterial"] = ShadowOnlyMaterial; + + +/***/ }), + +/***/ "./simple/index.ts": +/*!*************************!*\ + !*** ./simple/index.ts ***! + \*************************/ +/*! exports provided: SimpleMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _simpleMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./simpleMaterial */ "./simple/simpleMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SimpleMaterial", function() { return _simpleMaterial__WEBPACK_IMPORTED_MODULE_0__["SimpleMaterial"]; }); + + + + +/***/ }), + +/***/ "./simple/simple.fragment.ts": +/*!***********************************!*\ + !*** ./simple/simple.fragment.ts ***! + \***********************************/ +/*! exports provided: simplePixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "simplePixelShader", function() { return simplePixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + +var name = 'simplePixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n#include\n\n#include\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\nfloat glossiness=0.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n\nvec4 color=vec4(finalDiffuse,alpha);\n#include\ngl_FragColor=color;\n#include\n}"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var simplePixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./simple/simple.vertex.ts": +/*!*********************************!*\ + !*** ./simple/simple.vertex.ts ***! + \*********************************/ +/*! exports provided: simpleVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "simpleVertexShader", function() { return simpleVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'simpleVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var simpleVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./simple/simpleMaterial.ts": +/*!**********************************!*\ + !*** ./simple/simpleMaterial.ts ***! + \**********************************/ +/*! exports provided: SimpleMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SimpleMaterial", function() { return SimpleMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _simple_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./simple.fragment */ "./simple/simple.fragment.ts"); +/* harmony import */ var _simple_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./simple.vertex */ "./simple/simple.vertex.ts"); + + + + + + + + + + + + + +var SimpleMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(SimpleMaterialDefines, _super); + function SimpleMaterialDefines() { + var _this = _super.call(this) || this; + _this.DIFFUSE = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.DEPTHPREPASS = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.NORMAL = false; + _this.UV1 = false; + _this.UV2 = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return SimpleMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var SimpleMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(SimpleMaterial, _super); + function SimpleMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this.diffuseColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 1, 1); + _this._disableLighting = false; + _this._maxSimultaneousLights = 4; + return _this; + } + SimpleMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + SimpleMaterial.prototype.needAlphaTesting = function () { + return false; + }; + SimpleMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + // Methods + SimpleMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new SimpleMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Textures + if (defines._areTexturesDirty) { + defines._needUVs = false; + if (scene.texturesEnabled) { + if (this._diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (!this._diffuseTexture.isReady()) { + return false; + } + else { + defines._needUVs = true; + defines.DIFFUSE = true; + } + } + } + } + // Misc. + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + // Lights + defines._needNormals = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting); + // Values that need to be evaluated on every frame + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, true, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks, this.maxSimultaneousLights); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.UV2) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UV2Kind); + } + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + var shaderName = "simple"; + var join = defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vDiffuseColor", + "vFogInfos", "vFogColor", "pointSize", + "vDiffuseInfos", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", "diffuseMatrix" + ]; + var samplers = ["diffuseSampler"]; + var uniformBuffers = new Array(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: this.maxSimultaneousLights + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights - 1 } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + SimpleMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + if (this._mustRebind(scene, effect)) { + // Textures + if (this._diffuseTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + this._activeEffect.setTexture("diffuseSampler", this._diffuseTexture); + this._activeEffect.setFloat2("vDiffuseInfos", this._diffuseTexture.coordinatesIndex, this._diffuseTexture.level); + this._activeEffect.setMatrix("diffuseMatrix", this._diffuseTexture.getTextureMatrix()); + } + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + this._activeEffect.setColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility); + // Lights + if (scene.lightsEnabled && !this.disableLighting) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._afterBind(mesh, this._activeEffect); + }; + SimpleMaterial.prototype.getAnimatables = function () { + var results = []; + if (this._diffuseTexture && this._diffuseTexture.animations && this._diffuseTexture.animations.length > 0) { + results.push(this._diffuseTexture); + } + return results; + }; + SimpleMaterial.prototype.getActiveTextures = function () { + var activeTextures = _super.prototype.getActiveTextures.call(this); + if (this._diffuseTexture) { + activeTextures.push(this._diffuseTexture); + } + return activeTextures; + }; + SimpleMaterial.prototype.hasTexture = function (texture) { + if (_super.prototype.hasTexture.call(this, texture)) { + return true; + } + if (this.diffuseTexture === texture) { + return true; + } + return false; + }; + SimpleMaterial.prototype.dispose = function (forceDisposeEffect) { + if (this._diffuseTexture) { + this._diffuseTexture.dispose(); + } + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + SimpleMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new SimpleMaterial(name, _this.getScene()); }, this); + }; + SimpleMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.SimpleMaterial"; + return serializationObject; + }; + SimpleMaterial.prototype.getClassName = function () { + return "SimpleMaterial"; + }; + // Statics + SimpleMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new SimpleMaterial(source.name, scene); }, source, scene, rootUrl); + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture") + ], SimpleMaterial.prototype, "_diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], SimpleMaterial.prototype, "diffuseTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])("diffuse") + ], SimpleMaterial.prototype, "diffuseColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("disableLighting") + ], SimpleMaterial.prototype, "_disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], SimpleMaterial.prototype, "disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("maxSimultaneousLights") + ], SimpleMaterial.prototype, "_maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], SimpleMaterial.prototype, "maxSimultaneousLights", void 0); + return SimpleMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.SimpleMaterial"] = SimpleMaterial; + + +/***/ }), + +/***/ "./sky/index.ts": +/*!**********************!*\ + !*** ./sky/index.ts ***! + \**********************/ +/*! exports provided: SkyMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _skyMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./skyMaterial */ "./sky/skyMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SkyMaterial", function() { return _skyMaterial__WEBPACK_IMPORTED_MODULE_0__["SkyMaterial"]; }); + + + + +/***/ }), + +/***/ "./sky/sky.fragment.ts": +/*!*****************************!*\ + !*** ./sky/sky.fragment.ts ***! + \*****************************/ +/*! exports provided: skyPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "skyPixelShader", function() { return skyPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + +var name = 'skyPixelShader'; +var shader = "precision highp float;\n\nvarying vec3 vPositionW;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n\nuniform vec3 cameraPosition;\nuniform vec3 cameraOffset;\nuniform float luminance;\nuniform float turbidity;\nuniform float rayleigh;\nuniform float mieCoefficient;\nuniform float mieDirectionalG;\nuniform vec3 sunPosition;\n\n#include\n\nconst float e=2.71828182845904523536028747135266249775724709369995957;\nconst float pi=3.141592653589793238462643383279502884197169;\nconst float n=1.0003;\nconst float N=2.545E25;\nconst float pn=0.035;\nconst vec3 lambda=vec3(680E-9,550E-9,450E-9);\nconst vec3 K=vec3(0.686,0.678,0.666);\nconst float v=4.0;\nconst float rayleighZenithLength=8.4E3;\nconst float mieZenithLength=1.25E3;\nconst vec3 up=vec3(0.0,1.0,0.0);\nconst float EE=1000.0;\nconst float sunAngularDiameterCos=0.999956676946448443553574619906976478926848692873900859324;\nconst float cutoffAngle=pi/1.95;\nconst float steepness=1.5;\nvec3 totalRayleigh(vec3 lambda)\n{\nreturn (8.0*pow(pi,3.0)*pow(pow(n,2.0)-1.0,2.0)*(6.0+3.0*pn))/(3.0*N*pow(lambda,vec3(4.0))*(6.0-7.0*pn));\n}\nvec3 simplifiedRayleigh()\n{\nreturn 0.0005/vec3(94,40,18);\n}\nfloat rayleighPhase(float cosTheta)\n{\nreturn (3.0/(16.0*pi))*(1.0+pow(cosTheta,2.0));\n}\nvec3 totalMie(vec3 lambda,vec3 K,float T)\n{\nfloat c=(0.2*T )*10E-18;\nreturn 0.434*c*pi*pow((2.0*pi)/lambda,vec3(v-2.0))*K;\n}\nfloat hgPhase(float cosTheta,float g)\n{\nreturn (1.0/(4.0*pi))*((1.0-pow(g,2.0))/pow(1.0-2.0*g*cosTheta+pow(g,2.0),1.5));\n}\nfloat sunIntensity(float zenithAngleCos)\n{\nreturn EE*max(0.0,1.0-exp((-(cutoffAngle-acos(zenithAngleCos))/steepness)));\n}\nfloat A=0.15;\nfloat B=0.50;\nfloat C=0.10;\nfloat D=0.20;\nfloat EEE=0.02;\nfloat F=0.30;\nfloat W=1000.0;\nvec3 Uncharted2Tonemap(vec3 x)\n{\nreturn ((x*(A*x+C*B)+D*EEE)/(x*(A*x+B)+D*F))-EEE/F;\n}\nvoid main(void) {\n\n#include\n\nfloat sunfade=1.0-clamp(1.0-exp((sunPosition.y/450000.0)),0.0,1.0);\nfloat rayleighCoefficient=rayleigh-(1.0*(1.0-sunfade));\nvec3 sunDirection=normalize(sunPosition);\nfloat sunE=sunIntensity(dot(sunDirection,up));\nvec3 betaR=simplifiedRayleigh()*rayleighCoefficient;\nvec3 betaM=totalMie(lambda,K,turbidity)*mieCoefficient;\nfloat zenithAngle=acos(max(0.0,dot(up,normalize(vPositionW-cameraPosition+cameraOffset))));\nfloat sR=rayleighZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\nfloat sM=mieZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\nvec3 Fex=exp(-(betaR*sR+betaM*sM));\nfloat cosTheta=dot(normalize(vPositionW-cameraPosition),sunDirection);\nfloat rPhase=rayleighPhase(cosTheta*0.5+0.5);\nvec3 betaRTheta=betaR*rPhase;\nfloat mPhase=hgPhase(cosTheta,mieDirectionalG);\nvec3 betaMTheta=betaM*mPhase;\nvec3 Lin=pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*(1.0-Fex),vec3(1.5));\nLin*=mix(vec3(1.0),pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*Fex,vec3(1.0/2.0)),clamp(pow(1.0-dot(up,sunDirection),5.0),0.0,1.0));\nvec3 direction=normalize(vPositionW-cameraPosition);\nfloat theta=acos(direction.y);\nfloat phi=atan(direction.z,direction.x);\nvec2 uv=vec2(phi,theta)/vec2(2.0*pi,pi)+vec2(0.5,0.0);\nvec3 L0=vec3(0.1)*Fex;\nfloat sundisk=smoothstep(sunAngularDiameterCos,sunAngularDiameterCos+0.00002,cosTheta);\nL0+=(sunE*19000.0*Fex)*sundisk;\nvec3 whiteScale=1.0/Uncharted2Tonemap(vec3(W));\nvec3 texColor=(Lin+L0);\ntexColor*=0.04 ;\ntexColor+=vec3(0.0,0.001,0.0025)*0.3;\nfloat g_fMaxLuminance=1.0;\nfloat fLumScaled=0.1/luminance;\nfloat fLumCompressed=(fLumScaled*(1.0+(fLumScaled/(g_fMaxLuminance*g_fMaxLuminance))))/(1.0+fLumScaled);\nfloat ExposureBias=fLumCompressed;\nvec3 curr=Uncharted2Tonemap((log2(2.0/pow(luminance,4.0)))*texColor);\n\n\n\nvec3 retColor=curr*whiteScale;\n\n\nfloat alpha=1.0;\n#ifdef VERTEXCOLOR\nretColor.rgb*=vColor.rgb;\n#endif\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n\nvec4 color=clamp(vec4(retColor.rgb,alpha),0.0,1.0);\n\n#include\ngl_FragColor=color;\n#include\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var skyPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./sky/sky.vertex.ts": +/*!***************************!*\ + !*** ./sky/sky.vertex.ts ***! + \***************************/ +/*! exports provided: skyVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "skyVertexShader", function() { return skyVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + +var name = 'skyVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n\nuniform mat4 world;\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\nvoid main(void) {\ngl_Position=viewProjection*world*vec4(position,1.0);\nvec4 worldPos=world*vec4(position,1.0);\nvPositionW=vec3(worldPos);\n\n#include\n\n#include\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var skyVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./sky/skyMaterial.ts": +/*!****************************!*\ + !*** ./sky/skyMaterial.ts ***! + \****************************/ +/*! exports provided: SkyMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SkyMaterial", function() { return SkyMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _sky_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sky.fragment */ "./sky/sky.fragment.ts"); +/* harmony import */ var _sky_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sky.vertex */ "./sky/sky.vertex.ts"); + + + + + + + + + + + + +/** @hidden */ +var SkyMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(SkyMaterialDefines, _super); + function SkyMaterialDefines() { + var _this = _super.call(this) || this; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return SkyMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +/** + * This is the sky material which allows to create dynamic and texture free effects for skyboxes. + * @see https://doc.babylonjs.com/extensions/sky + */ +var SkyMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(SkyMaterial, _super); + /** + * Instantiates a new sky material. + * This material allows to create dynamic and texture free + * effects for skyboxes by taking care of the atmosphere state. + * @see https://doc.babylonjs.com/extensions/sky + * @param name Define the name of the material in the scene + * @param scene Define the scene the material belong to + */ + function SkyMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + /** + * Defines the overall luminance of sky in interval ]0, 1[. + */ + _this.luminance = 1.0; + /** + * Defines the amount (scattering) of haze as opposed to molecules in atmosphere. + */ + _this.turbidity = 10.0; + /** + * Defines the sky appearance (light intensity). + */ + _this.rayleigh = 2.0; + /** + * Defines the mieCoefficient in interval [0, 0.1] which affects the property .mieDirectionalG. + */ + _this.mieCoefficient = 0.005; + /** + * Defines the amount of haze particles following the Mie scattering theory. + */ + _this.mieDirectionalG = 0.8; + /** + * Defines the distance of the sun according to the active scene camera. + */ + _this.distance = 500; + /** + * Defines the sun inclination, in interval [-0.5, 0.5]. When the inclination is not 0, the sun is said + * "inclined". + */ + _this.inclination = 0.49; + /** + * Defines the solar azimuth in interval [0, 1]. The azimuth is the angle in the horizontal plan between + * an object direction and a reference direction. + */ + _this.azimuth = 0.25; + /** + * Defines the sun position in the sky on (x,y,z). If the property .useSunPosition is set to false, then + * the property is overriden by the inclination and the azimuth and can be read at any moment. + */ + _this.sunPosition = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0, 100, 0); + /** + * Defines if the sun position should be computed (inclination and azimuth) according to the given + * .sunPosition property. + */ + _this.useSunPosition = false; + /** + * Defines an offset vector used to get a horizon offset. + * @example skyMaterial.cameraOffset.y = camera.globalPosition.y // Set horizon relative to 0 on the Y axis + */ + _this.cameraOffset = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Zero(); + // Private members + _this._cameraPosition = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Zero(); + return _this; + } + /** + * Specifies if the material will require alpha blending + * @returns a boolean specifying if alpha blending is needed + */ + SkyMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + /** + * Specifies if this material should be rendered in alpha test mode + * @returns false as the sky material doesn't need alpha testing. + */ + SkyMaterial.prototype.needAlphaTesting = function () { + return false; + }; + /** + * Get the texture used for alpha test purpose. + * @returns null as the sky material has no texture. + */ + SkyMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + /** + * Get if the submesh is ready to be used and all its information available. + * Child classes can use it to update shaders + * @param mesh defines the mesh to check + * @param subMesh defines which submesh to check + * @param useInstances specifies that instances should be used + * @returns a boolean indicating that the submesh is ready or not + */ + SkyMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new SkyMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, false, defines); + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, true, false); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + var shaderName = "sky"; + var join = defines.toString(); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, attribs, ["world", "viewProjection", "view", + "vFogInfos", "vFogColor", "pointSize", "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", + "luminance", "turbidity", "rayleigh", "mieCoefficient", "mieDirectionalG", "sunPosition", + "cameraPosition", "cameraOffset" + ], [], join, fallbacks, this.onCompiled, this.onError), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + /** + * Binds the submesh to this material by preparing the effect and shader to draw + * @param world defines the world transformation matrix + * @param mesh defines the mesh containing the submesh + * @param subMesh defines the submesh to bind the material to + */ + SkyMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + if (this._mustRebind(scene, effect)) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + // Sky + var camera = scene.activeCamera; + if (camera) { + var cameraWorldMatrix = camera.getWorldMatrix(); + this._cameraPosition.x = cameraWorldMatrix.m[12]; + this._cameraPosition.y = cameraWorldMatrix.m[13]; + this._cameraPosition.z = cameraWorldMatrix.m[14]; + this._activeEffect.setVector3("cameraPosition", this._cameraPosition); + } + this._activeEffect.setVector3("cameraOffset", this.cameraOffset); + if (this.luminance > 0) { + this._activeEffect.setFloat("luminance", this.luminance); + } + this._activeEffect.setFloat("turbidity", this.turbidity); + this._activeEffect.setFloat("rayleigh", this.rayleigh); + this._activeEffect.setFloat("mieCoefficient", this.mieCoefficient); + this._activeEffect.setFloat("mieDirectionalG", this.mieDirectionalG); + if (!this.useSunPosition) { + var theta = Math.PI * (this.inclination - 0.5); + var phi = 2 * Math.PI * (this.azimuth - 0.5); + this.sunPosition.x = this.distance * Math.cos(phi); + this.sunPosition.y = this.distance * Math.sin(phi) * Math.sin(theta); + this.sunPosition.z = this.distance * Math.sin(phi) * Math.cos(theta); + } + this._activeEffect.setVector3("sunPosition", this.sunPosition); + this._afterBind(mesh, this._activeEffect); + }; + /** + * Get the list of animatables in the material. + * @returns the list of animatables object used in the material + */ + SkyMaterial.prototype.getAnimatables = function () { + return []; + }; + /** + * Disposes the material + * @param forceDisposeEffect specifies if effects should be forcefully disposed + */ + SkyMaterial.prototype.dispose = function (forceDisposeEffect) { + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + /** + * Makes a duplicate of the material, and gives it a new name + * @param name defines the new name for the duplicated material + * @returns the cloned material + */ + SkyMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new SkyMaterial(name, _this.getScene()); }, this); + }; + /** + * Serializes this material in a JSON representation + * @returns the serialized material object + */ + SkyMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.SkyMaterial"; + return serializationObject; + }; + /** + * Gets the current class name of the material e.g. "SkyMaterial" + * Mainly use in serialization. + * @returns the class name + */ + SkyMaterial.prototype.getClassName = function () { + return "SkyMaterial"; + }; + /** + * Creates a sky material from parsed material data + * @param source defines the JSON representation of the material + * @param scene defines the hosting scene + * @param rootUrl defines the root URL to use to load textures and relative dependencies + * @returns a new sky material + */ + SkyMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new SkyMaterial(source.name, scene); }, source, scene, rootUrl); + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], SkyMaterial.prototype, "luminance", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], SkyMaterial.prototype, "turbidity", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], SkyMaterial.prototype, "rayleigh", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], SkyMaterial.prototype, "mieCoefficient", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], SkyMaterial.prototype, "mieDirectionalG", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], SkyMaterial.prototype, "distance", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], SkyMaterial.prototype, "inclination", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], SkyMaterial.prototype, "azimuth", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsVector3"])() + ], SkyMaterial.prototype, "sunPosition", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], SkyMaterial.prototype, "useSunPosition", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], SkyMaterial.prototype, "cameraOffset", void 0); + return SkyMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.SkyMaterial"] = SkyMaterial; + + +/***/ }), + +/***/ "./terrain/index.ts": +/*!**************************!*\ + !*** ./terrain/index.ts ***! + \**************************/ +/*! exports provided: TerrainMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _terrainMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./terrainMaterial */ "./terrain/terrainMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TerrainMaterial", function() { return _terrainMaterial__WEBPACK_IMPORTED_MODULE_0__["TerrainMaterial"]; }); + + + + +/***/ }), + +/***/ "./terrain/terrain.fragment.ts": +/*!*************************************!*\ + !*** ./terrain/terrain.fragment.ts ***! + \*************************************/ +/*! exports provided: terrainPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "terrainPixelShader", function() { return terrainPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + +var name = 'terrainPixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform sampler2D textureSampler;\nuniform vec2 vTextureInfos;\nuniform sampler2D diffuse1Sampler;\nuniform sampler2D diffuse2Sampler;\nuniform sampler2D diffuse3Sampler;\nuniform vec2 diffuse1Infos;\nuniform vec2 diffuse2Infos;\nuniform vec2 diffuse3Infos;\n#endif\n#ifdef BUMP\nuniform sampler2D bump1Sampler;\nuniform sampler2D bump2Sampler;\nuniform sampler2D bump3Sampler;\n#endif\n\n#include\n#include\n#include\n\n#include\n\n#ifdef BUMP\n#extension GL_OES_standard_derivatives : enable\n\nmat3 cotangent_frame(vec3 normal,vec3 p,vec2 uv)\n{\n\nvec3 dp1=dFdx(p);\nvec3 dp2=dFdy(p);\nvec2 duv1=dFdx(uv);\nvec2 duv2=dFdy(uv);\n\nvec3 dp2perp=cross(dp2,normal);\nvec3 dp1perp=cross(normal,dp1);\nvec3 tangent=dp2perp*duv1.x+dp1perp*duv2.x;\nvec3 binormal=dp2perp*duv1.y+dp1perp*duv2.y;\n\nfloat invmax=inversesqrt(max(dot(tangent,tangent),dot(binormal,binormal)));\nreturn mat3(tangent*invmax,binormal*invmax,normal);\n}\nvec3 perturbNormal(vec3 viewDir,vec3 mixColor)\n{\nvec3 bump1Color=texture2D(bump1Sampler,vTextureUV*diffuse1Infos).xyz;\nvec3 bump2Color=texture2D(bump2Sampler,vTextureUV*diffuse2Infos).xyz;\nvec3 bump3Color=texture2D(bump3Sampler,vTextureUV*diffuse3Infos).xyz;\nbump1Color.rgb*=mixColor.r;\nbump2Color.rgb=mix(bump1Color.rgb,bump2Color.rgb,mixColor.g);\nvec3 map=mix(bump2Color.rgb,bump3Color.rgb,mixColor.b);\nmap=map*255./127.-128./127.;\nmat3 TBN=cotangent_frame(vNormalW*vTextureInfos.y,-viewDir,vTextureUV);\nreturn normalize(TBN*map);\n}\n#endif\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nbaseColor=texture2D(textureSampler,vTextureUV);\n#if defined(BUMP) && defined(DIFFUSE)\nnormalW=perturbNormal(viewDirectionW,baseColor.rgb);\n#endif\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vTextureInfos.y;\nvec4 diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\nvec4 diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\nvec4 diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\ndiffuse1Color.rgb*=baseColor.r;\ndiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,baseColor.g);\nbaseColor.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,baseColor.b);\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor*baseColor.rgb,0.0,1.0);\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include\ngl_FragColor=color;\n#include\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var terrainPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./terrain/terrain.vertex.ts": +/*!***********************************!*\ + !*** ./terrain/terrain.vertex.ts ***! + \***********************************/ +/*! exports provided: terrainVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "terrainVertexShader", function() { return terrainVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'terrainVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform mat4 textureMatrix;\nuniform vec2 vTextureInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vTextureInfos.x == 0.)\n{\nvTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var terrainVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./terrain/terrainMaterial.ts": +/*!************************************!*\ + !*** ./terrain/terrainMaterial.ts ***! + \************************************/ +/*! exports provided: TerrainMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TerrainMaterial", function() { return TerrainMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _terrain_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./terrain.fragment */ "./terrain/terrain.fragment.ts"); +/* harmony import */ var _terrain_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./terrain.vertex */ "./terrain/terrain.vertex.ts"); + + + + + + + + + + + + + +var TerrainMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(TerrainMaterialDefines, _super); + function TerrainMaterialDefines() { + var _this = _super.call(this) || this; + _this.DIFFUSE = false; + _this.BUMP = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.DEPTHPREPASS = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.SPECULARTERM = false; + _this.NORMAL = false; + _this.UV1 = false; + _this.UV2 = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return TerrainMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var TerrainMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(TerrainMaterial, _super); + function TerrainMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this.diffuseColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 1, 1); + _this.specularColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](0, 0, 0); + _this.specularPower = 64; + _this._disableLighting = false; + _this._maxSimultaneousLights = 4; + return _this; + } + TerrainMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + TerrainMaterial.prototype.needAlphaTesting = function () { + return false; + }; + TerrainMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + // Methods + TerrainMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new TerrainMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Textures + if (scene.texturesEnabled) { + if (!this.mixTexture || !this.mixTexture.isReady()) { + return false; + } + defines._needUVs = true; + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (!this.diffuseTexture1 || !this.diffuseTexture1.isReady()) { + return false; + } + if (!this.diffuseTexture2 || !this.diffuseTexture2.isReady()) { + return false; + } + if (!this.diffuseTexture3 || !this.diffuseTexture3.isReady()) { + return false; + } + defines.DIFFUSE = true; + } + if (this.bumpTexture1 && this.bumpTexture2 && this.bumpTexture3 && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].BumpTextureEnabled) { + if (!this.bumpTexture1.isReady()) { + return false; + } + if (!this.bumpTexture2.isReady()) { + return false; + } + if (!this.bumpTexture3.isReady()) { + return false; + } + defines._needNormals = true; + defines.BUMP = true; + } + } + // Misc. + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + // Lights + defines._needNormals = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting); + // Values that need to be evaluated on every frame + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, true, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks, this.maxSimultaneousLights); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.UV2) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UV2Kind); + } + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + // Legacy browser patch + var shaderName = "terrain"; + var join = defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vDiffuseColor", "vSpecularColor", + "vFogInfos", "vFogColor", "pointSize", + "vTextureInfos", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", "textureMatrix", + "diffuse1Infos", "diffuse2Infos", "diffuse3Infos" + ]; + var samplers = ["textureSampler", "diffuse1Sampler", "diffuse2Sampler", "diffuse3Sampler", + "bump1Sampler", "bump2Sampler", "bump3Sampler" + ]; + var uniformBuffers = new Array(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: this.maxSimultaneousLights + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: this.maxSimultaneousLights } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + TerrainMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + if (this._mustRebind(scene, effect)) { + // Textures + if (this.mixTexture) { + this._activeEffect.setTexture("textureSampler", this._mixTexture); + this._activeEffect.setFloat2("vTextureInfos", this._mixTexture.coordinatesIndex, this._mixTexture.level); + this._activeEffect.setMatrix("textureMatrix", this._mixTexture.getTextureMatrix()); + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + if (this._diffuseTexture1) { + this._activeEffect.setTexture("diffuse1Sampler", this._diffuseTexture1); + this._activeEffect.setFloat2("diffuse1Infos", this._diffuseTexture1.uScale, this._diffuseTexture1.vScale); + } + if (this._diffuseTexture2) { + this._activeEffect.setTexture("diffuse2Sampler", this._diffuseTexture2); + this._activeEffect.setFloat2("diffuse2Infos", this._diffuseTexture2.uScale, this._diffuseTexture2.vScale); + } + if (this._diffuseTexture3) { + this._activeEffect.setTexture("diffuse3Sampler", this._diffuseTexture3); + this._activeEffect.setFloat2("diffuse3Infos", this._diffuseTexture3.uScale, this._diffuseTexture3.vScale); + } + } + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].BumpTextureEnabled && scene.getEngine().getCaps().standardDerivatives) { + if (this._bumpTexture1) { + this._activeEffect.setTexture("bump1Sampler", this._bumpTexture1); + } + if (this._bumpTexture2) { + this._activeEffect.setTexture("bump2Sampler", this._bumpTexture2); + } + if (this._bumpTexture3) { + this._activeEffect.setTexture("bump3Sampler", this._bumpTexture3); + } + } + } + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + this._activeEffect.setColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility); + if (defines.SPECULARTERM) { + this._activeEffect.setColor4("vSpecularColor", this.specularColor, this.specularPower); + } + if (scene.lightsEnabled && !this.disableLighting) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._afterBind(mesh, this._activeEffect); + }; + TerrainMaterial.prototype.getAnimatables = function () { + var results = []; + if (this.mixTexture && this.mixTexture.animations && this.mixTexture.animations.length > 0) { + results.push(this.mixTexture); + } + return results; + }; + TerrainMaterial.prototype.getActiveTextures = function () { + var activeTextures = _super.prototype.getActiveTextures.call(this); + if (this._mixTexture) { + activeTextures.push(this._mixTexture); + } + if (this._diffuseTexture1) { + activeTextures.push(this._diffuseTexture1); + } + if (this._diffuseTexture2) { + activeTextures.push(this._diffuseTexture2); + } + if (this._diffuseTexture3) { + activeTextures.push(this._diffuseTexture3); + } + if (this._bumpTexture1) { + activeTextures.push(this._bumpTexture1); + } + if (this._bumpTexture2) { + activeTextures.push(this._bumpTexture2); + } + if (this._bumpTexture3) { + activeTextures.push(this._bumpTexture3); + } + return activeTextures; + }; + TerrainMaterial.prototype.hasTexture = function (texture) { + if (_super.prototype.hasTexture.call(this, texture)) { + return true; + } + if (this._mixTexture === texture) { + return true; + } + if (this._diffuseTexture1 === texture) { + return true; + } + if (this._diffuseTexture2 === texture) { + return true; + } + if (this._diffuseTexture3 === texture) { + return true; + } + if (this._bumpTexture1 === texture) { + return true; + } + if (this._bumpTexture2 === texture) { + return true; + } + if (this._bumpTexture3 === texture) { + return true; + } + return false; + }; + TerrainMaterial.prototype.dispose = function (forceDisposeEffect) { + if (this.mixTexture) { + this.mixTexture.dispose(); + } + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + TerrainMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new TerrainMaterial(name, _this.getScene()); }, this); + }; + TerrainMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.TerrainMaterial"; + return serializationObject; + }; + TerrainMaterial.prototype.getClassName = function () { + return "TerrainMaterial"; + }; + // Statics + TerrainMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new TerrainMaterial(source.name, scene); }, source, scene, rootUrl); + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("mixTexture") + ], TerrainMaterial.prototype, "_mixTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TerrainMaterial.prototype, "mixTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture1") + ], TerrainMaterial.prototype, "_diffuseTexture1", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TerrainMaterial.prototype, "diffuseTexture1", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture2") + ], TerrainMaterial.prototype, "_diffuseTexture2", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TerrainMaterial.prototype, "diffuseTexture2", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexture3") + ], TerrainMaterial.prototype, "_diffuseTexture3", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TerrainMaterial.prototype, "diffuseTexture3", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("bumpTexture1") + ], TerrainMaterial.prototype, "_bumpTexture1", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TerrainMaterial.prototype, "bumpTexture1", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("bumpTexture2") + ], TerrainMaterial.prototype, "_bumpTexture2", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TerrainMaterial.prototype, "bumpTexture2", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("bumpTexture3") + ], TerrainMaterial.prototype, "_bumpTexture3", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TerrainMaterial.prototype, "bumpTexture3", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], TerrainMaterial.prototype, "diffuseColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], TerrainMaterial.prototype, "specularColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], TerrainMaterial.prototype, "specularPower", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("disableLighting") + ], TerrainMaterial.prototype, "_disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], TerrainMaterial.prototype, "disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("maxSimultaneousLights") + ], TerrainMaterial.prototype, "_maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], TerrainMaterial.prototype, "maxSimultaneousLights", void 0); + return TerrainMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.TerrainMaterial"] = TerrainMaterial; + + +/***/ }), + +/***/ "./triPlanar/index.ts": +/*!****************************!*\ + !*** ./triPlanar/index.ts ***! + \****************************/ +/*! exports provided: TriPlanarMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _triPlanarMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./triPlanarMaterial */ "./triPlanar/triPlanarMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TriPlanarMaterial", function() { return _triPlanarMaterial__WEBPACK_IMPORTED_MODULE_0__["TriPlanarMaterial"]; }); + + + + +/***/ }), + +/***/ "./triPlanar/triPlanarMaterial.ts": +/*!****************************************!*\ + !*** ./triPlanar/triPlanarMaterial.ts ***! + \****************************************/ +/*! exports provided: TriPlanarMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TriPlanarMaterial", function() { return TriPlanarMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _triplanar_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./triplanar.fragment */ "./triPlanar/triplanar.fragment.ts"); +/* harmony import */ var _triplanar_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./triplanar.vertex */ "./triPlanar/triplanar.vertex.ts"); + + + + + + + + + + + + + +var TriPlanarMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(TriPlanarMaterialDefines, _super); + function TriPlanarMaterialDefines() { + var _this = _super.call(this) || this; + _this.DIFFUSEX = false; + _this.DIFFUSEY = false; + _this.DIFFUSEZ = false; + _this.BUMPX = false; + _this.BUMPY = false; + _this.BUMPZ = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.DEPTHPREPASS = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.SPECULARTERM = false; + _this.NORMAL = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return TriPlanarMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var TriPlanarMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(TriPlanarMaterial, _super); + function TriPlanarMaterial(name, scene) { + var _this = _super.call(this, name, scene) || this; + _this.tileSize = 1; + _this.diffuseColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 1, 1); + _this.specularColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](0.2, 0.2, 0.2); + _this.specularPower = 64; + _this._disableLighting = false; + _this._maxSimultaneousLights = 4; + return _this; + } + TriPlanarMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + TriPlanarMaterial.prototype.needAlphaTesting = function () { + return false; + }; + TriPlanarMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + // Methods + TriPlanarMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new TriPlanarMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Textures + if (defines._areTexturesDirty) { + if (scene.texturesEnabled) { + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].DiffuseTextureEnabled) { + var textures = [this.diffuseTextureX, this.diffuseTextureY, this.diffuseTextureZ]; + var textureDefines = ["DIFFUSEX", "DIFFUSEY", "DIFFUSEZ"]; + for (var i = 0; i < textures.length; i++) { + if (textures[i]) { + if (!textures[i].isReady()) { + return false; + } + else { + defines[textureDefines[i]] = true; + } + } + } + } + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].BumpTextureEnabled) { + var textures = [this.normalTextureX, this.normalTextureY, this.normalTextureZ]; + var textureDefines = ["BUMPX", "BUMPY", "BUMPZ"]; + for (var i = 0; i < textures.length; i++) { + if (textures[i]) { + if (!textures[i].isReady()) { + return false; + } + else { + defines[textureDefines[i]] = true; + } + } + } + } + } + } + // Misc. + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + // Lights + defines._needNormals = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting); + // Values that need to be evaluated on every frame + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, true, true); + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks, this.maxSimultaneousLights); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess; + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + // Legacy browser patch + var shaderName = "triplanar"; + var join = defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vDiffuseColor", "vSpecularColor", + "vFogInfos", "vFogColor", "pointSize", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", + "tileSize" + ]; + var samplers = ["diffuseSamplerX", "diffuseSamplerY", "diffuseSamplerZ", + "normalSamplerX", "normalSamplerY", "normalSamplerZ" + ]; + var uniformBuffers = new Array(); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: this.maxSimultaneousLights + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: this.maxSimultaneousLights } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + TriPlanarMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + this._activeEffect.setFloat("tileSize", this.tileSize); + if (scene.getCachedMaterial() !== this) { + // Textures + if (this.diffuseTextureX) { + this._activeEffect.setTexture("diffuseSamplerX", this.diffuseTextureX); + } + if (this.diffuseTextureY) { + this._activeEffect.setTexture("diffuseSamplerY", this.diffuseTextureY); + } + if (this.diffuseTextureZ) { + this._activeEffect.setTexture("diffuseSamplerZ", this.diffuseTextureZ); + } + if (this.normalTextureX) { + this._activeEffect.setTexture("normalSamplerX", this.normalTextureX); + } + if (this.normalTextureY) { + this._activeEffect.setTexture("normalSamplerY", this.normalTextureY); + } + if (this.normalTextureZ) { + this._activeEffect.setTexture("normalSamplerZ", this.normalTextureZ); + } + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + this._activeEffect.setColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility); + if (defines.SPECULARTERM) { + this._activeEffect.setColor4("vSpecularColor", this.specularColor, this.specularPower); + } + if (scene.lightsEnabled && !this.disableLighting) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + this._afterBind(mesh, this._activeEffect); + }; + TriPlanarMaterial.prototype.getAnimatables = function () { + var results = []; + if (this.mixTexture && this.mixTexture.animations && this.mixTexture.animations.length > 0) { + results.push(this.mixTexture); + } + return results; + }; + TriPlanarMaterial.prototype.getActiveTextures = function () { + var activeTextures = _super.prototype.getActiveTextures.call(this); + if (this._diffuseTextureX) { + activeTextures.push(this._diffuseTextureX); + } + if (this._diffuseTextureY) { + activeTextures.push(this._diffuseTextureY); + } + if (this._diffuseTextureZ) { + activeTextures.push(this._diffuseTextureZ); + } + if (this._normalTextureX) { + activeTextures.push(this._normalTextureX); + } + if (this._normalTextureY) { + activeTextures.push(this._normalTextureY); + } + if (this._normalTextureZ) { + activeTextures.push(this._normalTextureZ); + } + return activeTextures; + }; + TriPlanarMaterial.prototype.hasTexture = function (texture) { + if (_super.prototype.hasTexture.call(this, texture)) { + return true; + } + if (this._diffuseTextureX === texture) { + return true; + } + if (this._diffuseTextureY === texture) { + return true; + } + if (this._diffuseTextureZ === texture) { + return true; + } + if (this._normalTextureX === texture) { + return true; + } + if (this._normalTextureY === texture) { + return true; + } + if (this._normalTextureZ === texture) { + return true; + } + return false; + }; + TriPlanarMaterial.prototype.dispose = function (forceDisposeEffect) { + if (this.mixTexture) { + this.mixTexture.dispose(); + } + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + TriPlanarMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new TriPlanarMaterial(name, _this.getScene()); }, this); + }; + TriPlanarMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.TriPlanarMaterial"; + return serializationObject; + }; + TriPlanarMaterial.prototype.getClassName = function () { + return "TriPlanarMaterial"; + }; + // Statics + TriPlanarMaterial.Parse = function (source, scene, rootUrl) { + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new TriPlanarMaterial(source.name, scene); }, source, scene, rootUrl); + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])() + ], TriPlanarMaterial.prototype, "mixTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTextureX") + ], TriPlanarMaterial.prototype, "_diffuseTextureX", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TriPlanarMaterial.prototype, "diffuseTextureX", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTexturY") + ], TriPlanarMaterial.prototype, "_diffuseTextureY", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TriPlanarMaterial.prototype, "diffuseTextureY", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("diffuseTextureZ") + ], TriPlanarMaterial.prototype, "_diffuseTextureZ", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TriPlanarMaterial.prototype, "diffuseTextureZ", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("normalTextureX") + ], TriPlanarMaterial.prototype, "_normalTextureX", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TriPlanarMaterial.prototype, "normalTextureX", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("normalTextureY") + ], TriPlanarMaterial.prototype, "_normalTextureY", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TriPlanarMaterial.prototype, "normalTextureY", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("normalTextureZ") + ], TriPlanarMaterial.prototype, "_normalTextureZ", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], TriPlanarMaterial.prototype, "normalTextureZ", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], TriPlanarMaterial.prototype, "tileSize", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], TriPlanarMaterial.prototype, "diffuseColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], TriPlanarMaterial.prototype, "specularColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], TriPlanarMaterial.prototype, "specularPower", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("disableLighting") + ], TriPlanarMaterial.prototype, "_disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], TriPlanarMaterial.prototype, "disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("maxSimultaneousLights") + ], TriPlanarMaterial.prototype, "_maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], TriPlanarMaterial.prototype, "maxSimultaneousLights", void 0); + return TriPlanarMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.TriPlanarMaterial"] = TriPlanarMaterial; + + +/***/ }), + +/***/ "./triPlanar/triplanar.fragment.ts": +/*!*****************************************!*\ + !*** ./triPlanar/triplanar.fragment.ts ***! + \*****************************************/ +/*! exports provided: triplanarPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "triplanarPixelShader", function() { return triplanarPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + +var name = 'triplanarPixelShader'; +var shader = "precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSEX\nvarying vec2 vTextureUVX;\nuniform sampler2D diffuseSamplerX;\n#ifdef BUMPX\nuniform sampler2D normalSamplerX;\n#endif\n#endif\n#ifdef DIFFUSEY\nvarying vec2 vTextureUVY;\nuniform sampler2D diffuseSamplerY;\n#ifdef BUMPY\nuniform sampler2D normalSamplerY;\n#endif\n#endif\n#ifdef DIFFUSEZ\nvarying vec2 vTextureUVZ;\nuniform sampler2D diffuseSamplerZ;\n#ifdef BUMPZ\nuniform sampler2D normalSamplerZ;\n#endif\n#endif\n#ifdef NORMAL\nvarying mat3 tangentSpace;\n#endif\n#include\n#include\n#include\n#include\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(0.,0.,0.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=tangentSpace[2];\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\nvec4 baseNormal=vec4(0.0,0.0,0.0,1.0);\nnormalW*=normalW;\n#ifdef DIFFUSEX\nbaseColor+=texture2D(diffuseSamplerX,vTextureUVX)*normalW.x;\n#ifdef BUMPX\nbaseNormal+=texture2D(normalSamplerX,vTextureUVX)*normalW.x;\n#endif\n#endif\n#ifdef DIFFUSEY\nbaseColor+=texture2D(diffuseSamplerY,vTextureUVY)*normalW.y;\n#ifdef BUMPY\nbaseNormal+=texture2D(normalSamplerY,vTextureUVY)*normalW.y;\n#endif\n#endif\n#ifdef DIFFUSEZ\nbaseColor+=texture2D(diffuseSamplerZ,vTextureUVZ)*normalW.z;\n#ifdef BUMPZ\nbaseNormal+=texture2D(normalSamplerZ,vTextureUVZ)*normalW.z;\n#endif\n#endif\n#ifdef NORMAL\nnormalW=normalize((2.0*baseNormal.xyz-1.0)*tangentSpace);\n#endif\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularBase=vec3(0.,0.,0.);\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include\ngl_FragColor=color;\n#include\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var triplanarPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./triPlanar/triplanar.vertex.ts": +/*!***************************************!*\ + !*** ./triPlanar/triplanar.vertex.ts ***! + \***************************************/ +/*! exports provided: triplanarVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "triplanarVertexShader", function() { return triplanarVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + +var name = 'triplanarVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSEX\nvarying vec2 vTextureUVX;\n#endif\n#ifdef DIFFUSEY\nvarying vec2 vTextureUVY;\n#endif\n#ifdef DIFFUSEZ\nvarying vec2 vTextureUVZ;\n#endif\nuniform float tileSize;\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying mat3 tangentSpace;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void)\n{\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef DIFFUSEX\nvTextureUVX=worldPos.zy/tileSize;\n#endif\n#ifdef DIFFUSEY\nvTextureUVY=worldPos.xz/tileSize;\n#endif\n#ifdef DIFFUSEZ\nvTextureUVZ=worldPos.xy/tileSize;\n#endif\n#ifdef NORMAL\n\nvec3 xtan=vec3(0,0,1);\nvec3 xbin=vec3(0,1,0);\nvec3 ytan=vec3(1,0,0);\nvec3 ybin=vec3(0,0,1);\nvec3 ztan=vec3(1,0,0);\nvec3 zbin=vec3(0,1,0);\nvec3 normalizedNormal=normalize(normal);\nnormalizedNormal*=normalizedNormal;\nvec3 worldBinormal=normalize(xbin*normalizedNormal.x+ybin*normalizedNormal.y+zbin*normalizedNormal.z);\nvec3 worldTangent=normalize(xtan*normalizedNormal.x+ytan*normalizedNormal.y+ztan*normalizedNormal.z);\nworldTangent=(world*vec4(worldTangent,1.0)).xyz;\nworldBinormal=(world*vec4(worldBinormal,1.0)).xyz;\nvec3 worldNormal=(world*vec4(normalize(normal),1.0)).xyz;\ntangentSpace[0]=worldTangent;\ntangentSpace[1]=worldBinormal;\ntangentSpace[2]=worldNormal;\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var triplanarVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./water/index.ts": +/*!************************!*\ + !*** ./water/index.ts ***! + \************************/ +/*! exports provided: WaterMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _waterMaterial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./waterMaterial */ "./water/waterMaterial.ts"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "WaterMaterial", function() { return _waterMaterial__WEBPACK_IMPORTED_MODULE_0__["WaterMaterial"]; }); + + + + +/***/ }), + +/***/ "./water/water.fragment.ts": +/*!*********************************!*\ + !*** ./water/water.fragment.ts ***! + \*********************************/ +/*! exports provided: waterPixelShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "waterPixelShader", function() { return waterPixelShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + + + +var name = 'waterPixelShader'; +var shader = "#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\nprecision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n#include\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n\n#ifdef BUMP\nvarying vec2 vNormalUV;\nvarying vec2 vNormalUV2;\nuniform sampler2D normalSampler;\nuniform vec2 vNormalInfos;\n#endif\nuniform sampler2D refractionSampler;\nuniform sampler2D reflectionSampler;\n\nconst float LOG2=1.442695;\nuniform vec3 cameraPosition;\nuniform vec4 waterColor;\nuniform float colorBlendFactor;\nuniform vec4 waterColor2;\nuniform float colorBlendFactor2;\nuniform float bumpHeight;\nuniform float time;\n\nvarying vec3 vRefractionMapTexCoord;\nvarying vec3 vReflectionMapTexCoord;\nvarying vec3 vPosition;\n#include\n#include\n\n#include\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef BUMP\n#ifdef BUMPSUPERIMPOSE\nbaseColor=0.6*texture2D(normalSampler,vNormalUV)+0.4*texture2D(normalSampler,vec2(vNormalUV2.x,vNormalUV2.y));\n#else\nbaseColor=texture2D(normalSampler,vNormalUV);\n#endif\nvec3 bumpColor=baseColor.rgb;\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\nbaseColor.rgb*=vNormalInfos.y;\n#else\nvec3 bumpColor=vec3(1.0);\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec2 perturbation=bumpHeight*(baseColor.rg-0.5);\n#ifdef BUMPAFFECTSREFLECTION\nvec3 normalW=normalize(vNormalW+vec3(perturbation.x*8.0,0.0,perturbation.y*8.0));\nif (normalW.y<0.0) {\nnormalW.y=-normalW.y;\n}\n#else\nvec3 normalW=normalize(vNormalW);\n#endif\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\nvec2 perturbation=bumpHeight*(vec2(1.0,1.0)-0.5);\n#endif\n#ifdef FRESNELSEPARATE\n#ifdef REFLECTION\n\nvec2 projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation*0.5,0.0,1.0);\nvec4 refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\n#ifdef IS_REFRACTION_LINEAR\nrefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\n#endif\nvec2 projectedReflectionTexCoords=clamp(vec2(\nvReflectionMapTexCoord.x/vReflectionMapTexCoord.z+perturbation.x*0.3,\nvReflectionMapTexCoord.y/vReflectionMapTexCoord.z+perturbation.y\n),0.0,1.0);\nvec4 reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\n#ifdef IS_REFLECTION_LINEAR\nreflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\n#endif\nvec3 upVector=vec3(0.0,1.0,0.0);\nfloat fresnelTerm=clamp(abs(pow(dot(viewDirectionW,upVector),3.0)),0.05,0.65);\nfloat IfresnelTerm=1.0-fresnelTerm;\nrefractiveColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*refractiveColor;\nreflectiveColor=IfresnelTerm*colorBlendFactor2*waterColor+(1.0-colorBlendFactor2*IfresnelTerm)*reflectiveColor;\nvec4 combinedColor=refractiveColor*fresnelTerm+reflectiveColor*IfresnelTerm;\nbaseColor=combinedColor;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularBase=vec3(0.,0.,0.);\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n#include[0..maxSimultaneousLights]\nvec3 finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\n#else\n#ifdef REFLECTION\n\nvec2 projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation,0.0,1.0);\nvec4 refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\n#ifdef IS_REFRACTION_LINEAR\nrefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\n#endif\nvec2 projectedReflectionTexCoords=clamp(vReflectionMapTexCoord.xy/vReflectionMapTexCoord.z+perturbation,0.0,1.0);\nvec4 reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\n#ifdef IS_REFLECTION_LINEAR\nreflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\n#endif\nvec3 upVector=vec3(0.0,1.0,0.0);\nfloat fresnelTerm=max(dot(viewDirectionW,upVector),0.0);\nvec4 combinedColor=refractiveColor*fresnelTerm+reflectiveColor*(1.0-fresnelTerm);\nbaseColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*combinedColor;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularBase=vec3(0.,0.,0.);\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n#include[0..maxSimultaneousLights]\nvec3 finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\n#endif\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include\n#include\n\n\n#ifdef IMAGEPROCESSINGPOSTPROCESS\ncolor.rgb=toLinearSpace(color.rgb);\n#elif defined(IMAGEPROCESSING)\ncolor.rgb=toLinearSpace(color.rgb);\ncolor=applyImageProcessing(color);\n#endif\ngl_FragColor=color;\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var waterPixelShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./water/water.vertex.ts": +/*!*******************************!*\ + !*** ./water/water.vertex.ts ***! + \*******************************/ +/*! exports provided: waterVertexShader */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "waterVertexShader", function() { return waterVertexShader; }); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Materials/effect */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__); + + + + + + + + + + + + + + +var name = 'waterVertexShader'; +var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef BUMP\nvarying vec2 vNormalUV;\n#ifdef BUMPSUPERIMPOSE\nvarying vec2 vNormalUV2;\n#endif\nuniform mat4 normalMatrix;\nuniform vec2 vNormalInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n\nuniform mat4 worldReflectionViewProjection;\nuniform vec2 windDirection;\nuniform float waveLength;\nuniform float time;\nuniform float windForce;\nuniform float waveHeight;\nuniform float waveSpeed;\nuniform float waveCount;\n\nvarying vec3 vPosition;\nvarying vec3 vRefractionMapTexCoord;\nvarying vec3 vReflectionMapTexCoord;\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef BUMP\nif (vNormalInfos.x == 0.)\n{\nvNormalUV=vec2(normalMatrix*vec4((uv*1.0)/waveLength+time*windForce*windDirection,1.0,0.0));\n#ifdef BUMPSUPERIMPOSE\nvNormalUV2=vec2(normalMatrix*vec4((uv*0.721)/waveLength+time*1.2*windForce*windDirection,1.0,0.0));\n#endif\n}\nelse\n{\nvNormalUV=vec2(normalMatrix*vec4((uv2*1.0)/waveLength+time*windForce*windDirection ,1.0,0.0));\n#ifdef BUMPSUPERIMPOSE\nvNormalUV2=vec2(normalMatrix*vec4((uv2*0.721)/waveLength+time*1.2*windForce*windDirection ,1.0,0.0));\n#endif\n}\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\nfloat finalWaveCount=1.0/(waveCount*0.5);\nvec3 p=position;\nfloat newY=(sin(((p.x/finalWaveCount)+time*waveSpeed))*waveHeight*windDirection.x*5.0)\n+(cos(((p.z/finalWaveCount)+time*waveSpeed))*waveHeight*windDirection.y*5.0);\np.y+=abs(newY);\ngl_Position=viewProjection*finalWorld*vec4(p,1.0);\n#ifdef REFLECTION\nworldPos=viewProjection*finalWorld*vec4(p,1.0);\n\nvPosition=position;\nvRefractionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\nvRefractionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\nvRefractionMapTexCoord.z=worldPos.w;\nworldPos=worldReflectionViewProjection*vec4(position,1.0);\nvReflectionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\nvReflectionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\nvReflectionMapTexCoord.z=worldPos.w;\n#endif\n#include\n}\n"; +babylonjs_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader; +/** @hidden */ +var waterVertexShader = { name: name, shader: shader }; + + +/***/ }), + +/***/ "./water/waterMaterial.ts": +/*!********************************!*\ + !*** ./water/waterMaterial.ts ***! + \********************************/ +/*! exports provided: WaterMaterial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "WaterMaterial", function() { return WaterMaterial; }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/decorators"); +/* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _water_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./water.fragment */ "./water/water.fragment.ts"); +/* harmony import */ var _water_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./water.vertex */ "./water/water.vertex.ts"); + + + + + + + + + + + + + + + + + + + + +var WaterMaterialDefines = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(WaterMaterialDefines, _super); + function WaterMaterialDefines() { + var _this = _super.call(this) || this; + _this.BUMP = false; + _this.REFLECTION = false; + _this.CLIPPLANE = false; + _this.CLIPPLANE2 = false; + _this.CLIPPLANE3 = false; + _this.CLIPPLANE4 = false; + _this.CLIPPLANE5 = false; + _this.CLIPPLANE6 = false; + _this.ALPHATEST = false; + _this.DEPTHPREPASS = false; + _this.POINTSIZE = false; + _this.FOG = false; + _this.NORMAL = false; + _this.UV1 = false; + _this.UV2 = false; + _this.VERTEXCOLOR = false; + _this.VERTEXALPHA = false; + _this.NUM_BONE_INFLUENCERS = 0; + _this.BonesPerMesh = 0; + _this.INSTANCES = false; + _this.SPECULARTERM = false; + _this.LOGARITHMICDEPTH = false; + _this.FRESNELSEPARATE = false; + _this.BUMPSUPERIMPOSE = false; + _this.BUMPAFFECTSREFLECTION = false; + _this.IMAGEPROCESSING = false; + _this.VIGNETTE = false; + _this.VIGNETTEBLENDMODEMULTIPLY = false; + _this.VIGNETTEBLENDMODEOPAQUE = false; + _this.TONEMAPPING = false; + _this.TONEMAPPING_ACES = false; + _this.CONTRAST = false; + _this.EXPOSURE = false; + _this.COLORCURVES = false; + _this.COLORGRADING = false; + _this.COLORGRADING3D = false; + _this.SAMPLER3DGREENDEPTH = false; + _this.SAMPLER3DBGRMAP = false; + _this.IMAGEPROCESSINGPOSTPROCESS = false; + _this.rebuild(); + return _this; + } + return WaterMaterialDefines; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialDefines"])); +var WaterMaterial = /** @class */ (function (_super) { + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(WaterMaterial, _super); + /** + * Constructor + */ + function WaterMaterial(name, scene, renderTargetSize) { + if (renderTargetSize === void 0) { renderTargetSize = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector2"](512, 512); } + var _this = _super.call(this, name, scene) || this; + _this.renderTargetSize = renderTargetSize; + _this.diffuseColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](1, 1, 1); + _this.specularColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](0, 0, 0); + _this.specularPower = 64; + _this._disableLighting = false; + _this._maxSimultaneousLights = 4; + /** + * Defines the wind force. + */ + _this.windForce = 6; + /** + * Defines the direction of the wind in the plane (X, Z). + */ + _this.windDirection = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector2"](0, 1); + /** + * Defines the height of the waves. + */ + _this.waveHeight = 0.4; + /** + * Defines the bump height related to the bump map. + */ + _this.bumpHeight = 0.4; + /** + * Defines wether or not: to add a smaller moving bump to less steady waves. + */ + _this._bumpSuperimpose = false; + /** + * Defines wether or not color refraction and reflection differently with .waterColor2 and .colorBlendFactor2. Non-linear (physically correct) fresnel. + */ + _this._fresnelSeparate = false; + /** + * Defines wether or not bump Wwves modify the reflection. + */ + _this._bumpAffectsReflection = false; + /** + * Defines the water color blended with the refraction (near). + */ + _this.waterColor = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](0.1, 0.1, 0.6); + /** + * Defines the blend factor related to the water color. + */ + _this.colorBlendFactor = 0.2; + /** + * Defines the water color blended with the reflection (far). + */ + _this.waterColor2 = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Color3"](0.1, 0.1, 0.6); + /** + * Defines the blend factor related to the water color (reflection, far). + */ + _this.colorBlendFactor2 = 0.2; + /** + * Defines the maximum length of a wave. + */ + _this.waveLength = 0.1; + /** + * Defines the waves speed. + */ + _this.waveSpeed = 1.0; + /** + * Defines the number of times waves are repeated. This is typically used to adjust waves count according to the ground's size where the material is applied on. + */ + _this.waveCount = 20; + /** + * Sets or gets whether or not automatic clipping should be enabled or not. Setting to true will save performances and + * will avoid calculating useless pixels in the pixel shader of the water material. + */ + _this.disableClipPlane = false; + _this._renderTargets = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SmartArray"](16); + /* + * Private members + */ + _this._mesh = null; + _this._reflectionTransform = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Matrix"].Zero(); + _this._lastTime = 0; + _this._lastDeltaTime = 0; + _this._createRenderTargets(scene, renderTargetSize); + // Create render targets + _this.getRenderTargetTextures = function () { + _this._renderTargets.reset(); + _this._renderTargets.push(_this._reflectionRTT); + _this._renderTargets.push(_this._refractionRTT); + return _this._renderTargets; + }; + _this._imageProcessingConfiguration = _this.getScene().imageProcessingConfiguration; + if (_this._imageProcessingConfiguration) { + _this._imageProcessingObserver = _this._imageProcessingConfiguration.onUpdateParameters.add(function () { + _this._markAllSubMeshesAsImageProcessingDirty(); + }); + } + return _this; + } + Object.defineProperty(WaterMaterial.prototype, "hasRenderTargetTextures", { + /** + * Gets a boolean indicating that current material needs to register RTT + */ + get: function () { + return true; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(WaterMaterial.prototype, "useLogarithmicDepth", { + get: function () { + return this._useLogarithmicDepth; + }, + set: function (value) { + this._useLogarithmicDepth = value && this.getScene().getEngine().getCaps().fragmentDepthSupported; + this._markAllSubMeshesAsMiscDirty(); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(WaterMaterial.prototype, "refractionTexture", { + // Get / Set + get: function () { + return this._refractionRTT; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(WaterMaterial.prototype, "reflectionTexture", { + get: function () { + return this._reflectionRTT; + }, + enumerable: false, + configurable: true + }); + // Methods + WaterMaterial.prototype.addToRenderList = function (node) { + if (this._refractionRTT && this._refractionRTT.renderList) { + this._refractionRTT.renderList.push(node); + } + if (this._reflectionRTT && this._reflectionRTT.renderList) { + this._reflectionRTT.renderList.push(node); + } + }; + WaterMaterial.prototype.enableRenderTargets = function (enable) { + var refreshRate = enable ? 1 : 0; + if (this._refractionRTT) { + this._refractionRTT.refreshRate = refreshRate; + } + if (this._reflectionRTT) { + this._reflectionRTT.refreshRate = refreshRate; + } + }; + WaterMaterial.prototype.getRenderList = function () { + return this._refractionRTT ? this._refractionRTT.renderList : []; + }; + Object.defineProperty(WaterMaterial.prototype, "renderTargetsEnabled", { + get: function () { + return !(this._refractionRTT && this._refractionRTT.refreshRate === 0); + }, + enumerable: false, + configurable: true + }); + WaterMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + WaterMaterial.prototype.needAlphaTesting = function () { + return false; + }; + WaterMaterial.prototype.getAlphaTestTexture = function () { + return null; + }; + WaterMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) { + if (this.isFrozen) { + if (subMesh.effect && subMesh.effect._wasPreviouslyReady) { + return true; + } + } + if (!subMesh._materialDefines) { + subMesh._materialDefines = new WaterMaterialDefines(); + } + var defines = subMesh._materialDefines; + var scene = this.getScene(); + if (this._isReadyForSubMesh(subMesh)) { + return true; + } + var engine = scene.getEngine(); + // Textures + if (defines._areTexturesDirty) { + defines._needUVs = false; + if (scene.texturesEnabled) { + if (this.bumpTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].BumpTextureEnabled) { + if (!this.bumpTexture.isReady()) { + return false; + } + else { + defines._needUVs = true; + defines.BUMP = true; + } + } + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].ReflectionTextureEnabled) { + defines.REFLECTION = true; + } + } + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForMisc(mesh, scene, this._useLogarithmicDepth, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines); + if (defines._areMiscDirty) { + if (this._fresnelSeparate) { + defines.FRESNELSEPARATE = true; + } + if (this._bumpSuperimpose) { + defines.BUMPSUPERIMPOSE = true; + } + if (this._bumpAffectsReflection) { + defines.BUMPAFFECTSREFLECTION = true; + } + } + // Lights + defines._needNormals = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForLights(scene, mesh, defines, true, this._maxSimultaneousLights, this._disableLighting); + // Image processing + if (defines._areImageProcessingDirty && this._imageProcessingConfiguration) { + if (!this._imageProcessingConfiguration.isReady()) { + return false; + } + this._imageProcessingConfiguration.prepareDefines(defines); + defines.IS_REFLECTION_LINEAR = (this.reflectionTexture != null && !this.reflectionTexture.gammaSpace); + defines.IS_REFRACTION_LINEAR = (this.refractionTexture != null && !this.refractionTexture.gammaSpace); + } + // Attribs + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareDefinesForAttributes(mesh, defines, true, true); + // Configure this + this._mesh = mesh; + if (this._waitingRenderList) { + for (var i = 0; i < this._waitingRenderList.length; i++) { + this.addToRenderList(scene.getNodeByID(this._waitingRenderList[i])); + } + this._waitingRenderList = null; + } + // Get correct effect + if (defines.isDirty) { + defines.markAsProcessed(); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["EffectFallbacks"](); + if (defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + if (defines.LOGARITHMICDEPTH) { + fallbacks.addFallback(0, "LOGARITHMICDEPTH"); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].HandleFallbacksForShadows(defines, fallbacks, this.maxSimultaneousLights); + if (defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + //Attributes + var attribs = [babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].PositionKind]; + if (defines.NORMAL) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].NormalKind); + } + if (defines.UV1) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UVKind); + } + if (defines.UV2) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].UV2Kind); + } + if (defines.VERTEXCOLOR) { + attribs.push(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["VertexBuffer"].ColorKind); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForBones(attribs, mesh, defines, fallbacks); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareAttributesForInstances(attribs, defines); + // Legacy browser patch + var shaderName = "water"; + var join = defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vDiffuseColor", "vSpecularColor", + "vFogInfos", "vFogColor", "pointSize", + "vNormalInfos", + "mBones", + "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "vClipPlane5", "vClipPlane6", "normalMatrix", + "logarithmicDepthConstant", + // Water + "worldReflectionViewProjection", "windDirection", "waveLength", "time", "windForce", + "cameraPosition", "bumpHeight", "waveHeight", "waterColor", "waterColor2", "colorBlendFactor", "colorBlendFactor2", "waveSpeed", + "waveCount" + ]; + var samplers = ["normalSampler", + // Water + "refractionSampler", "reflectionSampler" + ]; + var uniformBuffers = new Array(); + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["ImageProcessingConfiguration"]) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["ImageProcessingConfiguration"].PrepareUniforms(uniforms, defines); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["ImageProcessingConfiguration"].PrepareSamplers(samplers, defines); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].PrepareUniformsAndSamplersList({ + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: defines, + maxSimultaneousLights: this.maxSimultaneousLights + }); + subMesh.setEffect(scene.getEngine().createEffect(shaderName, { + attributes: attribs, + uniformsNames: uniforms, + uniformBuffersNames: uniformBuffers, + samplers: samplers, + defines: join, + fallbacks: fallbacks, + onCompiled: this.onCompiled, + onError: this.onError, + indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights } + }, engine), defines); + } + if (!subMesh.effect || !subMesh.effect.isReady()) { + return false; + } + defines._renderId = scene.getRenderId(); + subMesh.effect._wasPreviouslyReady = true; + return true; + }; + WaterMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) { + var scene = this.getScene(); + var defines = subMesh._materialDefines; + if (!defines) { + return; + } + var effect = subMesh.effect; + if (!effect || !this._mesh) { + return; + } + this._activeEffect = effect; + // Matrices + this.bindOnlyWorldMatrix(world); + this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindBonesParameters(mesh, this._activeEffect); + if (this._mustRebind(scene, effect)) { + // Textures + if (this.bumpTexture && babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].BumpTextureEnabled) { + this._activeEffect.setTexture("normalSampler", this.bumpTexture); + this._activeEffect.setFloat2("vNormalInfos", this.bumpTexture.coordinatesIndex, this.bumpTexture.level); + this._activeEffect.setMatrix("normalMatrix", this.bumpTexture.getTextureMatrix()); + } + // Clip plane + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindClipPlane(this._activeEffect, scene); + // Point size + if (this.pointsCloud) { + this._activeEffect.setFloat("pointSize", this.pointSize); + } + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindEyePosition(effect, scene); + } + this._activeEffect.setColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility); + if (defines.SPECULARTERM) { + this._activeEffect.setColor4("vSpecularColor", this.specularColor, this.specularPower); + } + if (scene.lightsEnabled && !this.disableLighting) { + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Scene"].FOGMODE_NONE) { + this._activeEffect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindFogParameters(scene, mesh, this._activeEffect); + // Log. depth + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialHelper"].BindLogDepth(defines, this._activeEffect, scene); + // Water + if (babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["MaterialFlags"].ReflectionTextureEnabled) { + this._activeEffect.setTexture("refractionSampler", this._refractionRTT); + this._activeEffect.setTexture("reflectionSampler", this._reflectionRTT); + } + var wrvp = this._mesh.getWorldMatrix().multiply(this._reflectionTransform).multiply(scene.getProjectionMatrix()); + // Add delta time. Prevent adding delta time if it hasn't changed. + var deltaTime = scene.getEngine().getDeltaTime(); + if (deltaTime !== this._lastDeltaTime) { + this._lastDeltaTime = deltaTime; + this._lastTime += this._lastDeltaTime; + } + this._activeEffect.setMatrix("worldReflectionViewProjection", wrvp); + this._activeEffect.setVector2("windDirection", this.windDirection); + this._activeEffect.setFloat("waveLength", this.waveLength); + this._activeEffect.setFloat("time", this._lastTime / 100000); + this._activeEffect.setFloat("windForce", this.windForce); + this._activeEffect.setFloat("waveHeight", this.waveHeight); + this._activeEffect.setFloat("bumpHeight", this.bumpHeight); + this._activeEffect.setColor4("waterColor", this.waterColor, 1.0); + this._activeEffect.setFloat("colorBlendFactor", this.colorBlendFactor); + this._activeEffect.setColor4("waterColor2", this.waterColor2, 1.0); + this._activeEffect.setFloat("colorBlendFactor2", this.colorBlendFactor2); + this._activeEffect.setFloat("waveSpeed", this.waveSpeed); + this._activeEffect.setFloat("waveCount", this.waveCount); + // image processing + if (this._imageProcessingConfiguration && !this._imageProcessingConfiguration.applyByPostProcess) { + this._imageProcessingConfiguration.bind(this._activeEffect); + } + this._afterBind(mesh, this._activeEffect); + }; + WaterMaterial.prototype._createRenderTargets = function (scene, renderTargetSize) { + var _this = this; + // Render targets + this._refractionRTT = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["RenderTargetTexture"](name + "_refraction", { width: renderTargetSize.x, height: renderTargetSize.y }, scene, false, true); + this._refractionRTT.wrapU = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Constants"].TEXTURE_MIRROR_ADDRESSMODE; + this._refractionRTT.wrapV = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Constants"].TEXTURE_MIRROR_ADDRESSMODE; + this._refractionRTT.ignoreCameraViewport = true; + this._reflectionRTT = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["RenderTargetTexture"](name + "_reflection", { width: renderTargetSize.x, height: renderTargetSize.y }, scene, false, true); + this._reflectionRTT.wrapU = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Constants"].TEXTURE_MIRROR_ADDRESSMODE; + this._reflectionRTT.wrapV = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Constants"].TEXTURE_MIRROR_ADDRESSMODE; + this._reflectionRTT.ignoreCameraViewport = true; + var isVisible; + var clipPlane = null; + var savedViewMatrix; + var mirrorMatrix = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Matrix"].Zero(); + this._refractionRTT.onBeforeRender = function () { + if (_this._mesh) { + isVisible = _this._mesh.isVisible; + _this._mesh.isVisible = false; + } + // Clip plane + if (!_this.disableClipPlane) { + clipPlane = scene.clipPlane; + var positiony = _this._mesh ? _this._mesh.position.y : 0.0; + scene.clipPlane = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Plane"].FromPositionAndNormal(new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0, positiony + 0.05, 0), new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0, 1, 0)); + } + }; + this._refractionRTT.onAfterRender = function () { + if (_this._mesh) { + _this._mesh.isVisible = isVisible; + } + // Clip plane + if (!_this.disableClipPlane) { + scene.clipPlane = clipPlane; + } + }; + this._reflectionRTT.onBeforeRender = function () { + if (_this._mesh) { + isVisible = _this._mesh.isVisible; + _this._mesh.isVisible = false; + } + // Clip plane + if (!_this.disableClipPlane) { + clipPlane = scene.clipPlane; + var positiony = _this._mesh ? _this._mesh.position.y : 0.0; + scene.clipPlane = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Plane"].FromPositionAndNormal(new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0, positiony - 0.05, 0), new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0, -1, 0)); + babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Matrix"].ReflectionToRef(scene.clipPlane, mirrorMatrix); + } + // Transform + savedViewMatrix = scene.getViewMatrix(); + mirrorMatrix.multiplyToRef(savedViewMatrix, _this._reflectionTransform); + scene.setTransformMatrix(_this._reflectionTransform, scene.getProjectionMatrix()); + scene.getEngine().cullBackFaces = false; + scene._mirroredCameraPosition = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector3"].TransformCoordinates(scene.activeCamera.position, mirrorMatrix); + }; + this._reflectionRTT.onAfterRender = function () { + if (_this._mesh) { + _this._mesh.isVisible = isVisible; + } + // Clip plane + scene.clipPlane = clipPlane; + // Transform + scene.setTransformMatrix(savedViewMatrix, scene.getProjectionMatrix()); + scene.getEngine().cullBackFaces = true; + scene._mirroredCameraPosition = null; + }; + }; + WaterMaterial.prototype.getAnimatables = function () { + var results = []; + if (this.bumpTexture && this.bumpTexture.animations && this.bumpTexture.animations.length > 0) { + results.push(this.bumpTexture); + } + if (this._reflectionRTT && this._reflectionRTT.animations && this._reflectionRTT.animations.length > 0) { + results.push(this._reflectionRTT); + } + if (this._refractionRTT && this._refractionRTT.animations && this._refractionRTT.animations.length > 0) { + results.push(this._refractionRTT); + } + return results; + }; + WaterMaterial.prototype.getActiveTextures = function () { + var activeTextures = _super.prototype.getActiveTextures.call(this); + if (this._bumpTexture) { + activeTextures.push(this._bumpTexture); + } + return activeTextures; + }; + WaterMaterial.prototype.hasTexture = function (texture) { + if (_super.prototype.hasTexture.call(this, texture)) { + return true; + } + if (this._bumpTexture === texture) { + return true; + } + return false; + }; + WaterMaterial.prototype.dispose = function (forceDisposeEffect) { + if (this.bumpTexture) { + this.bumpTexture.dispose(); + } + var index = this.getScene().customRenderTargets.indexOf(this._refractionRTT); + if (index != -1) { + this.getScene().customRenderTargets.splice(index, 1); + } + index = -1; + index = this.getScene().customRenderTargets.indexOf(this._reflectionRTT); + if (index != -1) { + this.getScene().customRenderTargets.splice(index, 1); + } + if (this._reflectionRTT) { + this._reflectionRTT.dispose(); + } + if (this._refractionRTT) { + this._refractionRTT.dispose(); + } + // Remove image-processing observer + if (this._imageProcessingConfiguration && this._imageProcessingObserver) { + this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver); + } + _super.prototype.dispose.call(this, forceDisposeEffect); + }; + WaterMaterial.prototype.clone = function (name) { + var _this = this; + return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new WaterMaterial(name, _this.getScene()); }, this); + }; + WaterMaterial.prototype.serialize = function () { + var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this); + serializationObject.customType = "BABYLON.WaterMaterial"; + serializationObject.renderList = []; + if (this._refractionRTT && this._refractionRTT.renderList) { + for (var i = 0; i < this._refractionRTT.renderList.length; i++) { + serializationObject.renderList.push(this._refractionRTT.renderList[i].id); + } + } + return serializationObject; + }; + WaterMaterial.prototype.getClassName = function () { + return "WaterMaterial"; + }; + // Statics + WaterMaterial.Parse = function (source, scene, rootUrl) { + var mat = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Parse(function () { return new WaterMaterial(source.name, scene); }, source, scene, rootUrl); + mat._waitingRenderList = source.renderList; + return mat; + }; + WaterMaterial.CreateDefaultMesh = function (name, scene) { + var mesh = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Mesh"].CreateGround(name, 512, 512, 32, scene, false); + return mesh; + }; + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsTexture"])("bumpTexture") + ], WaterMaterial.prototype, "_bumpTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsTexturesDirty") + ], WaterMaterial.prototype, "bumpTexture", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], WaterMaterial.prototype, "diffuseColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], WaterMaterial.prototype, "specularColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "specularPower", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("disableLighting") + ], WaterMaterial.prototype, "_disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], WaterMaterial.prototype, "disableLighting", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("maxSimultaneousLights") + ], WaterMaterial.prototype, "_maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsLightsDirty") + ], WaterMaterial.prototype, "maxSimultaneousLights", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "windForce", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsVector2"])() + ], WaterMaterial.prototype, "windDirection", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "waveHeight", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "bumpHeight", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("bumpSuperimpose") + ], WaterMaterial.prototype, "_bumpSuperimpose", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsMiscDirty") + ], WaterMaterial.prototype, "bumpSuperimpose", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("fresnelSeparate") + ], WaterMaterial.prototype, "_fresnelSeparate", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsMiscDirty") + ], WaterMaterial.prototype, "fresnelSeparate", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])("bumpAffectsReflection") + ], WaterMaterial.prototype, "_bumpAffectsReflection", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["expandToProperty"])("_markAllSubMeshesAsMiscDirty") + ], WaterMaterial.prototype, "bumpAffectsReflection", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], WaterMaterial.prototype, "waterColor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "colorBlendFactor", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serializeAsColor3"])() + ], WaterMaterial.prototype, "waterColor2", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "colorBlendFactor2", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "waveLength", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "waveSpeed", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "waveCount", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "disableClipPlane", void 0); + Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ + Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["serialize"])() + ], WaterMaterial.prototype, "useLogarithmicDepth", null); + return WaterMaterial; +}(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["PushMaterial"])); + +babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["_TypeStore"].RegisteredTypes["BABYLON.WaterMaterial"] = WaterMaterial; + + +/***/ }), + +/***/ "babylonjs/Misc/decorators": +/*!****************************************************************************************************!*\ + !*** external {"root":"BABYLON","commonjs":"babylonjs","commonjs2":"babylonjs","amd":"babylonjs"} ***! + \****************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE_babylonjs_Misc_decorators__; + +/***/ }) + +/******/ }); +}); +//# sourceMappingURL=babylonjs.materials.js.map \ No newline at end of file diff --git a/src/assets/js/serializers/babylonjs.serializers.min.js b/src/assets/js/serializers/babylonjs.serializers.min.js new file mode 100644 index 0000000..57b0f24 --- /dev/null +++ b/src/assets/js/serializers/babylonjs.serializers.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("babylonjs")):"function"==typeof define&&define.amd?define("babylonjs-serializers",["babylonjs"],t):"object"==typeof exports?exports["babylonjs-serializers"]=t(require("babylonjs")):e.SERIALIZERS=t(e.BABYLON)}("undefined"!=typeof self?self:"undefined"!=typeof global?global:this,(function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=16)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(0),a=function(){function e(){}return e._CreateBufferView=function(e,t,r,n,a){var o={buffer:e,byteLength:r};return t&&(o.byteOffset=t),a&&(o.name=a),n&&(o.byteStride=n),o},e._CreateAccessor=function(e,t,r,n,a,o,i,s){var u={name:t,bufferView:e,componentType:n,count:a,type:r};return null!=i&&(u.min=i),null!=s&&(u.max=s),null!=o&&(u.byteOffset=o),u},e._CalculateMinMaxPositions=function(t,r,a,o){var i,s,u,l=[1/0,1/0,1/0],c=[-1/0,-1/0,-1/0];if(a)for(var f=r,h=r+a;fc[p]&&(c[p]=d),++i}}return{min:l,max:c}},e._GetRightHandedPositionVector3=function(e){return new n.Vector3(e.x,e.y,-e.z)},e._GetRightHandedPositionVector3FromRef=function(e){e.z*=-1},e._GetRightHandedPositionArray3FromRef=function(e){e[2]*=-1},e._GetRightHandedNormalVector3=function(e){return new n.Vector3(e.x,e.y,-e.z)},e._GetRightHandedNormalVector3FromRef=function(e){e.z*=-1},e._GetRightHandedNormalArray3FromRef=function(e){e[2]*=-1},e._GetRightHandedVector4FromRef=function(e){e.z*=-1,e.w*=-1},e._GetRightHandedArray4FromRef=function(e){e[2]*=-1,e[3]*=-1},e._GetRightHandedQuaternionFromRef=function(e){e.x*=-1,e.y*=-1},e._GetRightHandedQuaternionArrayFromRef=function(e){e[0]*=-1,e[1]*=-1},e._NormalizeTangentFromRef=function(e){var t=Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z);t>0&&(e.x/=t,e.y/=t,e.z/=t)},e._GetRightHandedMatrixFromRef=function(e){var t=e.m;n.Matrix.FromValuesToRef(t[0],t[1],-t[2],t[3],t[4],t[5],-t[6],t[7],-t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],e)},e._GetDataAccessorElementCount=function(e){switch(e){case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16;case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":return 4}},e}()},function(e,t,r){"use strict";r.d(t,"b",(function(){return u})),r.d(t,"a",(function(){return l}));Object.create;Object.create;var n=r(0),a=r(10),o=r(1),i=r(3),s=r(7),u=function(){function e(e,t){this._includeCoordinateSystemConversionNodes=!1,this._extensions={},this._glTF={asset:{generator:"BabylonJS",version:"2.0"}},this._babylonScene=e,this._bufferViews=[],this._accessors=[],this._meshes=[],this._scenes=[],this._nodes=[],this._images=[],this._materials=[],this._materialMap=[],this._textures=[],this._samplers=[],this._skins=[],this._animations=[],this._imageData={},this._orderedImageData=[],this._options=t||{},this._animationSampleRate=t&&t.animationSampleRate?t.animationSampleRate:1/60,this._includeCoordinateSystemConversionNodes=!(!t||!t.includeCoordinateSystemConversionNodes),this._glTFMaterialExporter=new a.a(this),this._loadExtensions()}return e.prototype._applyExtension=function(e,t,r,n){var a=this;if(r>=t.length)return Promise.resolve(e);var o=n(t[r],e);return o?o.then((function(e){return a._applyExtension(e,t,r+1,n)})):this._applyExtension(e,t,r+1,n)},e.prototype._applyExtensions=function(t,r){for(var n=[],a=0,o=e._ExtensionNames;a=f;--i)o.setUInt32(r[i],a),a+=4;break;case n.Material.TriangleStripDrawMode:e.indexCount>=3&&(o.setUInt32(r[e.indexStart+2],a+4),o.setUInt32(r[e.indexStart+1],a+8))}},e.prototype.reorderVertexAttributeDataBasedOnPrimitiveMode=function(e,t,r,a,o,i,s,u){if(u&&r===n.Material.ClockWiseSideOrientation)switch(t){case n.Material.TriangleFillMode:this.reorderTriangleFillMode(e,t,r,a,o,i,s,u);break;case n.Material.TriangleStripDrawMode:this.reorderTriangleStripDrawMode(e,t,r,a,o,i,s,u);break;case n.Material.TriangleFanDrawMode:this.reorderTriangleFanMode(e,t,r,a,o,i,s,u)}},e.prototype.reorderTriangleFillMode=function(e,t,r,a,o,i,s,u){var l=this.getVertexBufferFromMesh(a,e.getMesh());if(l){var c=l.byteStride/n.VertexBuffer.GetTypeByteLength(l.type);if(e.verticesCount%3!=0)n.Tools.Error("The submesh vertices for the triangle fill mode is not divisible by 3!");else{var f=[],h=0;switch(a){case n.VertexBuffer.PositionKind:case n.VertexBuffer.NormalKind:for(var p=e.verticesStart;p=e.verticesStart;--p)h=p*c,f.push(n.Vector4.FromArray(o,h));break;case n.VertexBuffer.ColorKind:for(p=e.verticesStart+e.verticesCount-1;p>=e.verticesStart;--p)h=p*c,4===l.getSize()?f.push(n.Vector4.FromArray(o,h)):f.push(n.Vector3.FromArray(o,h));break;case n.VertexBuffer.UVKind:case n.VertexBuffer.UV2Kind:for(p=e.verticesStart+e.verticesCount-1;p>=e.verticesStart;--p)h=p*c,f.push(n.Vector2.FromArray(o,h));break;default:n.Tools.Error("Unsupported Vertex Buffer type: "+a)}this.writeVertexAttributeData(f,i+12,a,o,s,u)}else n.Tools.Warn("reorderTriangleStripDrawMode: Vertex buffer kind "+a+" not present!")},e.prototype.reorderTriangleFanMode=function(e,t,r,a,o,i,s,u){var l=this.getVertexBufferFromMesh(a,e.getMesh());if(l){var c=l.byteStride/n.VertexBuffer.GetTypeByteLength(l.type),f=[],h=0;switch(a){case n.VertexBuffer.PositionKind:case n.VertexBuffer.NormalKind:for(var p=e.verticesStart+e.verticesCount-1;p>=e.verticesStart;--p)h=p*c,f.push(n.Vector3.FromArray(o,h));break;case n.VertexBuffer.TangentKind:for(p=e.verticesStart+e.verticesCount-1;p>=e.verticesStart;--p)h=p*c,f.push(n.Vector4.FromArray(o,h));break;case n.VertexBuffer.ColorKind:for(p=e.verticesStart+e.verticesCount-1;p>=e.verticesStart;--p)h=p*c,f.push(n.Vector4.FromArray(o,h)),4===l.getSize()?f.push(n.Vector4.FromArray(o,h)):f.push(n.Vector3.FromArray(o,h));break;case n.VertexBuffer.UVKind:case n.VertexBuffer.UV2Kind:for(p=e.verticesStart+e.verticesCount-1;p>=e.verticesStart;--p)h=p*c,f.push(n.Vector2.FromArray(o,h));break;default:n.Tools.Error("Unsupported Vertex Buffer type: "+a)}this.writeVertexAttributeData(f,i,a,o,s,u)}else n.Tools.Warn("reorderTriangleFanMode: Vertex buffer kind "+a+" not present!")},e.prototype.writeVertexAttributeData=function(e,t,r,a,i,s){for(var u=0,l=e;u0){var k=null!==c.overrideMaterialSideOrientation?c.overrideMaterialSideOrientation:V.sideOrientation;if(k==n.Material.ClockWiseSideOrientation&&this._babylonScene.useRightHandedSystem||k==n.Material.ClockWiseSideOrientation&&a&&c.overrideMaterialSideOrientation!==(null===(i=c.material)||void 0===i?void 0:i.sideOrientation)){var K=null!=h?this._bufferViews[h].byteOffset:null;null==K&&(K=0);var D=null;if(null!=h&&(D=c.getIndices()),D)this.reorderIndicesBasedOnPrimitiveMode(R,p,D,K,r);else for(var U=0,H=f;Un.Epsilon)return!1;return!(e instanceof n.Mesh&&null!==e.geometry||e instanceof n.InstancedMesh&&null!==e.sourceMesh.geometry)&&!this._includeCoordinateSystemConversionNodes}return!1},e.prototype.createSceneAsync=function(e,t){var r,a,o,i=this,s={nodes:[]},u=function(){for(var e=0,t=0,r=arguments.length;t0){i.weights=[];for(var u=0;u-1&&(c[h]=g),f=Math.max(f,h)}for(var m=0;m<=f;++m){var g,_=(g=c[m]).getTransformNode();if(_){var x=g.getInvertedAbsoluteTransform();s._convertToRightHandedSystem&&o.a._GetRightHandedMatrixFromRef(x),u.push(x),i.joints.push(t[_.uniqueId])}}var y=64*u.length,T=r.getByteOffset(),v=o.a._CreateBufferView(0,T,y,64,"InverseBindMatrices - "+n.name);s._bufferViews.push(v);var b=s._bufferViews.length-1,A=o.a._CreateAccessor(b,"InverseBindMatrices - "+n.name,"MAT4",5126,u.length,null,null,null),F=s._accessors.push(A)-1;i.inverseBindMatrices=F,s._skins.push(i),a[n.uniqueId]=s._skins.length-1,u.forEach((function(e){e.m.forEach((function(e){r.setFloat32(e)}))}))},s=this,u=0,l=e.skeletons;uthis._arrayBuffer.byteLength&&this.resizeBuffer(2*this._arrayBuffer.byteLength),this._dataView.setUint8(this._byteOffset,e),this._byteOffset+=1)},e.prototype.setUInt16=function(e,t){null!=t?tthis._arrayBuffer.byteLength&&this.resizeBuffer(2*this._arrayBuffer.byteLength),this._dataView.setUint16(this._byteOffset,e,!0),this._byteOffset+=2)},e.prototype.getUInt32=function(e){if(ethis._byteOffset?n.Tools.Error("BinaryWriter: byteoffset is greater than the current binary buffer length!"):(e.x=this._dataView.getFloat32(t,!0),e.y=this._dataView.getFloat32(t+4,!0),e.z=this._dataView.getFloat32(t+8,!0))},e.prototype.setVector3Float32FromRef=function(e,t){t+8>this._byteOffset?n.Tools.Error("BinaryWriter: byteoffset is greater than the current binary buffer length!"):(this._dataView.setFloat32(t,e.x,!0),this._dataView.setFloat32(t+4,e.y,!0),this._dataView.setFloat32(t+8,e.z,!0))},e.prototype.getVector4Float32FromRef=function(e,t){t+12>this._byteOffset?n.Tools.Error("BinaryWriter: byteoffset is greater than the current binary buffer length!"):(e.x=this._dataView.getFloat32(t,!0),e.y=this._dataView.getFloat32(t+4,!0),e.z=this._dataView.getFloat32(t+8,!0),e.w=this._dataView.getFloat32(t+12,!0))},e.prototype.setVector4Float32FromRef=function(e,t){t+12>this._byteOffset?n.Tools.Error("BinaryWriter: byteoffset is greater than the current binary buffer length!"):(this._dataView.setFloat32(t,e.x,!0),this._dataView.setFloat32(t+4,e.y,!0),this._dataView.setFloat32(t+8,e.z,!0),this._dataView.setFloat32(t+12,e.w,!0))},e.prototype.setFloat32=function(e,t){isNaN(e)&&n.Tools.Error("Invalid data being written!"),null!=t&&(tthis._arrayBuffer.byteLength&&this.resizeBuffer(2*this._arrayBuffer.byteLength),this._dataView.setFloat32(this._byteOffset,e,!0),this._byteOffset+=4},e.prototype.setUInt32=function(e,t){null!=t?tthis._arrayBuffer.byteLength&&this.resizeBuffer(2*this._arrayBuffer.byteLength),this._dataView.setUint32(this._byteOffset,e,!0),this._byteOffset+=4)},e}()},function(e,t,r){"use strict";r.r(t),r.d(t,"GLTFData",(function(){return n}));var n=function(){function e(){this.glTFFiles={}}return e.prototype.downloadFiles=function(){function e(e,t){return-1!==e.indexOf(t,e.length-t.length)}for(var t in this.glTFFiles){var r=document.createElement("a");document.body.appendChild(r),r.setAttribute("type","hidden"),r.download=t;var n=this.glTFFiles[t],a=void 0;e(t,".glb")?a={type:"model/gltf-binary"}:e(t,".bin")?a={type:"application/octet-stream"}:e(t,".gltf")?a={type:"model/gltf+json"}:e(t,".jpeg")?a={type:"image/jpeg"}:e(t,".png")&&(a={type:"image/png"}),r.href=window.URL.createObjectURL(new Blob([n],a)),r.click()}},e}()},function(e,t,r){"use strict";r.r(t),r.d(t,"__IGLTFExporterExtension",(function(){return n}));var n=0},function(e,t,r){"use strict";r.r(t),r.d(t,"OBJExport",(function(){return a}));var n=r(0),a=function(){function e(){}return e.OBJ=function(e,t,r,a){var o=[],i=1;t&&(r||(r="mat"),o.push("mtllib "+r+".mtl"));for(var s=0;s0;)E=A.inputs.shift(),F%m==0&&M.push(E),F++;A.inputs=M}var R=u[n.uniqueId],V=4*A.inputs.length;g=o.a._CreateBufferView(0,l.getByteOffset(),V,void 0,t+" keyframe data view"),c.push(g),A.inputs.forEach((function(e){l.setFloat32(e)})),_=o.a._CreateAccessor(c.length-1,t+" keyframes","SCALAR",5126,A.inputs.length,null,[A.inputsMin],[A.inputsMax]),f.push(_),x=f.length-1,T=A.outputs.length,V=4*o.a._GetDataAccessorElementCount(i)*A.outputs.length,g=o.a._CreateBufferView(0,l.getByteOffset(),V,void 0,t+" data view"),c.push(g),A.outputs.forEach((function(e){e.forEach((function(e){l.setFloat32(e)}))})),_=o.a._CreateAccessor(c.length-1,t+" data",i,5126,T,null,null,null),f.push(_),y=f.length-1,v={interpolation:A.samplerInterpolation,input:x,output:y},r.samplers.push(v),b={sampler:r.samplers.length-1,target:{node:R,path:s}},r.channels.push(b)}},e._CreateBakedAnimation=function(t,r,n,o,i,s,u,l,c,f,h,p){var d,m,g=a.Quaternion.Identity(),_=null,x=null,y=null,T=null,v=null,b=null;f.min=a.Tools.FloatRound(o/s);for(var A=r.getKeys(),F=0,E=A.length;F-1&&(this._textureInfos[n]=t)},e.prototype.postExportMaterialAdditionalTextures=function(e,t,r){return r instanceof n.PBRMaterial&&r.sheen.isEnabled&&r.sheen.texture?(this._exportedTextures.push(r.sheen.texture),[r.sheen.texture]):[]},e.prototype.postExportMaterialAsync=function(e,t,r){var a=this;return new Promise((function(e,o){var i;if(r instanceof n.PBRMaterial){if(!r.sheen.isEnabled)return void e(t);a._wasUsed=!0,null==t.extensions&&(t.extensions={});var s={sheenColorFactor:r.sheen.color.asArray(),sheenRoughnessFactor:null!==(i=r.sheen.roughness)&&void 0!==i?i:0};if(r.sheen.texture)(u=a._getTextureIndex(r.sheen.texture))>-1&&(s.sheenColorTexture=a._textureInfos[u]);if(r.sheen.textureRoughness&&!r.sheen.useRoughnessFromMainTexture)(u=a._getTextureIndex(r.sheen.textureRoughness))>-1&&(s.sheenRoughnessTexture=a._textureInfos[u]);else if(r.sheen.texture&&r.sheen.useRoughnessFromMainTexture){var u;(u=a._getTextureIndex(r.sheen.texture))>-1&&(s.sheenRoughnessTexture=a._textureInfos[u])}t.extensions.KHR_materials_sheen=s}e(t)}))},e}();a.b.RegisterExtension("KHR_materials_sheen",(function(e){return new c(e)}));var f=function(){function e(e){this.name="KHR_materials_unlit",this.enabled=!0,this.required=!1,this._wasUsed=!1}return Object.defineProperty(e.prototype,"wasUsed",{get:function(){return this._wasUsed},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){},e.prototype.postExportMaterialAsync=function(e,t,r){var a=this;return new Promise((function(e,o){var i=!1;r instanceof n.PBRMaterial?i=r.unlit:r instanceof n.StandardMaterial&&(i=r.disableLighting),i&&(a._wasUsed=!0,null==t.extensions&&(t.extensions={}),t.extensions.KHR_materials_unlit={}),e(t)}))},e}();a.b.RegisterExtension("KHR_materials_unlit",(function(e){return new f(e)}))},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(0),a=function(){function e(e){this._textureMap={},this._textureMap={},this._exporter=e}return e.FuzzyEquals=function(e,t,r){return n.Scalar.WithinEpsilon(e.r,t.r,r)&&n.Scalar.WithinEpsilon(e.g,t.g,r)&&n.Scalar.WithinEpsilon(e.b,t.b,r)},e.prototype._convertMaterialsToGLTFAsync=function(e,t,r){for(var a=[],o=0,i=e;os.width?(o=t&&t instanceof n.Texture?n.TextureTools.CreateResizedCopy(t,i.width,i.height,!0):this._createWhiteTexture(i.width,i.height,r),a=e):(a=e,o=t),{texture1:a,texture2:o}},e.prototype._convertPixelArrayToFloat32=function(e){if(e instanceof Uint8Array){for(var t=e.length,r=new Float32Array(e.length),n=0;ne._Epsilon?R.baseColor.r:1,x[S+1]/=R.baseColor.g>e._Epsilon?R.baseColor.g:1,x[S+2]/=R.baseColor.b>e._Epsilon?R.baseColor.b:1;var C=n.Color3.FromInts(x[S],x[S+1],x[S+2]).toGammaSpace();x[S]=255*C.r,x[S+1]=255*C.g,x[S+2]=255*C.b,e.FuzzyEquals(C,n.Color3.White(),e._Epsilon)||(w=!0),_[S+1]/=R.roughness>e._Epsilon?R.roughness:1,_[S+2]/=R.metallic>e._Epsilon?R.metallic:1;var B=n.Color3.FromInts(255,_[S+1],_[S+2]);e.FuzzyEquals(B,n.Color3.White(),e._Epsilon)||(V=!0)}if(V){var I=this._createBase64FromCanvasAsync(_,h,p,o).then((function(e){R.metallicRoughnessTextureBase64=e}));i.push(I)}if(w){I=this._createBase64FromCanvasAsync(x,h,p,o).then((function(e){R.baseColorTextureBase64=e}));i.push(I)}return Promise.all(i).then((function(){return R}))}return Promise.reject("_ConvertSpecularGlossinessTexturesToMetallicRoughness: Scene from textures is missing!")},e.prototype._convertSpecularGlossinessToMetallicRoughness=function(t){var r=this._getPerceivedBrightness(t.diffuseColor),a=this._getPerceivedBrightness(t.specularColor),o=1-this._getMaxComponent(t.specularColor),i=e._SolveMetallic(r,a,o),s=t.diffuseColor.scale(o/(1-e._DielectricSpecular.r)/Math.max(1-i,e._Epsilon)),u=t.specularColor.subtract(e._DielectricSpecular.scale(1-i)).scale(1/Math.max(i,e._Epsilon)),l=n.Color3.Lerp(s,u,i*i);return{baseColor:l=l.clampToRef(0,1,l),metallic:i,roughness:1-t.glossiness}},e.prototype._getPerceivedBrightness=function(e){return e?Math.sqrt(.299*e.r*e.r+.587*e.g*e.g+.114*e.b*e.b):0},e.prototype._getMaxComponent=function(e){return e?Math.max(e.r,Math.max(e.g,e.b)):0},e.prototype._convertMetalRoughFactorsToMetallicRoughnessAsync=function(e,t,r,n){var a=[],o={baseColor:e.albedoColor,metallic:e.metallic,roughness:e.roughness};return n&&(e.albedoTexture&&a.push(this._exportTextureAsync(e.albedoTexture,t).then((function(e){e&&(r.baseColorTexture=e)}))),e.metallicTexture&&a.push(this._exportTextureAsync(e.metallicTexture,t).then((function(e){e&&(r.metallicRoughnessTexture=e)})))),Promise.all(a).then((function(){return o}))},e.prototype._getGLTFTextureSampler=function(e){var t=this._getGLTFTextureWrapModesSampler(e),r=e instanceof n.Texture?e.samplingMode:null;if(null!=r)switch(r){case n.Texture.LINEAR_LINEAR:t.magFilter=9729,t.minFilter=9729;break;case n.Texture.LINEAR_NEAREST:t.magFilter=9729,t.minFilter=9728;break;case n.Texture.NEAREST_LINEAR:t.magFilter=9728,t.minFilter=9729;break;case n.Texture.NEAREST_LINEAR_MIPLINEAR:t.magFilter=9728,t.minFilter=9987;break;case n.Texture.NEAREST_NEAREST:t.magFilter=9728,t.minFilter=9728;break;case n.Texture.NEAREST_LINEAR_MIPNEAREST:t.magFilter=9728,t.minFilter=9985;break;case n.Texture.LINEAR_NEAREST_MIPNEAREST:t.magFilter=9729,t.minFilter=9984;break;case n.Texture.LINEAR_NEAREST_MIPLINEAR:t.magFilter=9729,t.minFilter=9986;break;case n.Texture.NEAREST_NEAREST_MIPLINEAR:t.magFilter=9728,t.minFilter=9986;break;case n.Texture.LINEAR_LINEAR_MIPLINEAR:t.magFilter=9729,t.minFilter=9987;break;case n.Texture.LINEAR_LINEAR_MIPNEAREST:t.magFilter=9729,t.minFilter=9985;break;case n.Texture.NEAREST_NEAREST_MIPNEAREST:t.magFilter=9728,t.minFilter=9984}return t},e.prototype._getGLTFTextureWrapMode=function(e){switch(e){case n.Texture.WRAP_ADDRESSMODE:return 10497;case n.Texture.CLAMP_ADDRESSMODE:return 33071;case n.Texture.MIRROR_ADDRESSMODE:return 33648;default:return n.Tools.Error("Unsupported Texture Wrap Mode "+e+"!"),10497}},e.prototype._getGLTFTextureWrapModesSampler=function(e){var t=this._getGLTFTextureWrapMode(e instanceof n.Texture?e.wrapU:n.Texture.WRAP_ADDRESSMODE),r=this._getGLTFTextureWrapMode(e instanceof n.Texture?e.wrapV:n.Texture.WRAP_ADDRESSMODE);return 10497===t&&10497===r?{}:{wrapS:t,wrapT:r}},e.prototype._convertSpecGlossFactorsToMetallicRoughnessAsync=function(e,t,r,a){var o=this;return Promise.resolve().then((function(){var i=o._exporter._samplers,s=o._exporter._textures,u={diffuseColor:e.albedoColor||n.Color3.White(),specularColor:e.reflectivityColor||n.Color3.White(),glossiness:e.microSurface||1},l=null,c=o._getGLTFTextureSampler(e.albedoTexture);return null!=c.magFilter&&null!=c.minFilter&&null!=c.wrapS&&null!=c.wrapT&&(i.push(c),l=i.length-1),e.reflectivityTexture&&!e.useMicroSurfaceFromReflectivityMapAlpha?Promise.reject("_ConvertPBRMaterial: Glossiness values not included in the reflectivity texture are currently not supported"):(e.albedoTexture||e.reflectivityTexture)&&a?o._convertSpecularGlossinessTexturesToMetallicRoughnessAsync(e.albedoTexture,e.reflectivityTexture,u,t).then((function(n){if(n.baseColorTextureBase64){var a=o._getTextureInfoFromBase64(n.baseColorTextureBase64,"bjsBaseColorTexture_"+s.length+".png",t,e.albedoTexture?e.albedoTexture.coordinatesIndex:null,l);a&&(r.baseColorTexture=a)}if(n.metallicRoughnessTextureBase64){var i=o._getTextureInfoFromBase64(n.metallicRoughnessTextureBase64,"bjsMetallicRoughnessTexture_"+s.length+".png",t,e.reflectivityTexture?e.reflectivityTexture.coordinatesIndex:null,l);i&&(r.metallicRoughnessTexture=i)}return n})):o._convertSpecularGlossinessToMetallicRoughness(u)}))},e.prototype._convertPBRMaterialAsync=function(e,t,r){var n=this,a={},o={name:e.name};return e.isMetallicWorkflow()?(e.albedoColor&&(a.baseColorFactor=[e.albedoColor.r,e.albedoColor.g,e.albedoColor.b,e.alpha]),this._convertMetalRoughFactorsToMetallicRoughnessAsync(e,t,a,r).then((function(i){return n.setMetallicRoughnessPbrMaterial(i,e,o,a,t,r)}))):this._convertSpecGlossFactorsToMetallicRoughnessAsync(e,t,a,r).then((function(i){return n.setMetallicRoughnessPbrMaterial(i,e,o,a,t,r)}))},e.prototype.setMetallicRoughnessPbrMaterial=function(t,r,a,o,i,s){var u=this._exporter._materialMap,l=this._exporter._materials,c=[];if(t){if(e._SetAlphaMode(a,r),e.FuzzyEquals(t.baseColor,n.Color3.White(),e._Epsilon)&&r.alpha>=e._Epsilon||(o.baseColorFactor=[t.baseColor.r,t.baseColor.g,t.baseColor.b,r.alpha]),null!=t.metallic&&1!==t.metallic&&(o.metallicFactor=t.metallic),null!=t.roughness&&1!==t.roughness&&(o.roughnessFactor=t.roughness),null==r.backFaceCulling||r.backFaceCulling||(r.twoSidedLighting||n.Tools.Warn(r.name+": Back-face culling enabled and two-sided lighting disabled is not supported in glTF."),a.doubleSided=!0),s){if(r.bumpTexture){var f=this._exportTextureAsync(r.bumpTexture,i).then((function(e){e&&(a.normalTexture=e,1!==r.bumpTexture.level&&(a.normalTexture.scale=r.bumpTexture.level))}));c.push(f)}if(r.ambientTexture){f=this._exportTextureAsync(r.ambientTexture,i).then((function(e){if(e){var t={index:e.index,texCoord:e.texCoord};a.occlusionTexture=t,r.ambientTextureStrength&&(t.strength=r.ambientTextureStrength)}}));c.push(f)}if(r.emissiveTexture){f=this._exportTextureAsync(r.emissiveTexture,i).then((function(e){e&&(a.emissiveTexture=e)}));c.push(f)}}e.FuzzyEquals(r.emissiveColor,n.Color3.Black(),e._Epsilon)||(a.emissiveFactor=r.emissiveColor.asArray()),a.pbrMetallicRoughness=o,l.push(a),u[r.uniqueId]=l.length-1}return this._finishMaterial(c,a,r,i)},e.prototype.getPixelsFromTexture=function(e){return e.textureType,n.Constants.TEXTURETYPE_UNSIGNED_INT,e.readPixels()},e.prototype._exportTextureAsync=function(e,t){var r=this,n=this._exporter._extensionsPreExportTextureAsync("exporter",e,t);return n?n.then((function(n){return n?r._exportTextureInfoAsync(n,t):r._exportTextureInfoAsync(e,t)})):this._exportTextureInfoAsync(e,t)},e.prototype._exportTextureInfoAsync=function(e,t){var r=this;return Promise.resolve().then((function(){var n=e.uid;if(n in r._textureMap)return r._textureMap[n];var a=r.getPixelsFromTexture(e);if(!a)return null;for(var o=r._exporter._samplers,i=r._getGLTFTextureSampler(e),s=null,u=null,l=0;l-1||(l.GLTF2.Exporter[f]=s[f])}}.call(this,r(11))},function(e,t,r){"use strict";r.r(t),function(e){var n=r(5);r.d(t,"OBJExport",(function(){return n.OBJExport}));var a=void 0!==e?e:"undefined"!=typeof window?window:void 0;if(void 0!==a)for(var o in n)a.BABYLON[o]=n[o]}.call(this,r(11))},function(e,t,r){"use strict";(function(e){var n=r(12);r.d(t,"a",(function(){return n.STLExport}));var a=void 0!==e?e:"undefined"!=typeof window?window:void 0;if(void 0!==a)for(var o in n)a.BABYLON[o]=n[o]}).call(this,r(11))},function(e,t,r){"use strict";r.r(t),r.d(t,"__IGLTFExporterExtension",(function(){return n.__IGLTFExporterExtension})),r.d(t,"_GLTFAnimation",(function(){return n._GLTFAnimation})),r.d(t,"GLTFData",(function(){return n.GLTFData})),r.d(t,"_Exporter",(function(){return n._Exporter})),r.d(t,"_BinaryWriter",(function(){return n._BinaryWriter})),r.d(t,"__IGLTFExporterExtensionV2",(function(){return n.__IGLTFExporterExtensionV2})),r.d(t,"_GLTFMaterialExporter",(function(){return n._GLTFMaterialExporter})),r.d(t,"GLTF2Export",(function(){return n.GLTF2Export})),r.d(t,"_GLTFUtilities",(function(){return n._GLTFUtilities})),r.d(t,"KHR_texture_transform",(function(){return n.KHR_texture_transform})),r.d(t,"KHR_lights_punctual",(function(){return n.KHR_lights_punctual})),r.d(t,"KHR_materials_sheen",(function(){return n.KHR_materials_sheen})),r.d(t,"KHR_materials_unlit",(function(){return n.KHR_materials_unlit})),r.d(t,"OBJExport",(function(){return a.OBJExport})),r.d(t,"STLExport",(function(){return o.a}));r(5),r(4),r(6),r(12);var n=r(13),a=r(14),o=r(15)}])})); \ No newline at end of file diff --git a/src/assets/js/zstddec.wasm b/src/assets/js/zstddec.wasm new file mode 100644 index 0000000000000000000000000000000000000000..181bd3d277ecbbf27cede2a8683c4405c264e33b GIT binary patch literal 29232 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 S#Q-8|>B19rnLb;+`Tqe