mirror of
https://github.com/troisjs/trois.git
synced 2024-11-24 04:12:02 +08:00
1 line
48 KiB
Plaintext
1 line
48 KiB
Plaintext
{"version":3,"file":"trois.module.js","sources":["../src/core/useThree.js","../src/core/Renderer.js","../src/tools.js","../src/core/PerspectiveCamera.js","../src/core/Scene.js","../src/geometries/Geometry.js","../src/geometries/BoxGeometry.js","../src/geometries/SphereGeometry.js","../src/lights/Light.js","../src/lights/AmbientLight.js","../src/lights/PointLight.js","../src/lights/SpotLight.js","../src/materials/Material.js","../src/materials/BasicMaterial.js","../src/materials/LambertMaterial.js","../src/materials/PhongMaterial.js","../src/materials/PhysicalMaterial.js","../src/materials/StandardMaterial.js","../src/meshes/Mesh.js","../src/meshes/Box.js","../src/meshes/Plane.js","../src/meshes/Sphere.js","../src/meshes/InstancedMesh.js","../src/effects/EffectComposer.js","../src/effects/EffectPass.js","../src/effects/RenderPass.js","../src/effects/BokehPass.js","../src/effects/UnrealBloomPass.js"],"sourcesContent":["import {\r\n Plane,\r\n Raycaster,\r\n Vector2,\r\n Vector3,\r\n WebGLRenderer,\r\n} from 'three';\r\n\r\nimport { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';\r\n\r\n/**\r\n * Three.js helper\r\n */\r\nexport default function useThree() {\r\n // default conf\r\n const conf = {\r\n canvas: null,\r\n antialias: true,\r\n alpha: false,\r\n orbit_ctrl: false,\r\n mouse_move: false,\r\n mouse_raycast: false,\r\n resize: 'window',\r\n width: 0,\r\n height: 0,\r\n };\r\n\r\n // size\r\n const size = {\r\n width: 0, height: 0,\r\n wWidth: 0, wHeight: 0,\r\n ratio: 0,\r\n };\r\n\r\n // handlers\r\n const afterInitHandlers = [];\r\n const afterResizeHandlers = [];\r\n const beforeRenderHandlers = [];\r\n\r\n // mouse tracking\r\n const mouse = new Vector2();\r\n const mouseV3 = new Vector3();\r\n const mousePlane = new Plane(new Vector3(0, 0, 1), 0);\r\n const raycaster = new Raycaster();\r\n\r\n // returned object\r\n const obj = {\r\n conf,\r\n renderer: null,\r\n camera: null,\r\n cameraCtrl: null,\r\n materials: {},\r\n scene: null,\r\n size,\r\n mouse, mouseV3,\r\n init,\r\n dispose,\r\n render,\r\n renderC,\r\n setSize,\r\n onAfterInit,\r\n onAfterResize,\r\n onBeforeRender,\r\n };\r\n\r\n /**\r\n * init three\r\n */\r\n function init(params) {\r\n if (params) {\r\n for (const [key, value] of Object.entries(params)) {\r\n conf[key] = value;\r\n }\r\n }\r\n\r\n if (!obj.scene) {\r\n console.error('Missing Scene');\r\n return;\r\n }\r\n\r\n if (!obj.camera) {\r\n console.error('Missing Camera');\r\n return;\r\n }\r\n\r\n obj.renderer = new WebGLRenderer({ canvas: conf.canvas, antialias: conf.antialias, alpha: conf.alpha });\r\n\r\n if (conf.orbit_ctrl) {\r\n obj.orbitCtrl = new OrbitControls(obj.camera, obj.renderer.domElement);\r\n if (conf.orbit_ctrl instanceof Object) {\r\n for (const [key, value] of Object.entries(conf.orbit_ctrl)) {\r\n obj.orbitCtrl[key] = value;\r\n }\r\n }\r\n }\r\n\r\n if (conf.width && conf.height) {\r\n setSize(conf.width, conf.height);\r\n } else if (conf.resize) {\r\n onResize();\r\n window.addEventListener('resize', onResize);\r\n }\r\n\r\n if (conf.mouse_move) {\r\n if (conf.mouse_move === 'body') {\r\n obj.mouse_move_element = document.body;\r\n } else {\r\n obj.mouse_move_element = obj.renderer.domElement;\r\n }\r\n obj.mouse_move_element.addEventListener('mousemove', onMousemove);\r\n obj.mouse_move_element.addEventListener('mouseleave', onMouseleave);\r\n }\r\n\r\n afterInitHandlers.forEach(c => c());\r\n\r\n return true;\r\n };\r\n\r\n /**\r\n * add after init handler\r\n */\r\n function onAfterInit(callback) {\r\n afterInitHandlers.push(callback);\r\n }\r\n\r\n /**\r\n * add after resize handler\r\n */\r\n function onAfterResize(callback) {\r\n afterResizeHandlers.push(callback);\r\n }\r\n\r\n /**\r\n * add before render handler\r\n */\r\n function onBeforeRender(callback) {\r\n beforeRenderHandlers.push(callback);\r\n }\r\n\r\n /**\r\n * default render\r\n */\r\n function render() {\r\n if (obj.orbitCtrl) obj.orbitCtrl.update();\r\n beforeRenderHandlers.forEach(c => c());\r\n obj.renderer.render(obj.scene, obj.camera);\r\n }\r\n\r\n /**\r\n * composer render\r\n */\r\n function renderC() {\r\n if (obj.orbitCtrl) obj.orbitCtrl.update();\r\n beforeRenderHandlers.forEach(c => c());\r\n obj.composer.render();\r\n }\r\n\r\n /**\r\n * remove listeners\r\n */\r\n function dispose() {\r\n window.removeEventListener('resize', onResize);\r\n if (obj.mouse_move_element) {\r\n obj.mouse_move_element.removeEventListener('mousemove', onMousemove);\r\n obj.mouse_move_element.removeEventListener('mouseleave', onMouseleave); \r\n }\r\n }\r\n\r\n /**\r\n * mousemove listener\r\n */\r\n function onMousemove(e) {\r\n mouse.x = (e.clientX / size.width) * 2 - 1;\r\n mouse.y = -(e.clientY / size.height) * 2 + 1;\r\n updateMouseV3();\r\n }\r\n\r\n /**\r\n * mouseleave listener\r\n */\r\n function onMouseleave(e) {\r\n mouse.x = 0;\r\n mouse.y = 0;\r\n updateMouseV3();\r\n }\r\n\r\n /**\r\n * get 3d mouse position\r\n */\r\n function updateMouseV3() {\r\n if (conf.mouse_raycast) {\r\n obj.camera.getWorldDirection(mousePlane.normal);\r\n mousePlane.normal.normalize();\r\n raycaster.setFromCamera(mouse, obj.camera);\r\n raycaster.ray.intersectPlane(mousePlane, mouseV3);\r\n }\r\n }\r\n\r\n /**\r\n * resize listener\r\n */\r\n function onResize() {\r\n if (conf.resize === 'window') {\r\n setSize(window.innerWidth, window.innerHeight);\r\n } else {\r\n setSize(conf.resize.clientWidth, conf.resize.clientHeight);\r\n }\r\n afterResizeHandlers.forEach(c => c());\r\n }\r\n\r\n /**\r\n * update renderer size and camera\r\n */\r\n function setSize(width, height) {\r\n size.width = width;\r\n size.height = height;\r\n size.ratio = width / height;\r\n\r\n obj.renderer.setSize(width, height, false);\r\n obj.camera.aspect = size.ratio;\r\n obj.camera.updateProjectionMatrix();\r\n\r\n if (obj.composer) {\r\n obj.composer.setSize(width, height);\r\n }\r\n\r\n const wsize = getCameraSize();\r\n size.wWidth = wsize[0]; size.wHeight = wsize[1];\r\n }\r\n\r\n /**\r\n * calculate camera visible area size\r\n */\r\n function getCameraSize() {\r\n const vFOV = (obj.camera.fov * Math.PI) / 180;\r\n const h = 2 * Math.tan(vFOV / 2) * Math.abs(obj.camera.position.z);\r\n const w = h * obj.camera.aspect;\r\n return [w, h];\r\n }\r\n\r\n return obj;\r\n}\r\n","import { h } from 'vue';\r\nimport useThree from './useThree';\r\n\r\nexport default {\r\n props: {\r\n antialias: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n alpha: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n shadow: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n orbitCtrl: {\r\n type: [Boolean, Object],\r\n default: false,\r\n },\r\n mouseMove: {\r\n type: [Boolean, String],\r\n default: false,\r\n },\r\n mouseRaycast: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n resize: {\r\n type: [Boolean, String, Element],\r\n default: 'window',\r\n },\r\n width: String,\r\n height: String,\r\n },\r\n setup(props) {\r\n return {\r\n three: useThree(),\r\n raf: true,\r\n };\r\n },\r\n provide() {\r\n return {\r\n three: this.three,\r\n };\r\n },\r\n mounted() {\r\n const params = {\r\n canvas: this.$refs.canvas,\r\n antialias: this.antialias,\r\n alpha: this.alpha,\r\n orbit_ctrl: this.orbitCtrl,\r\n mouse_move: this.mouseMove,\r\n mouse_raycast: this.mouseRaycast,\r\n resize: this.resize,\r\n width: this.width,\r\n height: this.height,\r\n };\r\n\r\n if (this.three.init(params)) {\r\n this.three.renderer.shadowMap.enabled = this.shadow;\r\n if (this.three.composer) this.animateC();\r\n else this.animate();\r\n };\r\n },\r\n beforeUnmount() {\r\n this.raf = false;\r\n this.three.dispose();\r\n },\r\n methods: {\r\n onBeforeRender(callback) {\r\n this.three.onBeforeRender(callback);\r\n },\r\n onAfterResize(callback) {\r\n this.three.onAfterResize(callback);\r\n },\r\n animate() {\r\n if (this.raf) requestAnimationFrame(this.animate);\r\n this.three.render();\r\n },\r\n animateC() {\r\n if (this.raf) requestAnimationFrame(this.animateC);\r\n this.three.renderC();\r\n },\r\n },\r\n render() {\r\n return h(\r\n 'canvas',\r\n { ref: 'canvas' },\r\n this.$slots.default()\r\n );\r\n },\r\n};\r\n","export function setFromProp(o, prop) {\r\n if (prop instanceof Object) {\r\n for (const [key, value] of Object.entries(prop)) {\r\n o[key] = value;\r\n }\r\n }\r\n};\r\n\r\nexport function lerp(value1, value2, amount) {\r\n amount = amount < 0 ? 0 : amount;\r\n amount = amount > 1 ? 1 : amount;\r\n return value1 + (value2 - value1) * amount;\r\n};\r\n\r\nexport function lerpv3(v1, v2, amount) {\r\n v1.x = lerp(v1.x, v2.x, amount);\r\n v1.y = lerp(v1.y, v2.y, amount);\r\n v1.z = lerp(v1.z, v2.z, amount);\r\n};\r\n","import { PerspectiveCamera } from 'three';\r\nimport { setFromProp } from '../tools.js';\r\n\r\nexport default {\r\n inject: ['three'],\r\n props: {\r\n fov: {\r\n type: Number,\r\n default: 50,\r\n },\r\n position: Object,\r\n },\r\n created() {\r\n const camera = new PerspectiveCamera(this.fov);\r\n setFromProp(camera.position, this.position);\r\n this.three.camera = camera;\r\n },\r\n render() {\r\n return [];\r\n },\r\n};\r\n","import { Scene, Color } from 'three';\r\n\r\nexport default {\r\n inject: ['three'],\r\n props: {\r\n id: String,\r\n background: [String, Number],\r\n },\r\n setup (props) {\r\n const scene = new Scene();\r\n if (props.background) scene.background = new Color(props.background);\r\n return { scene };\r\n },\r\n provide() {\r\n return {\r\n scene: this.scene,\r\n };\r\n },\r\n mounted() {\r\n if (!this.three.scene) {\r\n this.three.scene = this.scene;\r\n }\r\n },\r\n render() {\r\n if (this.$slots.default) {\r\n return this.$slots.default();\r\n }\r\n return [];\r\n },\r\n};\r\n","export default {\r\n inject: ['parent'],\r\n beforeMount() {\r\n if (!this.parent) {\r\n console.error('Missing parent Mesh');\r\n }\r\n },\r\n unmounted() {\r\n this.parent.geometry.dispose();\r\n },\r\n render() {\r\n return [];\r\n },\r\n};\r\n","import { BoxBufferGeometry } from 'three';\r\nimport Geometry from './Geometry.js';\r\n\r\nexport default {\r\n extends: Geometry,\r\n props: {\r\n size: {\r\n type: Number,\r\n },\r\n width: {\r\n type: Number,\r\n default: 1,\r\n },\r\n height: {\r\n type: Number,\r\n default: 1,\r\n },\r\n depth: {\r\n type: Number,\r\n default: 1,\r\n },\r\n },\r\n mounted() {\r\n if (this.size) {\r\n this.parent.geometry = new BoxBufferGeometry(this.size, this.size, this.size);\r\n } else {\r\n this.parent.geometry = new BoxBufferGeometry(this.width, this.height, this.depth);\r\n }\r\n },\r\n};\r\n","import { SphereBufferGeometry } from 'three';\r\nimport Geometry from './Geometry.js';\r\n\r\nexport default {\r\n extends: Geometry,\r\n props: {\r\n radius: Number,\r\n widthSegments: {\r\n type: Number,\r\n default: 12,\r\n },\r\n heightSegments: {\r\n type: Number,\r\n default: 12,\r\n },\r\n },\r\n mounted() {\r\n this.parent.geometry = new SphereBufferGeometry(this.radius, this.widthSegments, this.heightSegments);\r\n },\r\n};\r\n","import { setFromProp } from '../tools.js';\r\n\r\nexport default {\r\n inject: ['scene'],\r\n props: {\r\n color: {\r\n type: String,\r\n default: '#ffffff',\r\n },\r\n intensity: {\r\n type: Number,\r\n default: 1,\r\n },\r\n castShadow: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n shadowMapSize: Object,\r\n position: Object,\r\n },\r\n mounted() {\r\n setFromProp(this.light.position, this.position);\r\n\r\n if (this.light.shadow) {\r\n this.light.castShadow = this.castShadow;\r\n setFromProp(this.light.shadow.mapSize, this.shadowMapSize);\r\n }\r\n\r\n this.scene.add(this.light);\r\n if (this.light.target) this.scene.add(this.light.target);\r\n },\r\n render() {\r\n return [];\r\n },\r\n};\r\n","import { AmbientLight } from 'three';\r\nimport Light from './Light.js';\r\n\r\nexport default {\r\n extends: Light,\r\n created() {\r\n this.light = new AmbientLight(this.color, this.intensity);\r\n },\r\n};\r\n","import { PointLight } from 'three';\r\nimport Light from './Light.js';\r\n\r\nexport default {\r\n extends: Light,\r\n props: {\r\n distance: {\r\n type: Number,\r\n default: 0,\r\n },\r\n decay: {\r\n type: Number,\r\n default: 1,\r\n },\r\n },\r\n created() {\r\n this.light = new PointLight(this.color, this.intensity, this.distance, this.decay);\r\n },\r\n};\r\n","import { SpotLight } from 'three';\r\nimport Light from './Light.js';\r\n\r\nexport default {\r\n extends: Light,\r\n props: {\r\n distance: {\r\n type: Number,\r\n default: 0,\r\n },\r\n angle: {\r\n type: Number,\r\n default: Math.PI / 3,\r\n },\r\n penumbra: {\r\n type: Number,\r\n default: 0,\r\n },\r\n decay: {\r\n type: Number,\r\n default: 1,\r\n },\r\n },\r\n created() {\r\n this.light = new SpotLight(this.color, this.intensity, this.distance, this.angle, this.penumbra, this.decay);\r\n },\r\n};\r\n","import { FrontSide } from 'three';\r\n\r\nexport default {\r\n inject: ['three'],\r\n props: {\r\n id: String,\r\n color: {\r\n type: [String, Number],\r\n default: '#ffffff',\r\n },\r\n depthTest: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n depthWrite: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n fog: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n opacity: {\r\n type: Number,\r\n default: 1,\r\n },\r\n side: {\r\n type: Number,\r\n default: FrontSide,\r\n },\r\n transparent: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n vertexColors: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n mounted() {\r\n this.three.materials[this.id] = this.material;\r\n },\r\n unmounted() {\r\n this.material.dispose();\r\n },\r\n methods: {\r\n propsValues() {\r\n const props = {};\r\n for (const [key, value] of Object.entries(this.$props)) {\r\n if (key !== 'id') props[key] = value;\r\n }\r\n return props;\r\n },\r\n },\r\n render() {\r\n return [];\r\n },\r\n};\r\n","import { MeshBasicMaterial } from 'three';\r\nimport Material from './Material';\r\n\r\nexport default {\r\n extends: Material,\r\n created() {\r\n this.material = new MeshBasicMaterial({\r\n color: this.color,\r\n });\r\n },\r\n};\r\n","import { MeshLambertMaterial } from 'three';\r\nimport Material from './Material';\r\n\r\nexport default {\r\n extends: Material,\r\n created() {\r\n this.material = new MeshLambertMaterial({\r\n color: this.color,\r\n });\r\n },\r\n};\r\n","import { MeshPhongMaterial } from 'three';\r\nimport Material from './Material';\r\n\r\nexport default {\r\n extends: Material,\r\n created() {\r\n this.material = new MeshPhongMaterial({\r\n color: this.color,\r\n });\r\n },\r\n};\r\n","import { MeshPhysicalMaterial } from 'three';\r\nimport Material from './Material';\r\n\r\nexport default {\r\n extends: Material,\r\n created() {\r\n this.material = new MeshPhysicalMaterial({\r\n color: this.color,\r\n });\r\n },\r\n};\r\n","import { MeshStandardMaterial } from 'three';\r\nimport Material from './Material';\r\n\r\nexport default {\r\n extends: Material,\r\n props: {\r\n emissive: {\r\n type: [Number, String],\r\n default: 0,\r\n },\r\n emissiveIntensity: {\r\n type: Number,\r\n default: 1,\r\n },\r\n metalness: {\r\n type: Number,\r\n default: 0,\r\n },\r\n roughness: {\r\n type: Number,\r\n default: 1,\r\n },\r\n },\r\n created() {\r\n this.material = new MeshStandardMaterial(this.propsValues());\r\n },\r\n};\r\n","import { Mesh } from 'three';\r\nimport { setFromProp } from '../tools.js';\r\n\r\nexport default {\r\n inject: ['three', 'scene'],\r\n props: {\r\n material: String,\r\n position: Object,\r\n rotation: Object,\r\n scale: Object,\r\n castShadow: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n receiveShadow: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n mounted() {\r\n this.mesh = new Mesh(this.geometry, this.three.materials[this.material]);\r\n setFromProp(this.mesh.position, this.position);\r\n setFromProp(this.mesh.rotation, this.rotation);\r\n setFromProp(this.mesh.scale, this.scale);\r\n this.mesh.castShadow = this.castShadow;\r\n this.mesh.receiveShadow = this.receiveShadow;\r\n this.scene.add(this.mesh);\r\n },\r\n unmounted() {\r\n this.geometry.dispose();\r\n },\r\n render() {\r\n return [];\r\n },\r\n};\r\n","import { BoxBufferGeometry } from 'three';\r\nimport Mesh from './Mesh.js';\r\n\r\nexport default {\r\n extends: Mesh,\r\n props: {\r\n size: {\r\n type: Number,\r\n },\r\n width: {\r\n type: Number,\r\n default: 1,\r\n },\r\n height: {\r\n type: Number,\r\n default: 1,\r\n },\r\n depth: {\r\n type: Number,\r\n default: 1,\r\n },\r\n },\r\n created() {\r\n if (this.size) {\r\n this.geometry = new BoxBufferGeometry(this.size, this.size, this.size);\r\n } else {\r\n this.geometry = new BoxBufferGeometry(this.width, this.height, this.depth);\r\n }\r\n },\r\n};\r\n","import { PlaneBufferGeometry } from 'three';\r\nimport Mesh from './Mesh.js';\r\n\r\nexport default {\r\n extends: Mesh,\r\n props: {\r\n width: {\r\n type: Number,\r\n default: 1,\r\n },\r\n height: {\r\n type: Number,\r\n default: 1,\r\n },\r\n widthSegments: {\r\n type: Number,\r\n default: 1,\r\n },\r\n heightSegments: {\r\n type: Number,\r\n default: 1,\r\n },\r\n },\r\n created() {\r\n this.geometry = new PlaneBufferGeometry(this.width, this.height, this.widthSegments, this.heightSegments);\r\n },\r\n};\r\n","import { SphereBufferGeometry } from 'three';\r\nimport Mesh from './Mesh.js';\r\n\r\nexport default {\r\n extends: Mesh,\r\n props: {\r\n radius: Number,\r\n widthSegments: {\r\n type: Number,\r\n default: 12,\r\n },\r\n heightSegments: {\r\n type: Number,\r\n default: 12,\r\n },\r\n },\r\n created() {\r\n this.geometry = new SphereBufferGeometry(this.radius, this.widthSegments, this.heightSegments);\r\n },\r\n};\r\n","import { InstancedMesh } from 'three';\r\nimport { setFromProp } from '../tools.js';\r\n\r\nexport default {\r\n inject: ['three', 'scene'],\r\n props: {\r\n material: String,\r\n count: Number,\r\n position: Object,\r\n castShadow: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n receiveShadow: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n setup() {\r\n return {\r\n conf: {},\r\n };\r\n },\r\n provide() {\r\n return {\r\n parent: this.conf,\r\n };\r\n },\r\n beforeMount() {\r\n if (!this.$slots.default) {\r\n console.error('Missing Geometry');\r\n }\r\n },\r\n mounted() {\r\n this.mesh = new InstancedMesh(this.conf.geometry, this.three.materials[this.material], this.count);\r\n setFromProp(this.mesh.position, this.position);\r\n this.mesh.castShadow = this.castShadow;\r\n this.mesh.receiveShadow = this.receiveShadow;\r\n this.scene.add(this.mesh);\r\n },\r\n render() {\r\n return this.$slots.default();\r\n },\r\n};\r\n","import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js';\r\n\r\nexport default {\r\n setup() {\r\n return {\r\n passes: [],\r\n };\r\n },\r\n inject: ['three'],\r\n provide() {\r\n return {\r\n passes: this.passes,\r\n };\r\n },\r\n mounted() {\r\n this.three.onAfterInit(() => {\r\n this.composer = new EffectComposer(this.three.renderer);\r\n this.passes.forEach(pass => {\r\n this.composer.addPass(pass);\r\n });\r\n this.three.composer = this.composer;\r\n });\r\n },\r\n render() {\r\n return this.$slots.default();\r\n },\r\n};\r\n","export default {\r\n inject: ['three', 'passes'],\r\n beforeMount() {\r\n if (!this.passes) {\r\n console.error('Missing parent EffectComposer');\r\n }\r\n },\r\n render() {\r\n return [];\r\n },\r\n};\r\n","import { RenderPass } from 'three/examples/jsm/postprocessing/RenderPass.js';\r\nimport EffectPass from './EffectPass.js';\r\n\r\nexport default {\r\n extends: EffectPass,\r\n mounted() {\r\n if (!this.three.scene) {\r\n console.error('Missing Scene');\r\n }\r\n if (!this.three.camera) {\r\n console.error('Missing Camera');\r\n }\r\n const pass = new RenderPass(this.three.scene, this.three.camera);\r\n this.passes.push(pass);\r\n this.pass = pass;\r\n },\r\n};\r\n","import { BokehPass } from 'three/examples/jsm/postprocessing/BokehPass.js';\r\nimport EffectPass from './EffectPass.js';\r\n\r\nexport default {\r\n extends: EffectPass,\r\n props: {\r\n focus: {\r\n type: Number,\r\n default: 1,\r\n },\r\n aperture: {\r\n type: Number,\r\n default: 0.025,\r\n },\r\n maxblur: {\r\n type: Number,\r\n default: 0.01,\r\n },\r\n },\r\n // watch: {\r\n // focus() {\r\n // this.pass.focus = this.focus;\r\n // },\r\n // aperture() {\r\n // this.pass.aperture = this.aperture;\r\n // },\r\n // maxblur() {\r\n // this.pass.maxblur = this.maxblur;\r\n // },\r\n // },\r\n mounted() {\r\n if (!this.three.scene) {\r\n console.error('Missing Scene');\r\n }\r\n if (!this.three.camera) {\r\n console.error('Missing Camera');\r\n }\r\n const params = {\r\n focus: this.focus,\r\n aperture: this.aperture,\r\n maxblur: this.maxblur,\r\n width: this.three.size.width,\r\n height: this.three.size.height,\r\n };\r\n const pass = new BokehPass(this.three.scene, this.three.camera, params);\r\n this.passes.push(pass);\r\n this.pass = pass;\r\n },\r\n};\r\n","import { Vector2 } from 'three';\r\nimport { UnrealBloomPass } from 'three/examples/jsm/postprocessing/UnrealBloomPass.js';\r\nimport EffectPass from './EffectPass.js';\r\n\r\nexport default {\r\n extends: EffectPass,\r\n props: {\r\n strength: {\r\n type: Number,\r\n default: 1.5,\r\n },\r\n radius: {\r\n type: Number,\r\n default: 0,\r\n },\r\n threshold: {\r\n type: Number,\r\n default: 0,\r\n },\r\n },\r\n // watch: {\r\n // strength() {\r\n // this.pass.strength = this.strength;\r\n // },\r\n // radius() {\r\n // this.pass.strength = this.radius;\r\n // },\r\n // threshold() {\r\n // this.pass.strength = this.threshold;\r\n // },\r\n // },\r\n mounted() {\r\n const size = new Vector2(this.three.size.width, this.three.size.height);\r\n const pass = new UnrealBloomPass(size, this.strength, this.radius, this.threshold);\r\n this.passes.push(pass);\r\n this.pass = pass;\r\n },\r\n};\r\n"],"names":["const","Plane","key","value","PerspectiveCamera","Scene","AmbientLight","PointLight","SpotLight","Mesh","InstancedMesh","this","EffectComposer","RenderPass","BokehPass","UnrealBloomPass"],"mappings":";;;;;;;;AAUA;AACA;AACA;AACe,SAAS,QAAQ,GAAG;AACnC;AACA,EAAEA,IAAM,IAAI,GAAG;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,aAAa,EAAE,KAAK;AACxB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,MAAM,EAAE,CAAC;AACb,GAAG,CAAC;AACJ;AACA;AACA,EAAEA,IAAM,IAAI,GAAG;AACf,IAAI,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;AACvB,IAAI,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;AACzB,IAAI,KAAK,EAAE,CAAC;AACZ,GAAG,CAAC;AACJ;AACA;AACA,EAAEA,IAAM,iBAAiB,GAAG,EAAE,CAAC;AAC/B,EAAEA,IAAM,mBAAmB,GAAG,EAAE,CAAC;AACjC,EAAEA,IAAM,oBAAoB,GAAG,EAAE,CAAC;AAClC;AACA;AACA,EAAEA,IAAM,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,EAAEA,IAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAChC,EAAEA,IAAM,UAAU,GAAG,IAAIC,OAAK,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,EAAED,IAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AACpC;AACA;AACA,EAAEA,IAAM,GAAG,GAAG;AACd,UAAI,IAAI;AACR,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,SAAS,EAAE,EAAE;AACjB,IAAI,KAAK,EAAE,IAAI;AACf,UAAI,IAAI;AACR,WAAI,KAAK,WAAE,OAAO;AAClB,UAAI,IAAI;AACR,aAAI,OAAO;AACX,YAAI,MAAM;AACV,aAAI,OAAO;AACX,aAAI,OAAO;AACX,iBAAI,WAAW;AACf,mBAAI,aAAa;AACjB,oBAAI,cAAc;AAClB,GAAG,CAAC;AACJ;AACA;AACA;AACA;AACA,EAAE,SAAS,IAAI,CAAC,MAAM,EAAE;AACxB,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,KAAKA,IAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACzD,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC1B,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACrC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;AACrB,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC5G;AACA,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,GAAG,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC7E,MAAM,IAAI,IAAI,CAAC,UAAU,YAAY,MAAM,EAAE;AAC7C,QAAQ,KAAKA,IAAM,CAACE,KAAG,EAAEC,OAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACpE,UAAU,GAAG,CAAC,SAAS,CAACD,KAAG,CAAC,GAAGC,OAAK,CAAC;AACrC,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AACnC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;AAC5B,MAAM,QAAQ,EAAE,CAAC;AACjB,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAClD,KAAK;AACL;AACA,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;AACtC,QAAQ,GAAG,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC/C,OAAO,MAAM;AACb,QAAQ,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AACzD,OAAO;AACP,MAAM,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACxE,MAAM,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAC1E,KAAK;AACL;AACA,IAAI,iBAAiB,CAAC,OAAO,WAAC,YAAK,CAAC,KAAE,CAAC,CAAC;AACxC;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GACA;AACA;AACA;AACA;AACA,EAAE,SAAS,WAAW,CAAC,QAAQ,EAAE;AACjC,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,aAAa,CAAC,QAAQ,EAAE;AACnC,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,cAAc,CAAC,QAAQ,EAAE;AACpC,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,MAAM,GAAG;AACpB,IAAI,IAAI,GAAG,CAAC,SAAS,IAAE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAC;AAC9C,IAAI,oBAAoB,CAAC,OAAO,WAAC,YAAK,CAAC,KAAE,CAAC,CAAC;AAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AAC/C,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,OAAO,GAAG;AACrB,IAAI,IAAI,GAAG,CAAC,SAAS,IAAE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAC;AAC9C,IAAI,oBAAoB,CAAC,OAAO,WAAC,YAAK,CAAC,KAAE,CAAC,CAAC;AAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC1B,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,OAAO,GAAG;AACrB,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACnD,IAAI,IAAI,GAAG,CAAC,kBAAkB,EAAE;AAChC,MAAM,GAAG,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC3E,MAAM,GAAG,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAC7E,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,WAAW,CAAC,CAAC,EAAE;AAC1B,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,IAAI,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjD,IAAI,aAAa,EAAE,CAAC;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,YAAY,CAAC,CAAC,EAAE;AAC3B,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AAChB,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AAChB,IAAI,aAAa,EAAE,CAAC;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,aAAa,GAAG;AAC3B,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;AAC5B,MAAM,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACtD,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;AACpC,MAAM,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AACjD,MAAM,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACxD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,QAAQ,GAAG;AACtB,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;AAClC,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AACrD,KAAK,MAAM;AACX,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACjE,KAAK;AACL,IAAI,mBAAmB,CAAC,OAAO,WAAC,YAAK,CAAC,KAAE,CAAC,CAAC;AAC1C,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE;AAClC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAChC;AACA,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/C,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;AACnC,IAAI,GAAG,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;AACxC;AACA,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE;AACtB,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1C,KAAK;AACL;AACA,IAAIH,IAAM,KAAK,GAAG,aAAa,EAAE,CAAC;AAClC,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,aAAa,GAAG;AAC3B,IAAIA,IAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC;AAClD,IAAIA,IAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACvE,IAAIA,IAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;AACpC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClB,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb;;AC9OA,eAAe;AACf,EAAE,KAAK,EAAE;AACT,IAAI,SAAS,EAAE;AACf,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,IAAI;AACnB,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC7B,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC7B,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,YAAY,EAAE;AAClB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;AACtC,MAAM,OAAO,EAAE,QAAQ;AACvB,KAAK;AACL,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,MAAM,EAAE,MAAM;AAClB,GAAG;AACH,EAAE,qBAAK,CAAC,KAAK,EAAE;AACf,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,QAAQ,EAAE;AACvB,MAAM,GAAG,EAAE,IAAI;AACf,KAAK,CAAC;AACN,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAIA,IAAM,MAAM,GAAG;AACnB,MAAM,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;AAC/B,MAAM,SAAS,EAAE,IAAI,CAAC,SAAS;AAC/B,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,MAAM,UAAU,EAAE,IAAI,CAAC,SAAS;AAChC,MAAM,UAAU,EAAE,IAAI,CAAC,SAAS;AAChC,MAAM,aAAa,EAAE,IAAI,CAAC,YAAY;AACtC,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM;AACzB,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM;AACzB,KAAK,CAAC;AACN;AACA,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACjC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;AAC1D,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAE,IAAI,CAAC,QAAQ,EAAE,GAAC;AAC/C,aAAW,IAAI,CAAC,OAAO,EAAE,GAAC;AAC1B,KACA,GAAG;AACH,EAAE,qCAAa,GAAG;AAClB,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;AACrB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AACzB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,uCAAc,CAAC,QAAQ,EAAE;AAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,qCAAa,CAAC,QAAQ,EAAE;AAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACzC,KAAK;AACL,IAAI,yBAAO,GAAG;AACd,MAAM,IAAI,IAAI,CAAC,GAAG,IAAE,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAC;AACxD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AAC1B,KAAK;AACL,IAAI,2BAAQ,GAAG;AACf,MAAM,IAAI,IAAI,CAAC,GAAG,IAAE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAC;AACzD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AAC3B,KAAK;AACL,GAAG;AACH,EAAE,uBAAM,GAAG;AACX,IAAI,OAAO,CAAC;AACZ,MAAM,QAAQ;AACd,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AAC3B,KAAK,CAAC;AACN,GAAG;AACH,CAAC;;AC7FM,SAAS,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE;AACrC,EAAE,IAAI,IAAI,YAAY,MAAM,EAAE;AAC9B,IAAI,KAAKA,IAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACrD,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACrB,KAAK;AACL,GAAG;AACH,CACA;AACO,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7C,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACnC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACnC,EAAE,OAAO,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC;AAC7C,CACA;AACO,SAAS,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;AACvC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAClC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAClC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAClC;;ACfA,wBAAe;AACf,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,GAAG,EAAE;AACT,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,EAAE;AACjB,KAAK;AACL,IAAI,QAAQ,EAAE,MAAM;AACpB,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAIA,IAAM,MAAM,GAAG,IAAII,mBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AAC/B,GAAG;AACH,EAAE,uBAAM,GAAG;AACX,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC;;AClBD,YAAe;AACf,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,qBAAK,EAAE,KAAK,EAAE;AAChB,IAAIJ,IAAM,KAAK,GAAG,IAAIK,OAAK,EAAE,CAAC;AAC9B,IAAI,IAAI,KAAK,CAAC,UAAU,IAAE,KAAK,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAC;AACzE,IAAI,OAAO,SAAE,KAAK,EAAE,CAAC;AACrB,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACpC,KAAK;AACL,GAAG;AACH,EAAE,uBAAM,GAAG;AACX,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AAC7B,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AACnC,KAAK;AACL,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC;;AC7BD,eAAe;AACf,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC;AACpB,EAAE,iCAAW,GAAG;AAChB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACtB,MAAM,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC3C,KAAK;AACL,GAAG;AACH,EAAE,6BAAS,GAAG;AACd,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AACnC,GAAG;AACH,EAAE,uBAAM,GAAG;AACX,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC;;ACVD,kBAAe;AACf,EAAE,OAAO,EAAE,QAAQ;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE;AACV,MAAM,IAAI,EAAE,MAAM;AAClB,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACpF,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACxF,KAAK;AACL,GAAG;AACH,CAAC;;AC1BD,qBAAe;AACf,EAAE,OAAO,EAAE,QAAQ;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,aAAa,EAAE;AACnB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,EAAE;AACjB,KAAK;AACL,IAAI,cAAc,EAAE;AACpB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,EAAE;AACjB,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1G,GAAG;AACH,CAAC;;ACjBD,YAAe;AACf,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,SAAS;AACxB,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,UAAU,EAAE;AAChB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,aAAa,EAAE,MAAM;AACzB,IAAI,QAAQ,EAAE,MAAM;AACpB,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpD;AACA,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC9C,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AACjE,KAAK;AACL;AACA,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAC;AAC7D,GAAG;AACH,EAAE,uBAAM,GAAG;AACX,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC;;AC/BD,mBAAe;AACf,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,KAAK,GAAG,IAAIC,cAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAC9D,GAAG;AACH,CAAC;;ACLD,iBAAe;AACf,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,EAAE;AACd,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,KAAK,GAAG,IAAIC,YAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACvF,GAAG;AACH,CAAC;;ACfD,gBAAe;AACf,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,EAAE;AACd,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC;AAC1B,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,KAAK,GAAG,IAAIC,WAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACjH,GAAG;AACH,CAAC;;ACxBD,eAAe;AACf,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,MAAM,OAAO,EAAE,SAAS;AACxB,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,IAAI;AACnB,KAAK;AACL,IAAI,UAAU,EAAE;AAChB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,IAAI;AACnB,KAAK;AACL,IAAI,GAAG,EAAE;AACT,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,OAAO,EAAE;AACb,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,SAAS;AACxB,KAAK;AACL,IAAI,WAAW,EAAE;AACjB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,YAAY,EAAE;AAClB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAClD,GAAG;AACH,EAAE,6BAAS,GAAG;AACd,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC5B,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,iCAAW,GAAG;AAClB,MAAMR,IAAM,KAAK,GAAG,EAAE,CAAC;AACvB,MAAM,KAAKA,IAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC9D,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,GAAC;AAC7C,OAAO;AACP,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,GAAG;AACH,EAAE,uBAAM,GAAG;AACX,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC;;ACtDD,oBAAe;AACf,EAAE,OAAO,EAAE,QAAQ;AACnB,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC;AAC1C,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;;ACPD,sBAAe;AACf,EAAE,OAAO,EAAE,QAAQ;AACnB,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAmB,CAAC;AAC5C,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;;ACPD,oBAAe;AACf,EAAE,OAAO,EAAE,QAAQ;AACnB,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC;AAC1C,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;;ACPD,uBAAe;AACf,EAAE,OAAO,EAAE,QAAQ;AACnB,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC;AAC7C,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;;ACPD,uBAAe;AACf,EAAE,OAAO,EAAE,QAAQ;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,EAAE;AACd,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,iBAAiB,EAAE;AACvB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACjE,GAAG;AACH,CAAC;;ACvBD,WAAe;AACf,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;AAC5B,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,UAAU,EAAE;AAChB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,aAAa,EAAE;AACnB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,IAAI,GAAG,IAAIS,MAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7E,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACjD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,GAAG;AACH,EAAE,6BAAS,GAAG;AACd,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC5B,GAAG;AACH,EAAE,uBAAM,GAAG;AACX,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC;;AC/BD,UAAe;AACf,EAAE,OAAO,EAAE,IAAI;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE;AACV,MAAM,IAAI,EAAE,MAAM;AAClB,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,MAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7E,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACjF,KAAK;AACL,GAAG;AACH,CAAC;;AC1BD,YAAe;AACf,EAAE,OAAO,EAAE,IAAI;AACf,EAAE,KAAK,EAAE;AACT,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,aAAa,EAAE;AACnB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,cAAc,EAAE;AACpB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAC9G,GAAG;AACH,CAAC;;ACvBD,aAAe;AACf,EAAE,OAAO,EAAE,IAAI;AACf,EAAE,KAAK,EAAE;AACT,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,aAAa,EAAE;AACnB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,EAAE;AACjB,KAAK;AACL,IAAI,cAAc,EAAE;AACpB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,EAAE;AACjB,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AACnG,GAAG;AACH,CAAC;;AChBD,oBAAe;AACf,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;AAC5B,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,UAAU,EAAE;AAChB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,aAAa,EAAE;AACnB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,GAAG;AACH,EAAE,qBAAK,GAAG;AACV,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,EAAE;AACd,KAAK,CAAC;AACN,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,OAAO;AACX,MAAM,MAAM,EAAE,IAAI,CAAC,IAAI;AACvB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,iCAAW,GAAG;AAChB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AAC9B,MAAM,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACxC,KAAK;AACL,GAAG;AACH,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,IAAI,GAAG,IAAIC,eAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACvG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACjD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,GAAG;AACH,EAAE,uBAAM,GAAG;AACX,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AACjC,GAAG;AACH,CAAC;;ACzCD,qBAAe;AACf,EAAE,qBAAK,GAAG;AACV,IAAI,OAAO;AACX,MAAM,MAAM,EAAE,EAAE;AAChB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC;AACnB,EAAE,yBAAO,GAAG;AACZ,IAAI,OAAO;AACX,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM;AACzB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,yBAAO,GAAG;;AAAC;AACb,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,aAAO;AACjC,MAAMC,MAAI,CAAC,QAAQ,GAAG,IAAIC,gBAAc,CAACD,MAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC9D,MAAMA,MAAI,CAAC,MAAM,CAAC,OAAO,WAAC,MAAQ;AAClC,QAAQA,MAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACpC,OAAO,CAAC,CAAC;AACT,MAAMA,MAAI,CAAC,KAAK,CAAC,QAAQ,GAAGA,MAAI,CAAC,QAAQ,CAAC;AAC1C,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,uBAAM,GAAG;AACX,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AACjC,GAAG;AACH,CAAC;;AC1BD,iBAAe;AACf,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC7B,EAAE,iCAAW,GAAG;AAChB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACtB,MAAM,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACrD,KAAK;AACL,GAAG;AACH,EAAE,uBAAM,GAAG;AACX,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC;;ACPD,iBAAe;AACf,EAAE,OAAO,EAAE,UAAU;AACrB,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACrC,KAAK;AACL,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AAC5B,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,KAAK;AACL,IAAIX,IAAM,IAAI,GAAG,IAAIa,YAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACrE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,GAAG;AACH,CAAC;;ACbD,gBAAe;AACf,EAAE,OAAO,EAAE,UAAU;AACrB,EAAE,KAAK,EAAE;AACT,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,OAAO,EAAE;AACb,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,IAAI;AACnB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,yBAAO,GAAG;AACZ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACrC,KAAK;AACL,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AAC5B,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,KAAK;AACL,IAAIb,IAAM,MAAM,GAAG;AACnB,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,MAAM,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC7B,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO;AAC3B,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;AAClC,MAAM,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;AACpC,KAAK,CAAC;AACN,IAAIA,IAAM,IAAI,GAAG,IAAIc,WAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,GAAG;AACH,CAAC;;AC5CD,sBAAe;AACf,EAAE,OAAO,EAAE,UAAU;AACrB,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,EAAE;AACd,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,GAAG;AAClB,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,yBAAO,GAAG;AACZ,IAAId,IAAM,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5E,IAAIA,IAAM,IAAI,GAAG,IAAIe,iBAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AACvF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,GAAG;AACH,CAAC;;;;"} |