{
  "version": 3,
  "sources": ["/cdn/shop/t/56/assets/aura.js?cb=1"],
  "sourcesContent": ["//#region \\0rolldown/runtime.js\nvar e = Object.defineProperty, t = (e, t, n) => () => {\n\tif (n) throw n[0];\n\ttry {\n\t\treturn e && (t = e(e = 0)), t;\n\t} catch (e) {\n\t\tthrow n = [e], e;\n\t}\n}, n = (t, n) => {\n\tlet r = {};\n\tfor (var i in t) e(r, i, {\n\t\tget: t[i],\n\t\tenumerable: !0\n\t});\n\treturn n || e(r, Symbol.toStringTag, { value: \"Module\" }), r;\n}, r = \"1.3.26\";\nfunction i(e, t, n) {\n\treturn Math.max(e, Math.min(t, n));\n}\nfunction a(e, t, n) {\n\treturn (1 - n) * e + n * t;\n}\nfunction o(e, t, n, r) {\n\treturn a(e, t, 1 - Math.exp(-n * r));\n}\nfunction s(e, t) {\n\treturn (e % t + t) % t;\n}\nvar c = class {\n\tisRunning = !1;\n\tvalue = 0;\n\tfrom = 0;\n\tto = 0;\n\tcurrentTime = 0;\n\tlerp;\n\tduration;\n\teasing;\n\tonUpdate;\n\tadvance(e) {\n\t\tif (!this.isRunning) return;\n\t\tlet t = !1;\n\t\tif (this.duration && this.easing) {\n\t\t\tthis.currentTime += e;\n\t\t\tlet n = i(0, this.currentTime / this.duration, 1);\n\t\t\tt = n >= 1;\n\t\t\tlet r = t ? 1 : this.easing(n);\n\t\t\tthis.value = this.from + (this.to - this.from) * r;\n\t\t} else this.lerp ? (this.value = o(this.value, this.to, this.lerp * 60, e), Math.round(this.value) === Math.round(this.to) && (this.value = this.to, t = !0)) : (this.value = this.to, t = !0);\n\t\tt && this.stop(), this.onUpdate?.(this.value, t);\n\t}\n\tstop() {\n\t\tthis.isRunning = !1;\n\t}\n\tfromTo(e, t, { lerp: n, duration: r, easing: i, onStart: a, onUpdate: o }) {\n\t\tthis.from = this.value = e, this.to = t, this.lerp = n, this.duration = r, this.easing = i, this.currentTime = 0, this.isRunning = !0, a?.(), this.onUpdate = o;\n\t}\n};\nfunction l(e, t) {\n\tlet n;\n\treturn function(...r) {\n\t\tclearTimeout(n), n = setTimeout(() => {\n\t\t\tn = void 0, e.apply(this, r);\n\t\t}, t);\n\t};\n}\nvar u = class {\n\twidth = 0;\n\theight = 0;\n\tscrollHeight = 0;\n\tscrollWidth = 0;\n\tdebouncedResize;\n\twrapperResizeObserver;\n\tcontentResizeObserver;\n\tconstructor(e, t, { autoResize: n = !0, debounce: r = 250 } = {}) {\n\t\tthis.wrapper = e, this.content = t, n && (this.debouncedResize = l(this.resize, r), this.wrapper instanceof Window ? window.addEventListener(\"resize\", this.debouncedResize) : (this.wrapperResizeObserver = new ResizeObserver(this.debouncedResize), this.wrapperResizeObserver.observe(this.wrapper)), this.contentResizeObserver = new ResizeObserver(this.debouncedResize), this.contentResizeObserver.observe(this.content)), this.resize();\n\t}\n\tdestroy() {\n\t\tthis.wrapperResizeObserver?.disconnect(), this.contentResizeObserver?.disconnect(), this.wrapper === window && this.debouncedResize && window.removeEventListener(\"resize\", this.debouncedResize);\n\t}\n\tresize = () => {\n\t\tthis.onWrapperResize(), this.onContentResize();\n\t};\n\tonWrapperResize = () => {\n\t\tthis.wrapper instanceof Window ? (this.width = window.innerWidth, this.height = window.innerHeight) : (this.width = this.wrapper.clientWidth, this.height = this.wrapper.clientHeight);\n\t};\n\tonContentResize = () => {\n\t\tthis.wrapper instanceof Window ? (this.scrollHeight = this.content.scrollHeight, this.scrollWidth = this.content.scrollWidth) : (this.scrollHeight = this.wrapper.scrollHeight, this.scrollWidth = this.wrapper.scrollWidth);\n\t};\n\tget limit() {\n\t\treturn {\n\t\t\tx: this.scrollWidth - this.width,\n\t\t\ty: this.scrollHeight - this.height\n\t\t};\n\t}\n}, d = class {\n\tevents = {};\n\temit(e, ...t) {\n\t\tlet n = this.events[e] || [];\n\t\tfor (let e = 0, r = n.length; e < r; e++) n[e]?.(...t);\n\t}\n\ton(e, t) {\n\t\treturn this.events[e] ? this.events[e].push(t) : this.events[e] = [t], () => {\n\t\t\tthis.events[e] = this.events[e]?.filter((e) => t !== e);\n\t\t};\n\t}\n\toff(e, t) {\n\t\tthis.events[e] = this.events[e]?.filter((e) => t !== e);\n\t}\n\tdestroy() {\n\t\tthis.events = {};\n\t}\n}, f = 100 / 6, p = { passive: !1 };\nfunction m(e, t) {\n\treturn e === 1 ? f : e === 2 ? t : 1;\n}\nvar h = class {\n\ttouchStart = {\n\t\tx: 0,\n\t\ty: 0\n\t};\n\tlastDelta = {\n\t\tx: 0,\n\t\ty: 0\n\t};\n\twindow = {\n\t\twidth: 0,\n\t\theight: 0\n\t};\n\temitter = new d();\n\tconstructor(e, t = {\n\t\twheelMultiplier: 1,\n\t\ttouchMultiplier: 1\n\t}) {\n\t\tthis.element = e, this.options = t, window.addEventListener(\"resize\", this.onWindowResize), this.onWindowResize(), this.element.addEventListener(\"wheel\", this.onWheel, p), this.element.addEventListener(\"touchstart\", this.onTouchStart, p), this.element.addEventListener(\"touchmove\", this.onTouchMove, p), this.element.addEventListener(\"touchend\", this.onTouchEnd, p);\n\t}\n\ton(e, t) {\n\t\treturn this.emitter.on(e, t);\n\t}\n\tdestroy() {\n\t\tthis.emitter.destroy(), window.removeEventListener(\"resize\", this.onWindowResize), this.element.removeEventListener(\"wheel\", this.onWheel, p), this.element.removeEventListener(\"touchstart\", this.onTouchStart, p), this.element.removeEventListener(\"touchmove\", this.onTouchMove, p), this.element.removeEventListener(\"touchend\", this.onTouchEnd, p);\n\t}\n\tonTouchStart = (e) => {\n\t\tlet { clientX: t, clientY: n } = e.targetTouches ? e.targetTouches[0] : e;\n\t\tthis.touchStart.x = t, this.touchStart.y = n, this.lastDelta = {\n\t\t\tx: 0,\n\t\t\ty: 0\n\t\t}, this.emitter.emit(\"scroll\", {\n\t\t\tdeltaX: 0,\n\t\t\tdeltaY: 0,\n\t\t\tevent: e\n\t\t});\n\t};\n\tonTouchMove = (e) => {\n\t\tlet { clientX: t, clientY: n } = e.targetTouches ? e.targetTouches[0] : e, r = -(t - this.touchStart.x) * this.options.touchMultiplier, i = -(n - this.touchStart.y) * this.options.touchMultiplier;\n\t\tthis.touchStart.x = t, this.touchStart.y = n, this.lastDelta = {\n\t\t\tx: r,\n\t\t\ty: i\n\t\t}, this.emitter.emit(\"scroll\", {\n\t\t\tdeltaX: r,\n\t\t\tdeltaY: i,\n\t\t\tevent: e\n\t\t});\n\t};\n\tonTouchEnd = (e) => {\n\t\tthis.emitter.emit(\"scroll\", {\n\t\t\tdeltaX: this.lastDelta.x,\n\t\t\tdeltaY: this.lastDelta.y,\n\t\t\tevent: e\n\t\t});\n\t};\n\tonWheel = (e) => {\n\t\tlet { deltaX: t, deltaY: n, deltaMode: r } = e, i = m(r, this.window.width), a = m(r, this.window.height);\n\t\tt *= i, n *= a, t *= this.options.wheelMultiplier, n *= this.options.wheelMultiplier, this.emitter.emit(\"scroll\", {\n\t\t\tdeltaX: t,\n\t\t\tdeltaY: n,\n\t\t\tevent: e\n\t\t});\n\t};\n\tonWindowResize = () => {\n\t\tthis.window = {\n\t\t\twidth: window.innerWidth,\n\t\t\theight: window.innerHeight\n\t\t};\n\t};\n}, g = (e) => Math.min(1, 1.001 - 2 ** (-10 * e)), _ = class {\n\t_isScrolling = !1;\n\t_isStopped = !1;\n\t_isLocked = !1;\n\t_preventNextNativeScrollEvent = !1;\n\t_resetVelocityTimeout = null;\n\t_rafId = null;\n\t_isDraggingSelection = !1;\n\treducedMotionMediaQuery = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n\tisTouching;\n\tisIos;\n\ttime = 0;\n\tuserData = {};\n\tlastVelocity = 0;\n\tvelocity = 0;\n\tdirection = 0;\n\toptions;\n\ttargetScroll;\n\tanimatedScroll;\n\tanimate = new c();\n\temitter = new d();\n\tdimensions;\n\tvirtualScroll;\n\tconstructor({ wrapper: e = window, content: t = document.documentElement, eventsTarget: n = e, smoothWheel: i = !0, syncTouch: a = !1, syncTouchLerp: o = .075, touchInertiaExponent: s = 1.7, duration: c, easing: l, lerp: d = .1, infinite: f = !1, orientation: p = \"vertical\", gestureOrientation: m = p === \"horizontal\" ? \"both\" : \"vertical\", touchMultiplier: _ = 1, wheelMultiplier: v = 1, autoResize: y = !0, prevent: b, virtualScroll: x, overscroll: S = !0, autoRaf: C = !1, anchors: w = !1, autoToggle: T = !1, allowNestedScroll: E = !1, __experimental__naiveDimensions: D = !1, naiveDimensions: O = D, stopInertiaOnNavigate: ee = !1, respectReducedMotion: k = !0 } = {}) {\n\t\twindow.lenisVersion = r, window.lenis || (window.lenis = {}), window.lenis.version = r, p === \"horizontal\" && (window.lenis.horizontal = !0), a === !0 && (window.lenis.touch = !0), this.isIos = /(iPad|iPhone|iPod)/g.test(navigator.userAgent), (!e || e === document.documentElement) && (e = window), typeof c == \"number\" && typeof l != \"function\" ? l = g : typeof l == \"function\" && typeof c != \"number\" && (c = 1), this.options = {\n\t\t\twrapper: e,\n\t\t\tcontent: t,\n\t\t\teventsTarget: n,\n\t\t\tsmoothWheel: i,\n\t\t\tsyncTouch: a,\n\t\t\tsyncTouchLerp: o,\n\t\t\ttouchInertiaExponent: s,\n\t\t\tduration: c,\n\t\t\teasing: l,\n\t\t\tlerp: d,\n\t\t\tinfinite: f,\n\t\t\tgestureOrientation: m,\n\t\t\torientation: p,\n\t\t\ttouchMultiplier: _,\n\t\t\twheelMultiplier: v,\n\t\t\tautoResize: y,\n\t\t\tprevent: b,\n\t\t\tvirtualScroll: x,\n\t\t\toverscroll: S,\n\t\t\tautoRaf: C,\n\t\t\tanchors: w,\n\t\t\tautoToggle: T,\n\t\t\tallowNestedScroll: E,\n\t\t\tnaiveDimensions: O,\n\t\t\tstopInertiaOnNavigate: ee,\n\t\t\trespectReducedMotion: k\n\t\t}, this.dimensions = new u(e, t, { autoResize: y }), this.updateClassName(), this.targetScroll = this.animatedScroll = this.actualScroll, this.options.wrapper.addEventListener(\"scroll\", this.onNativeScroll), this.options.wrapper.addEventListener(\"scrollend\", this.onScrollEnd, { capture: !0 }), (this.options.anchors || this.options.stopInertiaOnNavigate) && this.options.wrapper.addEventListener(\"click\", this.onClick), this.options.wrapper.addEventListener(\"pointerdown\", this.onPointerDown), this.virtualScroll = new h(n, {\n\t\t\ttouchMultiplier: _,\n\t\t\twheelMultiplier: v\n\t\t}), this.virtualScroll.on(\"scroll\", this.onVirtualScroll), this.options.autoToggle && (this.checkOverflow(), this.rootElement.addEventListener(\"transitionend\", this.onTransitionEnd)), this.options.autoRaf && (this._rafId = requestAnimationFrame(this.raf));\n\t}\n\tdestroy() {\n\t\tthis.emitter.destroy(), this.options.wrapper.removeEventListener(\"scroll\", this.onNativeScroll), this.options.wrapper.removeEventListener(\"scrollend\", this.onScrollEnd, { capture: !0 }), this.options.wrapper.removeEventListener(\"pointerdown\", this.onPointerDown), (this.options.anchors || this.options.stopInertiaOnNavigate) && this.options.wrapper.removeEventListener(\"click\", this.onClick), this.virtualScroll.destroy(), this.dimensions.destroy(), this.cleanUpClassName(), this._rafId && cancelAnimationFrame(this._rafId);\n\t}\n\ton(e, t) {\n\t\treturn this.emitter.on(e, t);\n\t}\n\toff(e, t) {\n\t\treturn this.emitter.off(e, t);\n\t}\n\tonScrollEnd = (e) => {\n\t\te instanceof CustomEvent || (this.isScrolling === \"smooth\" || this.isScrolling === !1) && e.stopPropagation();\n\t};\n\tdispatchScrollendEvent = () => {\n\t\tthis.options.wrapper.dispatchEvent(new CustomEvent(\"scrollend\", {\n\t\t\tbubbles: this.options.wrapper === window,\n\t\t\tdetail: { lenisScrollEnd: !0 }\n\t\t}));\n\t};\n\tget overflow() {\n\t\tlet e = this.isHorizontal ? \"overflow-x\" : \"overflow-y\";\n\t\treturn getComputedStyle(this.rootElement)[e];\n\t}\n\tcheckOverflow() {\n\t\t[\"hidden\", \"clip\"].includes(this.overflow) ? this.internalStop() : this.internalStart();\n\t}\n\tonTransitionEnd = (e) => {\n\t\te.propertyName?.includes(\"overflow\") && e.target === this.rootElement && this.checkOverflow();\n\t};\n\tsetScroll(e) {\n\t\tthis.isHorizontal ? this.options.wrapper.scrollTo({\n\t\t\tleft: e,\n\t\t\tbehavior: \"instant\"\n\t\t}) : this.options.wrapper.scrollTo({\n\t\t\ttop: e,\n\t\t\tbehavior: \"instant\"\n\t\t});\n\t}\n\tonClick = (e) => {\n\t\tlet t = e.composedPath().filter((e) => e instanceof HTMLAnchorElement && e.href).map((e) => new URL(e.href)), n = new URL(window.location.href);\n\t\tif (this.options.anchors) {\n\t\t\tlet e = t.find((e) => n.host === e.host && n.pathname === e.pathname && e.hash);\n\t\t\tif (e) {\n\t\t\t\tlet t = typeof this.options.anchors == \"object\" && this.options.anchors ? this.options.anchors : void 0, n = decodeURIComponent(e.hash);\n\t\t\t\tthis.scrollTo(n, t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tthis.options.stopInertiaOnNavigate && t.some((e) => n.host === e.host && n.pathname !== e.pathname) && this.reset();\n\t};\n\tonPointerDown = (e) => {\n\t\te.button === 1 && this.reset();\n\t};\n\tisTouchOnSelectionHandle(e) {\n\t\tlet t = window.getSelection();\n\t\tif (!t || t.isCollapsed || t.rangeCount === 0) return !1;\n\t\tlet n = e.targetTouches[0] ?? e.changedTouches[0];\n\t\tif (!n) return !1;\n\t\tlet r = t.getRangeAt(0).getClientRects();\n\t\tif (r.length === 0) return !1;\n\t\tlet i = r[0], a = r[r.length - 1], o = Math.hypot(n.clientX - i.left, n.clientY - i.top) <= 40, s = Math.hypot(n.clientX - a.right, n.clientY - a.bottom) <= 40;\n\t\treturn o || s;\n\t}\n\tonVirtualScroll = (e) => {\n\t\tif (typeof this.options.virtualScroll == \"function\" && this.options.virtualScroll(e) === !1) return;\n\t\tlet { deltaX: t, deltaY: n, event: r } = e;\n\t\tif (this.emitter.emit(\"virtual-scroll\", {\n\t\t\tdeltaX: t,\n\t\t\tdeltaY: n,\n\t\t\tevent: r\n\t\t}), r.ctrlKey || r.lenisStopPropagation) return;\n\t\tlet i = r.type.includes(\"touch\"), a = r.type.includes(\"wheel\");\n\t\tif (i && this.isIos && (r.type === \"touchstart\" && (this._isDraggingSelection = this.isTouchOnSelectionHandle(r)), this._isDraggingSelection)) {\n\t\t\tr.type === \"touchend\" && (this._isDraggingSelection = !1);\n\t\t\treturn;\n\t\t}\n\t\tthis.isTouching = r.type === \"touchstart\" || r.type === \"touchmove\";\n\t\tlet o = t === 0 && n === 0;\n\t\tif (this.options.syncTouch && i && r.type === \"touchstart\" && o && !this.isStopped && !this.isLocked) {\n\t\t\tthis.reset();\n\t\t\treturn;\n\t\t}\n\t\tlet s = this.options.gestureOrientation === \"vertical\" && n === 0 || this.options.gestureOrientation === \"horizontal\" && t === 0;\n\t\tif (o || s) return;\n\t\tlet c = r.composedPath();\n\t\tc = c.slice(0, c.indexOf(this.rootElement));\n\t\tlet l = this.options.prevent, u = Math.abs(t) >= Math.abs(n) ? \"horizontal\" : \"vertical\";\n\t\tif (c.find((e) => e instanceof HTMLElement && (typeof l == \"function\" && l?.(e) || e.hasAttribute?.(\"data-lenis-prevent\") || u === \"vertical\" && e.hasAttribute?.(\"data-lenis-prevent-vertical\") || u === \"horizontal\" && e.hasAttribute?.(\"data-lenis-prevent-horizontal\") || i && e.hasAttribute?.(\"data-lenis-prevent-touch\") || a && e.hasAttribute?.(\"data-lenis-prevent-wheel\") || this.options.allowNestedScroll && this.hasNestedScroll(e, {\n\t\t\tdeltaX: t,\n\t\t\tdeltaY: n\n\t\t})))) return;\n\t\tif (this.isStopped || this.isLocked) {\n\t\t\tr.cancelable && r.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\tif (!(this.options.syncTouch && i || this.options.smoothWheel && a)) {\n\t\t\tthis.isScrolling = \"native\", this.animate.stop(), r.lenisStopPropagation = !0;\n\t\t\treturn;\n\t\t}\n\t\tlet d = n;\n\t\tthis.options.gestureOrientation === \"both\" ? d = Math.abs(n) > Math.abs(t) ? n : t : this.options.gestureOrientation === \"horizontal\" && (d = t), (!this.options.overscroll || this.options.infinite || this.options.wrapper !== window && this.limit > 0 && (this.animatedScroll > 0 && this.animatedScroll < this.limit || this.animatedScroll === 0 && n > 0 || this.animatedScroll === this.limit && n < 0)) && (r.lenisStopPropagation = !0), r.cancelable && r.preventDefault();\n\t\tlet f = i && this.options.syncTouch, p = i && r.type === \"touchend\";\n\t\tp && (d = Math.sign(d) * Math.abs(this.velocity) ** this.options.touchInertiaExponent), this.scrollTo(this.targetScroll + d, {\n\t\t\tprogrammatic: !1,\n\t\t\t...f ? { lerp: p ? this.options.syncTouchLerp : 1 } : {\n\t\t\t\tlerp: this.options.lerp,\n\t\t\t\tduration: this.options.duration,\n\t\t\t\teasing: this.options.easing\n\t\t\t}\n\t\t});\n\t};\n\tresize() {\n\t\tthis.dimensions.resize(), this.animatedScroll = this.targetScroll = this.actualScroll, this.emit();\n\t}\n\temit() {\n\t\tthis.emitter.emit(\"scroll\", this);\n\t}\n\tonNativeScroll = () => {\n\t\tif (this._resetVelocityTimeout !== null && (clearTimeout(this._resetVelocityTimeout), this._resetVelocityTimeout = null), this._preventNextNativeScrollEvent) this._preventNextNativeScrollEvent = !1;\n\t\telse if (this.isScrolling === !1 || this.isScrolling === \"native\") {\n\t\t\tlet e = this.animatedScroll;\n\t\t\tthis.animatedScroll = this.targetScroll = this.actualScroll, this.lastVelocity = this.velocity, this.velocity = this.animatedScroll - e, this.direction = Math.sign(this.animatedScroll - e), this.isStopped || (this.isScrolling = \"native\"), this.emit(), this.velocity !== 0 && (this._resetVelocityTimeout = setTimeout(() => {\n\t\t\t\tthis.lastVelocity = this.velocity, this.velocity = 0, this.isScrolling = !1, this.emit();\n\t\t\t}, 400));\n\t\t}\n\t};\n\treset() {\n\t\tthis.isLocked = !1, this.isScrolling = !1, this.animatedScroll = this.targetScroll = this.actualScroll, this.lastVelocity = this.velocity = 0, this.animate.stop();\n\t}\n\tstart() {\n\t\tthis.isStopped && (this.options.autoToggle ? this.rootElement.style.removeProperty(\"overflow\") : this.internalStart());\n\t}\n\tinternalStart() {\n\t\tthis.isStopped && (this.reset(), this.isStopped = !1, this.emit());\n\t}\n\tstop() {\n\t\tthis.isStopped || (this.options.autoToggle ? this.rootElement.style.setProperty(\"overflow\", \"clip\") : this.internalStop());\n\t}\n\tinternalStop() {\n\t\tthis.isStopped || (this.reset(), this.isStopped = !0, this.emit());\n\t}\n\traf = (e) => {\n\t\tlet t = e - (this.time || e);\n\t\tthis.time = e, this.animate.advance(t * .001), this.options.autoRaf && (this._rafId = requestAnimationFrame(this.raf));\n\t};\n\tscrollTo(e, { offset: t = 0, immediate: n = !1, lock: r = !1, programmatic: a = !0, lerp: o = a ? this.options.lerp : void 0, duration: s = a ? this.options.duration : void 0, easing: c = a ? this.options.easing : void 0, onStart: l, onComplete: u, force: d = !1, userData: f } = {}) {\n\t\tif (this.prefersReducedMotion && (a ? n = !0 : (o = 1, s = void 0, c = void 0)), (this.isStopped || this.isLocked) && !d) return;\n\t\tlet p = e, m = t;\n\t\tif (typeof p == \"string\" && [\n\t\t\t\"top\",\n\t\t\t\"left\",\n\t\t\t\"start\",\n\t\t\t\"#\"\n\t\t].includes(p)) p = 0;\n\t\telse if (typeof p == \"string\" && [\n\t\t\t\"bottom\",\n\t\t\t\"right\",\n\t\t\t\"end\"\n\t\t].includes(p)) p = this.limit;\n\t\telse {\n\t\t\tlet e = null;\n\t\t\tif (typeof p == \"string\" ? (e = p.startsWith(\"#\") ? document.getElementById(p.slice(1)) : document.querySelector(p), e || (p === \"#top\" ? p = 0 : console.warn(\"Lenis: Target not found\", p))) : p instanceof HTMLElement && p?.nodeType && (e = p), e) {\n\t\t\t\tif (this.options.wrapper !== window) {\n\t\t\t\t\tlet e = this.rootElement.getBoundingClientRect();\n\t\t\t\t\tm -= this.isHorizontal ? e.left : e.top;\n\t\t\t\t}\n\t\t\t\tlet t = e.getBoundingClientRect(), n = getComputedStyle(e), r = this.isHorizontal ? Number.parseFloat(n.scrollMarginLeft) : Number.parseFloat(n.scrollMarginTop), i = getComputedStyle(this.rootElement), a = this.isHorizontal ? Number.parseFloat(i.scrollPaddingLeft) : Number.parseFloat(i.scrollPaddingTop);\n\t\t\t\tp = (this.isHorizontal ? t.left : t.top) + this.animatedScroll - (Number.isNaN(r) ? 0 : r) - (Number.isNaN(a) ? 0 : a);\n\t\t\t}\n\t\t}\n\t\tif (typeof p == \"number\") {\n\t\t\tif (p += m, this.options.infinite) {\n\t\t\t\tif (a) {\n\t\t\t\t\tthis.targetScroll = this.animatedScroll = this.scroll;\n\t\t\t\t\tlet e = p - this.animatedScroll;\n\t\t\t\t\te > this.limit / 2 ? p -= this.limit : e < -this.limit / 2 && (p += this.limit);\n\t\t\t\t}\n\t\t\t} else p = i(0, p, this.limit);\n\t\t\tp === this.targetScroll ? (l?.(this), u?.(this)) : (this.userData = f ?? {}, n ? (this.animatedScroll = this.targetScroll = p, this.setScroll(this.scroll), this.reset(), this.preventNextNativeScrollEvent(), this.emit(), u?.(this), this.userData = {}, requestAnimationFrame(() => {\n\t\t\t\tthis.dispatchScrollendEvent();\n\t\t\t})) : (a || (this.targetScroll = p), typeof s == \"number\" && typeof c != \"function\" ? c = g : typeof c == \"function\" && typeof s != \"number\" && (s = 1), this.animate.fromTo(this.animatedScroll, p, {\n\t\t\t\tduration: s,\n\t\t\t\teasing: c,\n\t\t\t\tlerp: o,\n\t\t\t\tonStart: () => {\n\t\t\t\t\tr && (this.isLocked = !0), this.isScrolling = \"smooth\", l?.(this);\n\t\t\t\t},\n\t\t\t\tonUpdate: (e, t) => {\n\t\t\t\t\tthis.isScrolling = \"smooth\", this.lastVelocity = this.velocity, this.velocity = e - this.animatedScroll, this.direction = Math.sign(this.velocity), this.animatedScroll = e, this.setScroll(this.scroll), a && (this.targetScroll = e), t || this.emit(), t && (this.reset(), this.emit(), u?.(this), this.userData = {}, requestAnimationFrame(() => {\n\t\t\t\t\t\tthis.dispatchScrollendEvent();\n\t\t\t\t\t}), this.preventNextNativeScrollEvent());\n\t\t\t\t}\n\t\t\t})));\n\t\t}\n\t}\n\tpreventNextNativeScrollEvent() {\n\t\tthis._preventNextNativeScrollEvent = !0, requestAnimationFrame(() => {\n\t\t\tthis._preventNextNativeScrollEvent = !1;\n\t\t});\n\t}\n\thasNestedScroll(e, { deltaX: t, deltaY: n }) {\n\t\tlet r = Date.now();\n\t\te._lenis ||= {};\n\t\tlet i = e._lenis, a, o, s, c, l, u, d, f, p, m;\n\t\tif (r - (i.time ?? 0) > 2e3) {\n\t\t\ti.time = Date.now();\n\t\t\tlet t = window.getComputedStyle(e);\n\t\t\tif (i.computedStyle = t, a = [\n\t\t\t\t\"auto\",\n\t\t\t\t\"overlay\",\n\t\t\t\t\"scroll\"\n\t\t\t].includes(t.overflowX), o = [\n\t\t\t\t\"auto\",\n\t\t\t\t\"overlay\",\n\t\t\t\t\"scroll\"\n\t\t\t].includes(t.overflowY), l = [\"auto\"].includes(t.overscrollBehaviorX), u = [\"auto\"].includes(t.overscrollBehaviorY), i.hasOverflowX = a, i.hasOverflowY = o, !(a || o)) return !1;\n\t\t\td = e.scrollWidth, f = e.scrollHeight, p = e.clientWidth, m = e.clientHeight, s = d > p, c = f > m, i.isScrollableX = s, i.isScrollableY = c, i.scrollWidth = d, i.scrollHeight = f, i.clientWidth = p, i.clientHeight = m, i.hasOverscrollBehaviorX = l, i.hasOverscrollBehaviorY = u;\n\t\t} else s = i.isScrollableX, c = i.isScrollableY, a = i.hasOverflowX, o = i.hasOverflowY, d = i.scrollWidth, f = i.scrollHeight, p = i.clientWidth, m = i.clientHeight, l = i.hasOverscrollBehaviorX, u = i.hasOverscrollBehaviorY;\n\t\tif (!(a && s || o && c)) return !1;\n\t\tlet h = Math.abs(t) >= Math.abs(n) ? \"horizontal\" : \"vertical\", g, _, v, y, b, x;\n\t\tif (h === \"horizontal\") g = Math.round(e.scrollLeft), _ = d - p, v = t, y = a, b = s, x = l;\n\t\telse if (h === \"vertical\") g = Math.round(e.scrollTop), _ = f - m, v = n, y = o, b = c, x = u;\n\t\telse return !1;\n\t\treturn !x && (g >= _ || g <= 0) || (v > 0 ? g < _ : g > 0) && y && b;\n\t}\n\tget rootElement() {\n\t\treturn this.options.wrapper === window ? document.documentElement : this.options.wrapper;\n\t}\n\tget limit() {\n\t\treturn this.options.naiveDimensions ? this.isHorizontal ? this.rootElement.scrollWidth - this.rootElement.clientWidth : this.rootElement.scrollHeight - this.rootElement.clientHeight : this.dimensions.limit[this.isHorizontal ? \"x\" : \"y\"];\n\t}\n\tget isHorizontal() {\n\t\treturn this.options.orientation === \"horizontal\";\n\t}\n\tget actualScroll() {\n\t\tlet e = this.options.wrapper;\n\t\treturn this.isHorizontal ? e.scrollX ?? e.scrollLeft : e.scrollY ?? e.scrollTop;\n\t}\n\tget scroll() {\n\t\treturn this.options.infinite ? s(this.animatedScroll, this.limit) : this.animatedScroll;\n\t}\n\tget progress() {\n\t\treturn this.limit === 0 ? 1 : this.scroll / this.limit;\n\t}\n\tget isScrolling() {\n\t\treturn this._isScrolling;\n\t}\n\tset isScrolling(e) {\n\t\tthis._isScrolling !== e && (this._isScrolling = e, this.updateClassName());\n\t}\n\tget isStopped() {\n\t\treturn this._isStopped;\n\t}\n\tset isStopped(e) {\n\t\tthis._isStopped !== e && (this._isStopped = e, this.updateClassName());\n\t}\n\tget isLocked() {\n\t\treturn this._isLocked;\n\t}\n\tset isLocked(e) {\n\t\tthis._isLocked !== e && (this._isLocked = e, this.updateClassName());\n\t}\n\tget isSmooth() {\n\t\treturn this.isScrolling === \"smooth\";\n\t}\n\tget prefersReducedMotion() {\n\t\treturn this.options.respectReducedMotion && this.reducedMotionMediaQuery.matches;\n\t}\n\tget className() {\n\t\tlet e = \"lenis\";\n\t\treturn this.options.autoToggle && (e += \" lenis-autoToggle\"), this.isStopped && (e += \" lenis-stopped\"), this.isLocked && (e += \" lenis-locked\"), this.isScrolling && (e += \" lenis-scrolling\"), this.isScrolling === \"smooth\" && (e += \" lenis-smooth\"), e;\n\t}\n\tupdateClassName() {\n\t\tthis.cleanUpClassName(), this.className.split(\" \").forEach((e) => {\n\t\t\tthis.rootElement.classList.add(e);\n\t\t});\n\t}\n\tcleanUpClassName() {\n\t\tfor (let e of Array.from(this.rootElement.classList)) (e === \"lenis\" || e.startsWith(\"lenis-\")) && this.rootElement.classList.remove(e);\n\t}\n}, v = (e, t, n) => n > t ? t : n < e ? e : n, y = {};\n//#endregion\n//#region node_modules/motion-utils/dist/es/memo.mjs\n/*#__NO_SIDE_EFFECTS__*/\nfunction b(e) {\n\tlet t;\n\treturn () => (t === void 0 && (t = e()), t);\n}\n//#endregion\n//#region node_modules/motion-utils/dist/es/noop.mjs\nvar x = /* @__NO_SIDE_EFFECTS__ */ (e) => e, S = /* @__NO_SIDE_EFFECTS__ */ (e) => e * 1e3, C = /* @__NO_SIDE_EFFECTS__ */ (e) => e / 1e3, w = (e, t, n) => (((1 - 3 * n + 3 * t) * e + (3 * n - 6 * t)) * e + 3 * t) * e, T = 1e-7, E = 12;\nfunction D(e, t, n, r, i) {\n\tlet a, o, s = 0;\n\tdo\n\t\to = t + (n - t) / 2, a = w(o, r, i) - e, a > 0 ? n = o : t = o;\n\twhile (Math.abs(a) > T && ++s < E);\n\treturn o;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction O(e, t, n, r) {\n\tif (e === t && n === r) return x;\n\tlet i = (t) => D(t, 0, 1, e, n);\n\treturn (e) => e === 0 || e === 1 ? e : w(i(e), t, r);\n}\n//#endregion\n//#region node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs\nvar ee = /* @__NO_SIDE_EFFECTS__ */ (e) => (t) => t <= .5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2, k = /* @__NO_SIDE_EFFECTS__ */ (e) => (t) => 1 - e(1 - t), te = /*@__PURE__*/ O(.33, 1.53, .69, .99), ne = /*@__PURE__*/ k(te), re = /*@__PURE__*/ ee(ne), j = (e) => e >= 1 ? 1 : (e *= 2) < 1 ? .5 * ne(e) : .5 * (2 - 2 ** (-10 * (e - 1))), M = (e) => 1 - Math.sin(Math.acos(e)), ie = /* @__PURE__ */ k(M), ae = /* @__PURE__ */ ee(M), oe = /*@__PURE__*/ O(.42, 0, 1, 1), se = /*@__PURE__*/ O(0, 0, .58, 1), ce = /*@__PURE__*/ O(.42, 0, .58, 1), N = /* @__NO_SIDE_EFFECTS__ */ (e) => Array.isArray(e) && typeof e[0] == \"number\", le = {\n\tlinear: x,\n\teaseIn: oe,\n\teaseInOut: ce,\n\teaseOut: se,\n\tcircIn: M,\n\tcircInOut: ae,\n\tcircOut: ie,\n\tbackIn: ne,\n\tbackInOut: re,\n\tbackOut: te,\n\tanticipate: j\n}, P = (e) => typeof e == \"string\", ue = (e) => {\n\tif (/* @__PURE__ */ N(e)) {\n\t\te.length;\n\t\tlet [t, n, r, i] = e;\n\t\treturn /* @__PURE__ */ O(t, n, r, i);\n\t}\n\treturn P(e) ? (le[e], `${e}`, le[e]) : e;\n}, de = {\n\tdelta: 0,\n\ttimestamp: 0,\n\tisProcessing: !1\n}, fe;\nfunction pe() {\n\tfe = void 0;\n}\nvar me = {\n\tnow: () => (fe === void 0 && me.set(de.isProcessing || y.useManualTiming ? de.timestamp : performance.now()), fe),\n\tset: (e) => {\n\t\tfe = e, queueMicrotask(pe);\n\t}\n}, F = (e, t, n = 10) => {\n\tlet r = \"\", i = Math.max(Math.round(t / n), 2);\n\tfor (let t = 0; t < i; t++) r += Math.round(e(t / (i - 1)) * 1e4) / 1e4 + \", \";\n\treturn `linear(${r.substring(0, r.length - 2)})`;\n}, I = 2e4;\nfunction L(e, t = 50, n = I, r) {\n\tlet i = 0, a = e.next(i);\n\tfor (r?.push(a.value); !a.done && i < n;) i += t, a = e.next(i), r?.push(a.value);\n\treturn i >= n ? Infinity : i;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs\nfunction he(e, t = 100, n) {\n\tlet r = n({\n\t\t...e,\n\t\tkeyframes: [0, t]\n\t}), i = Math.min(L(r), I);\n\treturn {\n\t\ttype: \"keyframes\",\n\t\tease: (e) => r.next(i * e).value / t,\n\t\tduration: /* @__PURE__ */ C(i)\n\t};\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/generators/spring.mjs\nvar R = {\n\tstiffness: 100,\n\tdamping: 10,\n\tmass: 1,\n\tduration: 800,\n\tbounce: .3,\n\tvisualDuration: .3,\n\trestSpeed: {\n\t\tgranular: .01,\n\t\tdefault: 2\n\t},\n\trestDelta: {\n\t\tgranular: .005,\n\t\tdefault: .5\n\t},\n\tminDuration: .01,\n\tmaxDuration: 10,\n\tminDamping: .05\n}, ge = (e) => e < 0 ? 1 / Math.max(1 + e, R.minDamping) : Math.max(1 - e, R.minDamping);\nfunction z(e, t) {\n\tif (!(e > 1)) return 1;\n\tlet n = Math.sqrt(e * e - 1), r = e - n, i = e + n, a = 2 * n * Math.exp(-t) * (1 + t);\n\treturn ve((e) => i * Math.exp(-r * e) - r * Math.exp(-i * e) - a, (e) => Math.exp(-i * e) - Math.exp(-r * e), t) / t;\n}\nfunction B(e, t) {\n\treturn e * Math.sqrt(1 - t * t);\n}\nvar _e = 12;\nfunction ve(e, t, n) {\n\tlet r = n;\n\tfor (let n = 1; n < _e; n++) r -= e(r) / t(r);\n\treturn r;\n}\nvar ye = .001;\nfunction be({ duration: e = R.duration, bounce: t = R.bounce }) {\n\tlet n, r;\n\tR.maxDuration;\n\tlet i = ge(t);\n\te = v(R.minDuration, R.maxDuration, /* @__PURE__ */ C(e)), i < 1 ? (n = (t) => {\n\t\tlet n = t * i, r = n * e, a = B(t, i), o = Math.exp(-r);\n\t\treturn ye - n / a * o;\n\t}, r = (t) => {\n\t\tlet r = t * i * e, a = i * i * t * t * e, o = Math.exp(-r), s = B(t * t, i);\n\t\treturn (-n(t) + ye > 0 ? -1 : 1) * -a * o / s;\n\t}) : (n = (t) => -.001 + Math.exp(-t * e) * (t * e + 1), r = (t) => Math.exp(-t * e) * (-t * (e * e)));\n\tlet a = 5 / e, o = ve(n, r, a), s = o * z(i, o * e), c = s * s;\n\treturn {\n\t\tstiffness: c,\n\t\tdamping: i * 2 * Math.sqrt(c),\n\t\tduration: /* @__PURE__ */ S(e)\n\t};\n}\nvar V = (e, t) => (t ? e >= 0 : e > 0) && e < Infinity;\nfunction xe(e, t) {\n\tif (V(e, t)) return e;\n}\nfunction Se(e) {\n\tlet t = xe(e.stiffness), n = xe(e.damping, !0), r = xe(e.mass), i = {\n\t\t...e,\n\t\tstiffness: t ?? R.stiffness,\n\t\tdamping: n ?? R.damping,\n\t\tmass: r ?? R.mass,\n\t\tisResolvedFromDuration: !1,\n\t\tisTimeDefined: (t ?? n ?? r) === void 0 && (e.duration !== void 0 || e.bounce !== void 0)\n\t};\n\tif (i.isTimeDefined) {\n\t\tif (e.visualDuration) {\n\t\t\tlet t = ge(e.bounce || 0), n = 2 * Math.PI / (e.visualDuration * 1.2) * z(t, 2 * Math.PI / 1.2);\n\t\t\ti.stiffness = n * n, i.damping = 2 * t * Math.sqrt(i.stiffness);\n\t\t} else Object.assign(i, be(i)), i.isResolvedFromDuration = !0;\n\t\t(!V(i.stiffness) || !V(i.damping, !0)) && (i.stiffness = R.stiffness, i.damping = R.damping);\n\t}\n\treturn i;\n}\nfunction Ce(e = R.visualDuration, t = R.bounce) {\n\tlet n = typeof e == \"object\" ? e : {\n\t\tvisualDuration: e,\n\t\tkeyframes: [0, 1],\n\t\tbounce: t\n\t}, r = n.keyframes[0], i = n.keyframes[n.keyframes.length - 1], a = {\n\t\tdone: !1,\n\t\tvalue: r\n\t}, { stiffness: o, damping: s, mass: c, duration: l, isResolvedFromDuration: u, isTimeDefined: d } = Se({ ...n }), f = (e) => d ? 0 : -/* @__PURE__ */ C(e), p = s / (2 * Math.sqrt(o * c)), m = /* @__PURE__ */ C(Math.sqrt(o / c)), h = p * m, g = {\n\t\ttarget: i,\n\t\tdelta: i - r,\n\t\tvelocity: f(n.velocity || 0) || 0,\n\t\trestSpeed: 0,\n\t\trestDelta: 0\n\t}, _ = () => {\n\t\tlet e = Math.abs(g.delta) < 5;\n\t\tg.restSpeed = n.restSpeed || (e ? R.restSpeed.granular : R.restSpeed.default), g.restDelta = n.restDelta || (e ? R.restDelta.granular : R.restDelta.default);\n\t};\n\t_();\n\tlet v, y, b;\n\tif (p < 1) {\n\t\tlet e = B(m, p), t = {\n\t\t\tA: 0,\n\t\t\tsinC: 0,\n\t\t\tcosC: 0,\n\t\t\tt: -1,\n\t\t\tenv: 0,\n\t\t\tsin: 0,\n\t\t\tcos: 0\n\t\t};\n\t\tb = () => {\n\t\t\tt.A = (g.velocity + h * g.delta) / e, t.sinC = h * t.A + g.delta * e, t.cosC = h * g.delta - t.A * e;\n\t\t};\n\t\tlet n = (n) => {\n\t\t\tn !== t.t && (t.t = n, t.env = Math.exp(-h * n), t.sin = Math.sin(e * n), t.cos = Math.cos(e * n));\n\t\t};\n\t\tv = (e) => (n(e), g.target - t.env * (t.A * t.sin + g.delta * t.cos)), y = (e) => (n(e), t.env * (t.sinC * t.sin + t.cosC * t.cos));\n\t} else if (p === 1) {\n\t\tv = (e) => g.target - Math.exp(-m * e) * (g.delta + (g.velocity + m * g.delta) * e);\n\t\tlet e = { C: 0 };\n\t\tb = () => {\n\t\t\te.C = g.velocity + m * g.delta;\n\t\t}, y = (t) => Math.exp(-m * t) * (m * e.C * t - g.velocity);\n\t} else {\n\t\tlet e = m * Math.sqrt(p * p - 1), t = h - e, n = h + e, r = d ? Infinity : 300 / e, i = (e, t) => Math.exp(t > r ? -e * r - h * (t - r) : -e * t), a = {\n\t\t\tS: 0,\n\t\t\tF: 0\n\t\t};\n\t\tb = () => {\n\t\t\tlet t = (g.velocity + h * g.delta) / e;\n\t\t\ta.S = (g.delta + t) / 2, a.F = (g.delta - t) / 2;\n\t\t}, v = (e) => g.target - a.S * i(t, e) - a.F * i(n, e), y = (e) => t * a.S * i(t, e) + n * a.F * i(n, e);\n\t}\n\tb();\n\tlet x = u && l || null, w = {\n\t\tcalculatedDuration: x,\n\t\tretarget: (e, t) => {\n\t\t\tg.target = e[e.length - 1], g.delta = g.target - e[0], g.velocity = f(t), n.restSpeed && n.restDelta || _(), w.calculatedDuration = x, a.done = !1, b();\n\t\t},\n\t\tvelocity: (e) => /* @__PURE__ */ S(y(e)),\n\t\tnext: (e) => {\n\t\t\tlet t = v(e);\n\t\t\tif (u) a.done = e >= l;\n\t\t\telse {\n\t\t\t\tlet n = /* @__PURE__ */ S(y(e));\n\t\t\t\ta.done = Math.abs(n) <= g.restSpeed && Math.abs(g.target - t) <= g.restDelta;\n\t\t\t}\n\t\t\treturn a.value = a.done ? g.target : t, a;\n\t\t},\n\t\ttoString: () => {\n\t\t\tlet e = Math.min(L(w), I), t = F((t) => w.next(e * t).value, e, 30);\n\t\t\treturn e + \"ms \" + t;\n\t\t},\n\t\ttoTransition: () => {}\n\t};\n\treturn w;\n}\nCe.applyToOptions = (e) => {\n\tlet t = he(e, 100, Ce);\n\treturn e.ease = t.ease, e.duration = /* @__PURE__ */ S(t.duration), e.type = \"keyframes\", e;\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs\nvar we = (e) => e !== null;\nfunction Te(e, { repeat: t, repeatType: n = \"loop\" }, r, i = 1) {\n\tlet a = e.filter(we), o = i < 0 || t && n !== \"loop\" && t % 2 == 1 ? 0 : a.length - 1;\n\treturn !o || r === void 0 ? a[o] : r;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/notify-inspector.mjs\nfunction Ee(e, t) {\n\treturn {\n\t\tkind: e,\n\t\tanimation: t,\n\t\ttimestamp: me.now(),\n\t\tframeTimestamp: de.timestamp,\n\t\tframeIsProcessing: de.isProcessing\n\t};\n}\nfunction De(e, t, n) {\n\tlet r = globalThis.__MOTION_INSPECT__;\n\tif (r) try {\n\t\tr({\n\t\t\t...Ee(\"animation-start\", e),\n\t\t\toptions: n ? {\n\t\t\t\t...t,\n\t\t\t\t...n\n\t\t\t} : t\n\t\t});\n\t} catch {}\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs\nvar Oe = class {\n\tconstructor() {\n\t\tthis.isResolved = !1;\n\t}\n\tget finished() {\n\t\treturn this._finished ||= this.isResolved ? Promise.resolve() : new Promise((e) => {\n\t\t\tthis._resolve = e;\n\t\t}), this._finished;\n\t}\n\tupdateFinished() {\n\t\tthis._finished = this._resolve = void 0, this.isResolved = !1;\n\t}\n\tnotifyFinished() {\n\t\tthis.isResolved = !0, this._resolve?.();\n\t}\n\tthen(e, t) {\n\t\treturn this.finished.then(e, t);\n\t}\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs\nfunction ke(e) {\n\tfor (let t = 1; t < e.length; t++) e[t] ?? (e[t] = e[t - 1]);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs\nvar Ae = (e) => e.startsWith(\"--\");\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/dom/style-set.mjs\nfunction je(e, t, n) {\n\tAe(t) ? e.style.setProperty(t, n) : e.style[t] = n;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/supports/flags.mjs\nvar Me = {};\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/supports/memo.mjs\nfunction Ne(e, t) {\n\tlet n = /* @__PURE__ */ b(e);\n\treturn () => Me[t] ?? n();\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs\nvar Pe = /* @__PURE__ */ Ne(() => window.ScrollTimeline !== void 0, \"scrollTimeline\"), Fe = /*@__PURE__*/ Ne(() => {\n\ttry {\n\t\tdocument.createElement(\"div\").animate({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n\t} catch {\n\t\treturn !1;\n\t}\n\treturn !0;\n}, \"linearEasing\"), Ie = ([e, t, n, r]) => `cubic-bezier(${e}, ${t}, ${n}, ${r})`, Le = {\n\tlinear: \"linear\",\n\tease: \"ease\",\n\teaseIn: \"ease-in\",\n\teaseOut: \"ease-out\",\n\teaseInOut: \"ease-in-out\",\n\tcircIn: /*@__PURE__*/ Ie([\n\t\t0,\n\t\t.65,\n\t\t.55,\n\t\t1\n\t]),\n\tcircOut: /*@__PURE__*/ Ie([\n\t\t.55,\n\t\t0,\n\t\t1,\n\t\t.45\n\t]),\n\tbackIn: /*@__PURE__*/ Ie([\n\t\t.31,\n\t\t.01,\n\t\t.66,\n\t\t-.59\n\t]),\n\tbackOut: /*@__PURE__*/ Ie([\n\t\t.33,\n\t\t1.53,\n\t\t.69,\n\t\t.99\n\t])\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs\nfunction Re(e, t) {\n\tif (e) return typeof e == \"function\" ? Fe() ? F(e, t) : \"ease-out\" : /* @__PURE__ */ N(e) ? Ie(e) : Array.isArray(e) ? e.map((e) => Re(e, t) || Le.easeOut) : Le[e];\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs\nfunction ze(e, t, n, { delay: r = 0, duration: i = 300, repeat: a = 0, repeatType: o = \"loop\", ease: s = \"easeOut\", times: c } = {}, l = void 0) {\n\tlet u = { [t]: n };\n\tc && (u.offset = c);\n\tlet d = Re(s, i);\n\tArray.isArray(d) && (u.easing = d);\n\tlet f = {\n\t\tdelay: r,\n\t\tduration: i,\n\t\teasing: Array.isArray(d) ? \"linear\" : d,\n\t\tfill: \"both\",\n\t\titerations: a + 1,\n\t\tdirection: o === \"reverse\" ? \"alternate\" : \"normal\"\n\t};\n\treturn l && (f.pseudoElement = l), e.animate(u, f);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs\nfunction Be(e) {\n\treturn typeof e == \"function\" && \"applyToOptions\" in e;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs\nfunction Ve({ type: e, ...t }) {\n\treturn Be(e) && Fe() ? e.applyToOptions(t) : (t.duration ??= 300, t.ease ??= \"easeOut\", t);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs\nvar He = class extends Oe {\n\tconstructor(e) {\n\t\tif (super(), this.finishedTime = null, this.isStopped = !1, this.manualStartTime = null, !e) return;\n\t\tlet { element: t, name: n, keyframes: r, pseudoElement: i, allowFlatten: a = !1, finalKeyframe: o, onComplete: s } = e;\n\t\tthis.isPseudoElement = !!i, this.allowFlatten = a, this.options = e, e.type;\n\t\tlet c = Ve(e);\n\t\tthis.animation = ze(t, n, r, c, i), c.autoplay === !1 && this.animation.pause(), this.animation.onfinish = () => {\n\t\t\tif (this.finishedTime = this.time, !i) {\n\t\t\t\tlet e = Te(r, this.options, o, this.speed);\n\t\t\t\tthis.updateMotionValue && this.updateMotionValue(e), je(t, n, e), this.animation.cancel();\n\t\t\t}\n\t\t\ts?.(), this.notifyFinished();\n\t\t}, De(this, e, c);\n\t}\n\tplay() {\n\t\tthis.isStopped || (this.manualStartTime = null, this.animation.play(), this.state === \"finished\" && this.updateFinished());\n\t}\n\tpause() {\n\t\tthis.animation.pause();\n\t}\n\tcomplete() {\n\t\tthis.animation.finish?.();\n\t}\n\tcancel() {\n\t\ttry {\n\t\t\tthis.animation.cancel();\n\t\t} catch {}\n\t}\n\tstop() {\n\t\tif (this.isStopped) return;\n\t\tthis.isStopped = !0;\n\t\tlet { state: e } = this;\n\t\te !== \"idle\" && e !== \"finished\" && (this.updateMotionValue ? this.updateMotionValue() : this.commitStyles(), this.isPseudoElement || this.cancel());\n\t}\n\tcommitStyles() {\n\t\tlet e = this.options?.element;\n\t\t!this.isPseudoElement && e?.isConnected && this.animation.commitStyles?.();\n\t}\n\tget duration() {\n\t\tlet e = this.animation.effect?.getComputedTiming?.().duration || 0;\n\t\treturn /* @__PURE__ */ C(Number(e));\n\t}\n\tget iterationDuration() {\n\t\tlet { delay: e = 0 } = this.options || {};\n\t\treturn this.duration + /* @__PURE__ */ C(e);\n\t}\n\tget time() {\n\t\treturn /* @__PURE__ */ C(Number(this.animation.currentTime) || 0);\n\t}\n\tset time(e) {\n\t\tlet t = this.finishedTime !== null;\n\t\tthis.manualStartTime = null, this.finishedTime = null, this.animation.currentTime = /* @__PURE__ */ S(e), t && this.animation.pause();\n\t}\n\tget speed() {\n\t\treturn this.animation.playbackRate;\n\t}\n\tset speed(e) {\n\t\te < 0 && (this.finishedTime = null), this.animation.playbackRate = e;\n\t}\n\tget state() {\n\t\treturn this.finishedTime === null ? this.animation.playState : \"finished\";\n\t}\n\tget startTime() {\n\t\treturn this.manualStartTime ?? Number(this.animation.startTime);\n\t}\n\tset startTime(e) {\n\t\tthis.manualStartTime = this.animation.startTime = e;\n\t}\n\tattachTimeline({ timeline: e, onAttach: t, observe: n }) {\n\t\treturn this.allowFlatten && this.animation.effect?.updateTiming({ easing: \"linear\" }), this.animation.onfinish = null, e && Pe() ? (this.animation.timeline = e, t?.(this.animation), x) : n(this);\n\t}\n}, Ue = class {\n\tconstructor(e) {\n\t\tthis.stop = () => this.runAll(\"stop\"), this.animations = e.filter(Boolean);\n\t}\n\tget finished() {\n\t\treturn Promise.all(this.animations.map((e) => e.finished));\n\t}\n\tgetAll(e) {\n\t\treturn this.animations[0][e];\n\t}\n\tsetAll(e, t) {\n\t\tfor (let n = 0; n < this.animations.length; n++) this.animations[n][e] = t;\n\t}\n\tattachTimeline(e) {\n\t\tlet t = this.animations.map((t) => t.attachTimeline(e));\n\t\treturn () => {\n\t\t\tt.forEach((e, t) => {\n\t\t\t\te && e(), this.animations[t].stop();\n\t\t\t});\n\t\t};\n\t}\n\tget time() {\n\t\treturn this.getAll(\"time\");\n\t}\n\tset time(e) {\n\t\tthis.setAll(\"time\", e);\n\t}\n\tget speed() {\n\t\treturn this.getAll(\"speed\");\n\t}\n\tset speed(e) {\n\t\tthis.setAll(\"speed\", e);\n\t}\n\tget state() {\n\t\treturn this.getAll(\"state\");\n\t}\n\tget startTime() {\n\t\treturn this.getAll(\"startTime\");\n\t}\n\tget duration() {\n\t\treturn We(this.animations, \"duration\");\n\t}\n\tget iterationDuration() {\n\t\treturn We(this.animations, \"iterationDuration\");\n\t}\n\trunAll(e) {\n\t\tthis.animations.forEach((t) => t[e]());\n\t}\n\tplay() {\n\t\tthis.runAll(\"play\");\n\t}\n\tpause() {\n\t\tthis.runAll(\"pause\");\n\t}\n\tcancel() {\n\t\tthis.runAll(\"cancel\");\n\t}\n\tcomplete() {\n\t\tthis.runAll(\"complete\");\n\t}\n};\nfunction We(e, t) {\n\tlet n = 0;\n\tfor (let r = 0; r < e.length; r++) {\n\t\tlet i = e[r][t];\n\t\ti !== null && i > n && (n = i);\n\t}\n\treturn n;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/GroupAnimationWithThen.mjs\nvar Ge = class extends Ue {\n\tthen(e, t) {\n\t\treturn this.finished.finally(e).then(() => {});\n\t}\n}, Ke = /* @__PURE__ */ new WeakMap(), qe = (e, t = \"\") => `${e}:${t}`;\nfunction Je(e) {\n\tlet t = Ke.get(e);\n\treturn t || (t = /* @__PURE__ */ new Map(), Ke.set(e, t)), t;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs\nfunction Ye(e, t) {\n\tif (e?.inherit && t) {\n\t\tlet { inherit: n, ...r } = e;\n\t\treturn {\n\t\t\t...t,\n\t\t\t...r\n\t\t};\n\t}\n\treturn e;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs\nfunction Xe(e, t) {\n\tlet n = e?.[t] ?? e?.default ?? e;\n\treturn n === e ? n : Ye(n, e);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/waapi/utils/px-values.mjs\nvar Ze = /* @__PURE__ */ new Set(/* @__PURE__ */ \"borderWidth.borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderRadius.borderTopLeftRadius.borderTopRightRadius.borderBottomRightRadius.borderBottomLeftRadius.width.maxWidth.height.maxHeight.top.right.bottom.left.inset.insetBlock.insetBlockStart.insetBlockEnd.insetInline.insetInlineStart.insetInlineEnd.padding.paddingTop.paddingRight.paddingBottom.paddingLeft.paddingBlock.paddingBlockStart.paddingBlockEnd.paddingInline.paddingInlineStart.paddingInlineEnd.margin.marginTop.marginRight.marginBottom.marginLeft.marginBlock.marginBlockStart.marginBlockEnd.marginInline.marginInlineStart.marginInlineEnd.fontSize.backgroundPositionX.backgroundPositionY\".split(\".\"));\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/utils/apply-px-defaults.mjs\nfunction Qe(e, t) {\n\tfor (let n = 0; n < e.length; n++) typeof e[n] == \"number\" && Ze.has(t) && (e[n] = e[n] + \"px\");\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/resolve-elements.mjs\nfunction $e(e, t, n) {\n\tif (e == null) return [];\n\tif (e instanceof EventTarget) return [e];\n\tif (typeof e == \"string\") {\n\t\tlet r = document;\n\t\tt && (r = t.current);\n\t\tlet i = n?.[e] ?? r.querySelectorAll(e);\n\t\treturn i ? Array.from(i) : [];\n\t}\n\treturn Array.from(e).filter((e) => e != null);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/dom/style-computed.mjs\nfunction et(e, t) {\n\tlet n = window.getComputedStyle(e);\n\treturn Ae(t) ? n.getPropertyValue(t) : n[t];\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/stagger.mjs\nfunction tt(e, t) {\n\tif (e === \"first\") return 0;\n\t{\n\t\tlet n = t - 1;\n\t\treturn e === \"last\" ? n : n / 2;\n\t}\n}\nfunction nt(e = .1, { startDelay: t = 0, from: n = 0, ease: r } = {}) {\n\treturn (i, a) => {\n\t\tlet o = typeof n == \"number\" ? n : tt(n, a), s = e * Math.abs(o - i);\n\t\tif (r) {\n\t\t\tlet t = a * e;\n\t\t\ts = ue(r)(s / t) * t;\n\t\t}\n\t\treturn t + s;\n\t};\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs\nfunction rt(e, t, n, r) {\n\tif (e == null) return [];\n\tlet i = $e(e, r), a = i.length, o = [];\n\tfor (let e = 0; e < a; e++) {\n\t\tlet r = i[e], s = { ...n };\n\t\ttypeof s.delay == \"function\" && (s.delay = s.delay(e, a));\n\t\tfor (let e in t) {\n\t\t\tlet n = t[e];\n\t\t\tArray.isArray(n) || (n = [n]);\n\t\t\tlet i = { ...Xe(s, e) };\n\t\t\ti.duration &&= /* @__PURE__ */ S(i.duration), i.delay &&= /* @__PURE__ */ S(i.delay);\n\t\t\tlet a = Je(r), c = qe(e, i.pseudoElement || \"\"), l = a.get(c);\n\t\t\tl && l.stop(), o.push({\n\t\t\t\tmap: a,\n\t\t\t\tkey: c,\n\t\t\t\tunresolvedKeyframes: n,\n\t\t\t\toptions: {\n\t\t\t\t\t...i,\n\t\t\t\t\telement: r,\n\t\t\t\t\tname: e,\n\t\t\t\t\tallowFlatten: !s.type && !s.ease\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tfor (let e = 0; e < o.length; e++) {\n\t\tlet { unresolvedKeyframes: t, options: n } = o[e], { element: r, name: i, pseudoElement: a } = n;\n\t\t!a && t[0] === null && (t[0] = et(r, i)), ke(t), Qe(t, i), !a && t.length < 2 && t.unshift(et(r, i)), n.keyframes = t;\n\t}\n\tlet s = [];\n\tfor (let e = 0; e < o.length; e++) {\n\t\tlet { map: t, key: n, options: r } = o[e], i = new He(r);\n\t\tt.set(n, i), i.finished.finally(() => t.delete(n)), s.push(i);\n\t}\n\treturn s;\n}\nvar it = /*@__PURE__*/ ((e) => {\n\tfunction t(t, n, r) {\n\t\treturn new Ge(rt(t, n, r, e));\n\t}\n\treturn t;\n})(), at = {\n\ttype: Ce,\n\tvisualDuration: .38,\n\tbounce: .18\n}, ot = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.A = window.A, this.reduced = this.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.fine = this.A?.fine ?? matchMedia(\"(hover: hover) and (pointer: fine)\").matches, this.header = this.closest(\".site-header\") || this, this.bar = this.querySelector(\".nav-bar\"), this.ac = new AbortController();\n\t\tlet e = this.ac.signal;\n\t\tthis.initScroll(e), this.initLogo(e), this.initPill(e), this.initMega(e), this.initMobile(e);\n\t}\n\tdisconnectedCallback() {\n\t\tthis.ac?.abort();\n\t}\n\tinitScroll(e) {\n\t\tlet t = this.header, n = scrollY, r = 0, i = !1, a = (e) => {\n\t\t\te !== i && (i = e, t.classList.toggle(\"is-hidden\", e), document.documentElement.classList.toggle(\"is-header-hidden\", e), e || s());\n\t\t};\n\t\tdocument.documentElement.classList.remove(\"is-header-hidden\");\n\t\tlet o = [], s = () => {\n\t\t\tif (i) return;\n\t\t\t(!o.length || document.readyState === \"loading\") && (o = [...document.querySelectorAll(\"[data-header-dark]\")]);\n\t\t\tlet e = this.bar.getBoundingClientRect(), n = e.top + e.height / 2;\n\t\t\tt.classList.toggle(\"is-on-dark\", o.some((e) => {\n\t\t\t\tlet t = e.getBoundingClientRect();\n\t\t\t\treturn t.top < n && t.bottom > n;\n\t\t\t}));\n\t\t}, c = innerHeight, l = () => {\n\t\t\tlet e = document.documentElement.scrollHeight - innerHeight, i = Math.min(Math.max(scrollY, 0), Math.max(0, e)), o = i - n;\n\t\t\tif (n = i, t.classList.toggle(\"is-scrolled\", i > 40), s(), innerHeight !== c) c = innerHeight, r = 0;\n\t\t\telse if (o) {\n\t\t\t\tif (Math.sign(o) !== Math.sign(r) && (r = 0), r += o, i < 160 || this.megaOpen || t.contains(document.activeElement)) return a(!1);\n\t\t\t\tr > 64 ? a(!0) : r < -48 && a(!1);\n\t\t\t}\n\t\t};\n\t\taddEventListener(\"scroll\", l, {\n\t\t\tpassive: !0,\n\t\t\tsignal: e\n\t\t}), addEventListener(\"resize\", s, {\n\t\t\tpassive: !0,\n\t\t\tsignal: e\n\t\t}), document.readyState === \"loading\" && document.addEventListener(\"DOMContentLoaded\", s, {\n\t\t\tonce: !0,\n\t\t\tsignal: e\n\t\t}), l();\n\t}\n\tshine(e, t = 0) {\n\t\tlet n = e?.querySelector(\".logo-sheen\");\n\t\t!n || this.reduced || n.running || (n.running = n.animate([{ transform: \"translateX(0)\" }, { transform: \"translateX(720px)\" }], {\n\t\t\tduration: 1150,\n\t\t\tdelay: t,\n\t\t\teasing: \"cubic-bezier(.45, 0, .2, 1)\"\n\t\t}), n.running.finished.catch(() => {}).finally(() => {\n\t\t\tn.running = null;\n\t\t}));\n\t}\n\tinitLogo(e) {\n\t\tlet t = this.querySelector(\".brand\"), n = t?.querySelector(\".logo-fx\");\n\t\tif (!n) return;\n\t\tt.addEventListener(\"pointerenter\", () => this.shine(n), { signal: e });\n\t\tlet r = document.documentElement, i = () => this.shine(n, 400);\n\t\tif (r.classList.contains(\"is-loaded\")) i();\n\t\telse {\n\t\t\tlet t = new MutationObserver(() => {\n\t\t\t\tr.classList.contains(\"is-loaded\") && (t.disconnect(), i());\n\t\t\t});\n\t\t\tt.observe(r, {\n\t\t\t\tattributes: !0,\n\t\t\t\tattributeFilter: [\"class\"]\n\t\t\t}), e.addEventListener(\"abort\", () => t.disconnect());\n\t\t}\n\t}\n\tinitPill(e) {\n\t\tlet t = this.querySelector(\".nav-pill\"), n = this.querySelector(\".nav-links\");\n\t\tif (!t || !n) return;\n\t\tthis.bar.classList.add(\"has-pill\");\n\t\tlet r = [...n.querySelectorAll(\":scope > li > a, :scope > li > button\")], i = r.find((e) => e.matches(\"[aria-current=\\\"page\\\"], [data-current]\")), a = !1, o = null, s = null, c = () => this.megaOpen ? this.toggle : s || i, l = (e, n = !1) => {\n\t\t\tif (o = e, !e || !e.offsetWidth) {\n\t\t\t\ta && (a = !1, it(t, { opacity: 0 }, { duration: .2 }));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet r = {\n\t\t\t\ttransform: `translateX(${e.offsetLeft}px)`,\n\t\t\t\twidth: `${e.offsetWidth}px`\n\t\t\t};\n\t\t\t!a || n || this.reduced ? (it(t, r, { duration: 0 }), it(t, { opacity: 1 }, { duration: n || this.reduced ? 0 : .2 })) : it(t, r, at), a = !0;\n\t\t};\n\t\tthis.pillHome = (e = !1) => l(c(), e), r.forEach((t) => {\n\t\t\tt.addEventListener(\"pointerenter\", () => {\n\t\t\t\ts = t, l(t);\n\t\t\t}, { signal: e }), t.addEventListener(\"pointerleave\", () => {\n\t\t\t\ts === t && (s = null);\n\t\t\t}, { signal: e }), t.addEventListener(\"focus\", () => {\n\t\t\t\tt.matches(\":focus-visible\") && l(t);\n\t\t\t}, { signal: e });\n\t\t}), n.addEventListener(\"pointerleave\", () => this.pillHome(), { signal: e }), n.addEventListener(\"focusout\", (e) => {\n\t\t\tn.contains(e.relatedTarget) || this.pillHome();\n\t\t}, { signal: e });\n\t\tlet u = new ResizeObserver(() => l(o, !0));\n\t\t[\n\t\t\tthis.bar,\n\t\t\t...this.bar.children,\n\t\t\t...r\n\t\t].filter((e) => e !== t).forEach((e) => u.observe(e)), e.addEventListener(\"abort\", () => u.disconnect()), this.pillHome(!0);\n\t}\n\tinitMega(e) {\n\t\tlet t = this.toggle = this.querySelector(\"[data-mega-toggle]\"), n = this.querySelector(\"#mega\"), r = document.querySelector(\"[data-mega-scrim]\");\n\t\tif (!t || !n) return;\n\t\tlet i = t.closest(\"li\"), a = [...n.querySelectorAll(\"[data-mega-cat]\")], o = new Map([...n.querySelectorAll(\"[data-mega-panel]\")].map((e) => [e.dataset.megaPanel, e])), s = n.querySelector(\".mega__panels\"), c = a.find((e) => e.getAttribute(\"aria-current\") === \"page\")?.dataset.megaCat || \"all\", l = \"all\", u, d, f = 0, p = !1, m = (e, t = !0) => {\n\t\t\tlet n = o.get(l), r = o.get(e);\n\t\t\tif (!r || e === l || (l = e, a.forEach((t) => t.classList.toggle(\"is-active\", t.dataset.megaCat === e)), n.hidden = !0, r.hidden = !1, !t || this.reduced)) return;\n\t\t\tlet i = r.querySelectorAll(\".mega__head, .mega__prod\");\n\t\t\tit(i, {\n\t\t\t\topacity: [0, 1],\n\t\t\t\ttransform: [\"translateY(10px)\", \"none\"]\n\t\t\t}, {\n\t\t\t\t...at,\n\t\t\t\tdelay: nt(.035)\n\t\t\t}).then(() => i.forEach((e) => {\n\t\t\t\te.style.transform = \"\", e.style.opacity = \"\";\n\t\t\t}));\n\t\t}, h = (e = \"click\") => {\n\t\t\tclearTimeout(d), !this.megaOpen && (p || (p = !0, n.querySelectorAll(\"img[loading=\\\"lazy\\\"]\").forEach((e) => e.loading = \"eager\")), m(c, !1), this.megaOpen = !0, f = e === \"hover\" ? performance.now() : 0, n.classList.add(\"is-open\"), this.header.classList.add(\"is-mega-open\"), r?.classList.add(\"is-on\"), t.setAttribute(\"aria-expanded\", \"true\"), this.pillHome?.());\n\t\t}, g = () => {\n\t\t\tclearTimeout(u), this.megaOpen && (this.megaOpen = !1, n.classList.remove(\"is-open\"), this.header.classList.remove(\"is-mega-open\"), r?.classList.remove(\"is-on\"), t.setAttribute(\"aria-expanded\", \"false\"), this.pillHome?.());\n\t\t};\n\t\tt.addEventListener(\"click\", () => {\n\t\t\tthis.megaOpen ? performance.now() - f > 450 && g() : h();\n\t\t}, { signal: e }), this.fine && (i.addEventListener(\"pointerenter\", () => {\n\t\t\tclearTimeout(d), this.megaOpen || (u = setTimeout(() => h(\"hover\"), 90));\n\t\t}, { signal: e }), i.addEventListener(\"pointerleave\", () => {\n\t\t\tclearTimeout(u), d = setTimeout(g, 220);\n\t\t}, { signal: e })), r?.addEventListener(\"click\", g, { signal: e }), t.addEventListener(\"keydown\", (e) => {\n\t\t\te.key === \"ArrowDown\" && (e.preventDefault(), h(), a.find((e) => e.classList.contains(\"is-active\"))?.focus());\n\t\t}, { signal: e }), n.addEventListener(\"keydown\", (e) => {\n\t\t\tlet t = a.indexOf(document.activeElement);\n\t\t\tt > -1 && (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") ? (e.preventDefault(), a[(t + (e.key === \"ArrowDown\" ? 1 : -1) + a.length) % a.length].focus()) : t > -1 && e.key === \"ArrowRight\" ? (e.preventDefault(), o.get(l)?.querySelector(\".mega__prod\")?.focus()) : e.key === \"ArrowLeft\" && e.target.closest(\".mega__panels\") && (e.preventDefault(), a.find((e) => e.dataset.megaCat === l)?.focus());\n\t\t}, { signal: e }), document.addEventListener(\"keydown\", (e) => {\n\t\t\te.key === \"Escape\" && this.megaOpen && (g(), t.focus());\n\t\t}, { signal: e }), i.addEventListener(\"focusout\", (e) => {\n\t\t\te.relatedTarget && !i.contains(e.relatedTarget) && g();\n\t\t}, { signal: e });\n\t\t// Deterministic category selection on mouse/pointer hover, focus and primary click.\n\t\ta.forEach((link) => {\n\t\t\tconst selectCategory = () => m(link.dataset.megaCat);\n\t\t\tlink.addEventListener(\"pointerenter\", selectCategory, { signal: e });\n\t\t\tlink.addEventListener(\"mouseenter\", selectCategory, { signal: e });\n\t\t\tlink.addEventListener(\"focus\", selectCategory, { signal: e });\n\t\t\tlink.addEventListener(\"click\", (event) => {\n\t\t\t\tif (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCategory();\n\t\t\t}, { signal: e });\n\t\t});\n\t}\n\tinitMobile(e) {\n\t\tlet t = document.getElementById(\"mnav\"), n = this.querySelector(\"[data-mnav-open]\"), r = t?.querySelector(\"[data-mnav-close]\");\n\t\tif (!t || !n || !r) return;\n\t\tlet i = !1, a = [], o = (e) => {\n\t\t\tif (e) {\n\t\t\t\tlet e = (n) => [...n.children].flatMap((n) => n === t ? [] : n.contains(t) ? e(n) : [n]);\n\t\t\t\ta = e(document.body).filter((e) => !e.inert && !e.matches(\"script, #search, [data-toasts]\")), a.forEach((e) => e.inert = !0);\n\t\t\t} else a.forEach((e) => e.inert = !1), a = [];\n\t\t}, s = () => {\n\t\t\tif (i) return;\n\t\t\ti = !0, t.classList.add(\"is-open\"), n.setAttribute(\"aria-expanded\", \"true\"), this.A?.lock(), o(!0);\n\t\t\tlet e = t.querySelector(\".mnav__cat[aria-current]\"), a = e?.parentElement;\n\t\t\ta && (a.scrollLeft += e.getBoundingClientRect().left - a.getBoundingClientRect().left - parseFloat(getComputedStyle(a).paddingLeft)), history.pushState({ mnav: !0 }, \"\"), setTimeout(() => r.focus(), 300), this.shine(t.querySelector(\".logo-fx\"), 450);\n\t\t}, c = (e = !1) => {\n\t\t\tif (i) {\n\t\t\t\tif (i = !1, t.classList.remove(\"is-open\"), n.setAttribute(\"aria-expanded\", \"false\"), this.A?.unlock(), o(!1), !e && history.state?.mnav) {\n\t\t\t\t\tlet e = history.scrollRestoration;\n\t\t\t\t\thistory.scrollRestoration = \"manual\", addEventListener(\"popstate\", () => {\n\t\t\t\t\t\thistory.scrollRestoration = e;\n\t\t\t\t\t}, { once: !0 }), history.back();\n\t\t\t\t}\n\t\t\t\tn.focus({ preventScroll: !0 });\n\t\t\t}\n\t\t};\n\t\tn.addEventListener(\"click\", s, { signal: e }), r.addEventListener(\"click\", () => c(), { signal: e }), t.addEventListener(\"keydown\", (e) => {\n\t\t\te.key === \"Escape\" && c();\n\t\t}, { signal: e }), addEventListener(\"popstate\", () => c(!0), { signal: e }), t.addEventListener(\"click\", (e) => {\n\t\t\tlet t = e.target.closest(\"a[href]\");\n\t\t\tif (!t || t.target === \"_blank\" || this.A?.lenis) return;\n\t\t\tlet n = new URL(t.href, location.href);\n\t\t\tif (n.pathname !== location.pathname || n.search !== location.search || n.hash.length < 2) return;\n\t\t\te.preventDefault();\n\t\t\tlet r = () => {\n\t\t\t\tlet e = document.querySelector(n.hash), t = e && this.A?.fitTop?.(e);\n\t\t\t\tt == null ? location.hash = n.hash : (scrollTo({\n\t\t\t\t\ttop: t,\n\t\t\t\t\tbehavior: this.A?.reduced ? \"instant\" : \"smooth\"\n\t\t\t\t}), history.replaceState(null, \"\", n.hash));\n\t\t\t};\n\t\t\thistory.state?.mnav ? addEventListener(\"popstate\", () => setTimeout(r), { once: !0 }) : setTimeout(r), c();\n\t\t}, { signal: e });\n\t\tlet l = matchMedia(\"(min-width: 1080px)\");\n\t\tl.addEventListener(\"change\", () => {\n\t\t\tl.matches && c();\n\t\t}, { signal: e });\n\t}\n};\ncustomElements.define(\"aura-header\", ot);\n//#endregion\n//#region src/announce/aura-announce.js\nvar st = 5e3, ct = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tif (this.track = this.querySelector(\".announce__track\"), this.msgs = [...this.querySelectorAll(\".announce__msg\")], !this.track || this.msgs.length < 2) return;\n\t\tthis.reduced = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.i = Math.max(0, this.msgs.findIndex((e) => e.classList.contains(\"is-active\"))), this.holds = /* @__PURE__ */ new Set(), this.ac = new AbortController();\n\t\tlet e = this.ac.signal;\n\t\tthis.addEventListener(\"click\", (e) => {\n\t\t\tlet t = e.target.closest(\"[data-announce-step]\");\n\t\t\tt && this.step(Number(t.dataset.announceStep), !0);\n\t\t}, { signal: e });\n\t\tlet t = (e, t) => {\n\t\t\tt ? this.holds.add(e) : this.holds.delete(e), this.schedule();\n\t\t};\n\t\tthis.addEventListener(\"pointerenter\", (e) => e.pointerType === \"mouse\" && t(\"hover\", !0), { signal: e }), this.addEventListener(\"pointerleave\", () => t(\"hover\", !1), { signal: e }), this.addEventListener(\"focusin\", () => t(\"focus\", !0), { signal: e }), this.addEventListener(\"focusout\", (e) => {\n\t\t\tthis.contains(e.relatedTarget) || t(\"focus\", !1);\n\t\t}, { signal: e }), document.addEventListener(\"visibilitychange\", () => t(\"hidden\", document.hidden), { signal: e });\n\t\tlet n = null, r = !1;\n\t\tthis.track.addEventListener(\"pointerdown\", (e) => {\n\t\t\te.pointerType !== \"mouse\" && (n = e.clientX, r = !1, t(\"touch\", !0));\n\t\t}, { signal: e }), this.track.addEventListener(\"pointerup\", (e) => {\n\t\t\tif (n === null) return;\n\t\t\tlet i = e.clientX - n;\n\t\t\tn = null, Math.abs(i) > 30 && (r = !0, this.step(i < 0 ? 1 : -1, !0)), setTimeout(() => t(\"touch\", !1), 1500);\n\t\t}, { signal: e }), this.track.addEventListener(\"pointercancel\", () => {\n\t\t\tn = null, t(\"touch\", !1);\n\t\t}, { signal: e }), this.track.addEventListener(\"click\", (e) => {\n\t\t\tr &&= (e.preventDefault(), !1);\n\t\t}, { signal: e }), this.schedule();\n\t}\n\tdisconnectedCallback() {\n\t\tthis.ac?.abort(), clearTimeout(this.t);\n\t}\n\tschedule() {\n\t\tclearTimeout(this.t), !(this.reduced || this.holds.size) && (this.t = setTimeout(() => this.step(1, !1), st));\n\t}\n\tstep(e, t) {\n\t\tlet n = this.msgs.length, r = this.msgs[this.i];\n\t\tthis.i = (this.i + e + n) % n;\n\t\tlet i = this.msgs[this.i];\n\t\tthis.track.dataset.dir = e < 0 ? \"prev\" : \"next\", this.track.setAttribute(\"aria-live\", t ? \"polite\" : \"off\");\n\t\tlet a = r.contains(document.activeElement);\n\t\tr.classList.remove(\"is-active\"), r.classList.add(\"is-leaving\"), r.inert = !0, i.style.transition = \"none\", i.classList.remove(\"is-leaving\"), i.offsetWidth, i.style.transition = \"\", i.classList.add(\"is-active\"), i.inert = !1, a && i.focus({ preventScroll: !0 }), clearTimeout(r.leaveT), r.leaveT = setTimeout(() => r.classList.remove(\"is-leaving\"), 800), this.schedule();\n\t}\n};\n//#endregion\n//#region src/header/instant-nav.js\nif (customElements.define(\"aura-announce\", ct), HTMLScriptElement.supports?.(\"speculationrules\")) {\n\tlet e = [\"/cart*\", \"/checkout*\"], t = matchMedia(\"(hover: none)\").matches, n = { and: [{ href_matches: \"/*\" }, { not: { selector_matches: \"[target=\\\"_blank\\\"], [data-no-prerender]\" } }] }, r = t ? { prefetch: [{\n\t\twhere: n,\n\t\teagerness: \"moderate\"\n\t}] } : {\n\t\tprerender: [{\n\t\t\twhere: { and: [...n.and, { not: { href_matches: e } }] },\n\t\t\teagerness: \"moderate\"\n\t\t}],\n\t\tprefetch: [{\n\t\t\twhere: { href_matches: e },\n\t\t\teagerness: \"moderate\"\n\t\t}]\n\t}, i = document.createElement(\"script\");\n\ti.type = \"speculationrules\", i.textContent = JSON.stringify(r), document.head.append(i);\n}\n//#endregion\n//#region src/tabs/aura-tabs.js\nvar lt = {\n\ttype: Ce,\n\tvisualDuration: .3,\n\tbounce: .12\n}, ut = {\n\ttype: Ce,\n\tvisualDuration: .4,\n\tbounce: 0\n}, dt = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tif (this.list = this.querySelector(\"[role=\\\"tablist\\\"]\"), !this.list) return;\n\t\tthis.reduced = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.ac = new AbortController();\n\t\tlet e = this.ac.signal;\n\t\tthis.puck = document.createElement(\"span\"), this.puck.className = \"tab-puck\", this.puck.setAttribute(\"aria-hidden\", \"true\"), this.at = null;\n\t\tlet t = new ResizeObserver(() => {\n\t\t\tthis.place(!0), this.edges();\n\t\t}), n = () => {\n\t\t\tthis.puck.isConnected || this.list.prepend(this.puck), t.disconnect(), [\n\t\t\t\tthis,\n\t\t\t\tthis.list,\n\t\t\t\t...this.tabs()\n\t\t\t].forEach((e) => t.observe(e)), this.place(!0);\n\t\t}, r = new MutationObserver((e) => {\n\t\t\te.some((e) => e.type === \"childList\" && [...e.addedNodes, ...e.removedNodes].some((e) => e !== this.puck)) ? n() : this.place();\n\t\t});\n\t\tr.observe(this.list, {\n\t\t\tchildList: !0,\n\t\t\tsubtree: !0,\n\t\t\tattributes: !0,\n\t\t\tattributeFilter: [\"aria-selected\"]\n\t\t}), this.addEventListener(\"scroll\", () => this.edges(), {\n\t\t\tpassive: !0,\n\t\t\tsignal: e\n\t\t}), e.addEventListener(\"abort\", () => {\n\t\t\tr.disconnect(), t.disconnect();\n\t\t}), n();\n\t}\n\tdisconnectedCallback() {\n\t\tthis.ac?.abort();\n\t}\n\ttabs() {\n\t\treturn [...this.list.querySelectorAll(\"[role=\\\"tab\\\"]\")];\n\t}\n\tplace(e = !1) {\n\t\tlet t = this.tabs(), n = t.find((e) => e.getAttribute(\"aria-selected\") === \"true\");\n\t\tif (t.forEach((e) => e.tabIndex = e === (n || t[0]) ? 0 : -1), !n || !n.offsetWidth) {\n\t\t\tthis.classList.remove(\"has-puck\"), this.at = null;\n\t\t\treturn;\n\t\t}\n\t\tlet r = n.offsetLeft, i = this.list.offsetWidth - r - n.offsetWidth;\n\t\tif (this.at && r === this.at.left && i === this.at.right) return;\n\t\tlet a = {\n\t\t\tleft: `${r}px`,\n\t\t\tright: `${i}px`\n\t\t};\n\t\te || this.reduced || !this.at ? it(this.puck, a, { duration: 0 }) : it(this.puck, a, r > this.at.left ? {\n\t\t\tright: lt,\n\t\t\tleft: ut\n\t\t} : {\n\t\t\tleft: lt,\n\t\t\tright: ut\n\t\t}), this.at = {\n\t\t\tleft: r,\n\t\t\tright: i\n\t\t}, this.classList.add(\"has-puck\");\n\t}\n\tedges() {\n\t\tlet e = this.scrollWidth - this.clientWidth;\n\t\tthis.classList.toggle(\"is-clip-start\", this.scrollLeft > 1), this.classList.toggle(\"is-clip-end\", this.scrollLeft < e - 1);\n\t}\n};\ncustomElements.define(\"aura-tabs\", dt);\n//#endregion\n//#region src/pdp/aura-chapters.js\nvar ft = {\n\ttype: Ce,\n\tvisualDuration: .3,\n\tbounce: .12\n}, pt = {\n\ttype: Ce,\n\tvisualDuration: .4,\n\tbounce: 0\n}, mt = (e) => e < .5 ? 4 * e ** 3 : 1 - (-2 * e + 2) ** 3 / 2, ht = \"cubic-bezier(.16, 1, .3, 1)\", gt = {\n\tduration: 1.4,\n\teasing: (e) => (1 - Math.cos(Math.PI * e)) / 2\n}, _t = \"[data-reveal], [data-split], .img-reveal\", vt = \".drawer, .modal, .search, .mnav\", yt = 180, bt = {\n\tnotch: 300,\n\tpush: 900\n}, xt = 400, St = [\n\t\"ArrowDown\",\n\t\"ArrowUp\",\n\t\"PageDown\",\n\t\"PageUp\",\n\t\" \",\n\t\"Home\",\n\t\"End\"\n], Ct = 240, wt = 24, H = document.documentElement, Tt = (e) => new Promise((t) => setTimeout(t, e)), Et = () => new Promise((e) => requestAnimationFrame(e)), U = (e) => {\n\tlet t = 0;\n\tfor (; e; e = e.offsetParent) t += e.offsetTop;\n\treturn t;\n}, Dt = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.A = window.A, this.reduced = this.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.wide = matchMedia(\"(min-width: 1000px) and (hover: hover) and (pointer: fine)\"), this.nav = this.querySelector(\".subnav\"), this.bar = this.querySelector(\".subnav__inner\"), this.list = this.querySelector(\".subnav__links\"), this.buy = this.querySelector(\".subnav__buy\"), this.close = this.querySelector(\"[data-chapters-close]\"), this.links = [...this.list.querySelectorAll(\"a[href^=\\\"#\\\"]\")], this.secs = this.links.map((e) => document.querySelector(e.getAttribute(\"href\"))), this.product = this.parentElement.previousElementSibling, this.next = this.secs.at(-1).nextElementSibling, [this.product, ...this.secs].forEach((e) => e.dataset.chapter = \"\"), this.puck = document.createElement(\"span\"), this.puck.className = \"subnav__puck\", this.puck.setAttribute(\"aria-hidden\", \"true\"), this.list.prepend(this.puck), this.on = !1, this.busy = !1, this.at = -1, this.cur = -1, this.gesture = 0, this.turned = -1, this.lastWheel = 0, this.input = -Infinity, this.speed = 0, this.spyAt = -Infinity, this.spyY = 0, this.tail = 0, this.wheelDir = 0, this.recent = [], this.peak = 0, this.low = 0, this.flickAt = -Infinity, this.notched = !1, this.queued = null, this.aim = null, this.armed = null, this.side = \"above\", this.folding = [], this.ac = new AbortController();\n\t\tlet e = this.ac.signal;\n\t\tthis.addEventListener(\"click\", (e) => {\n\t\t\te.target.closest(\"[data-chapters-close]\") && this.exit(\"stay\");\n\t\t}, { signal: e }), document.addEventListener(\"click\", (e) => this.onLink(e), {\n\t\t\tcapture: !0,\n\t\t\tsignal: e\n\t\t}), document.addEventListener(\"click\", (e) => {\n\t\t\tthis.on && e.target.closest(\"[data-pick]\") && this.exit(\"top\");\n\t\t}, {\n\t\t\tcapture: !0,\n\t\t\tsignal: e\n\t\t}), addEventListener(\"scroll\", () => this.spy(), {\n\t\t\tpassive: !0,\n\t\t\tsignal: e\n\t\t}), addEventListener(\"wheel\", (e) => this.onWheel(e), {\n\t\t\tpassive: !1,\n\t\t\tsignal: e\n\t\t}), addEventListener(\"keydown\", (e) => this.onKey(e), { signal: e }), addEventListener(\"resize\", () => this.onResize(), { signal: e });\n\t\tlet t = new ResizeObserver(() => {\n\t\t\tthis.busy || this.place(!0);\n\t\t});\n\t\t[this.list, ...this.links].forEach((e) => t.observe(e)), e.addEventListener(\"abort\", () => t.disconnect()), this.mark(0, !0);\n\t}\n\tdisconnectedCallback() {\n\t\tthis.ac?.abort();\n\t}\n\tselect(e) {\n\t\tthis.at = e, this.links.forEach((t, n) => {\n\t\t\tt.classList.toggle(\"is-active\", n === e), t.toggleAttribute(\"aria-current\", n === e);\n\t\t});\n\t}\n\tmark(e, t = !1) {\n\t\te !== this.at && (this.select(e), this.place(t), this.on || this.A?.centerInRail(this.links[e]));\n\t}\n\tplace(e = !1) {\n\t\tlet t = this.links[this.at];\n\t\tif (!t?.offsetWidth) return;\n\t\tlet n = t.offsetTop, r = t.offsetLeft, i = {\n\t\t\ttop: `${n}px`,\n\t\t\tleft: `${r}px`,\n\t\t\twidth: `${t.offsetWidth}px`,\n\t\t\theight: `${t.offsetHeight}px`\n\t\t}, a = this.spot;\n\t\tthis.spot = {\n\t\t\ttop: n,\n\t\t\tleft: r\n\t\t}, e || this.reduced || !a ? it(this.puck, i, { duration: 0 }) : n === a.top ? it(this.puck, i, {\n\t\t\tleft: r > a.left ? pt : ft,\n\t\t\twidth: ft,\n\t\t\ttop: { duration: 0 },\n\t\t\theight: { duration: 0 }\n\t\t}) : it(this.puck, i, {\n\t\t\ttop: n > a.top ? pt : ft,\n\t\t\theight: ft,\n\t\t\tleft: { duration: 0 },\n\t\t\twidth: { duration: 0 }\n\t\t}), this.classList.add(\"has-puck\");\n\t}\n\tspied() {\n\t\tlet e = innerHeight * .35, t = 0;\n\t\treturn this.secs.forEach((n, r) => {\n\t\t\tn.getBoundingClientRect().top < e && (t = r);\n\t\t}), t;\n\t}\n\tspy() {\n\t\tlet e = performance.now(), t = e - this.spyAt;\n\t\tthis.speed = t > 0 && t < 100 ? (scrollY - this.spyY) / t : 0, this.spyAt = e, this.spyY = scrollY, !(this.on || this.busy) && (this.mark(this.spied()), this.auto());\n\t}\n\tedge() {\n\t\tlet e = this.secs[0];\n\t\treturn U(e) + parseFloat(getComputedStyle(e).paddingTop);\n\t}\n\tend() {\n\t\tlet e = this.secs.at(-1);\n\t\treturn this.tail = parseFloat(getComputedStyle(e).paddingBottom), U(e) + e.offsetHeight - this.tail;\n\t}\n\tzone() {\n\t\tlet e = this.target();\n\t\treturn this.edge() - e > innerHeight ? \"above\" : this.end() - e <= 1 ? \"below\" : \"in\";\n\t}\n\tauto() {\n\t\tif (this.busy || !this.wide.matches || document.querySelector(\".rail.is-drag\")) return;\n\t\tlet e = this.zone();\n\t\te === \"in\" ? (this.armed === null && (this.armed = !1), !(!this.armed || performance.now() - this.input > xt) && (this.armed = !1, this.enter(this.side === \"below\" ? this.secs.length - 1 : 0, this.side))) : (this.armed = !0, this.side = e);\n\t}\n\tonLink(e) {\n\t\tlet t = e.target.closest(\"a[href^=\\\"#\\\"]\"), n = t ? this.secs.findIndex((e) => `#${e.id}` === t.getAttribute(\"href\")) : -1;\n\t\tif (n < 0) return;\n\t\tlet r = this.links.includes(t);\n\t\t(this.on || this.wide.matches || r) && (e.preventDefault(), e.stopPropagation(), this.on ? this.go(n) : this.wide.matches ? this.enter(n, this.zone() === \"above\" ? \"above\" : \"in\") : this.jump(n));\n\t}\n\tjump(e) {\n\t\tlet t = this.secs[e], n = U(t), r = n < scrollY, i = n - this.nav.offsetHeight - (r ? 88 : 12) - 16;\n\t\tthis.A?.lenis ? this.A.lenis.scrollTo(i) : scrollTo({\n\t\t\ttop: i,\n\t\t\tbehavior: this.reduced ? \"instant\" : \"smooth\"\n\t\t}), history.replaceState(null, \"\", `#${t.id}`);\n\t}\n\tonWheel(e) {\n\t\tif (e.ctrlKey || e.target.closest?.(vt)) return;\n\t\tlet t = e.deltaY * (e.deltaMode === 1 ? 32 : e.deltaMode === 2 ? innerHeight : 1), n = Math.sign(t), r = Math.abs(t), i = e.timeStamp - this.lastWheel, a = e.deltaMode === 1 || r >= 50 && Number.isInteger(e.deltaY) && e.wheelDeltaY && e.wheelDeltaY % 120 == 0 && Math.abs(e.wheelDeltaY) !== 3 * r, o = i <= yt && n === this.wheelDir, s = (this.recent = o ? [...this.recent.filter(([t]) => e.timeStamp - t < 100), [e.timeStamp, r]] : [[e.timeStamp, r]]).reduce((e, [, t]) => e + t, 0) * 16.7 / 100, c = o && !this.busy && this.low <= this.peak * .4 && s >= Math.max(8, this.low * 2.5) && e.timeStamp - this.flickAt > 300, l = !o || a || c;\n\t\tl ? (this.gesture++, this.flickAt = e.timeStamp, this.peak = this.low = s) : s > this.peak ? this.peak = this.low = s : this.low = Math.min(this.low, s), Object.assign(this, {\n\t\t\tlastWheel: e.timeStamp,\n\t\t\twheelDir: n,\n\t\t\tnotched: a,\n\t\t\tinput: performance.now()\n\t\t}), this.on && (e.preventDefault(), n && (this.busy ? l && (this.queued = {\n\t\t\tdir: n,\n\t\t\tat: performance.now(),\n\t\t\tkeep: a ? bt.notch : bt.push,\n\t\t\tgesture: this.gesture\n\t\t}) : this.move(n, r, this.gesture)));\n\t}\n\tflush() {\n\t\tlet e = this.queued;\n\t\tthis.queued = null, e && this.on && !this.busy && performance.now() - e.at < e.keep && this.move(e.dir, 100, e.gesture);\n\t}\n\tonKey(e) {\n\t\tif (St.includes(e.key) && (this.input = performance.now()), !this.on || e.defaultPrevented || e.altKey || e.ctrlKey || e.metaKey || e.target.closest?.(vt)) return;\n\t\tif (e.key === \"Escape\") {\n\t\t\te.preventDefault(), this.exit(\"stay\");\n\t\t\treturn;\n\t\t}\n\t\tif (/^(input|textarea|select)$/i.test(e.target.tagName)) return;\n\t\tlet t = e.key === \" \" && !e.target.closest(\"button, a, summary, [role=\\\"button\\\"]\"), n = e.key === \"ArrowDown\" || e.key === \"PageDown\" || t && !e.shiftKey ? 1 : e.key === \"ArrowUp\" || e.key === \"PageUp\" || t && e.shiftKey ? -1 : 0;\n\t\te.key === \"Home\" || e.key === \"End\" ? (e.preventDefault(), this.go(e.key === \"Home\" ? 0 : this.secs.length - 1)) : n && (e.preventDefault(), this.busy || this.move(n, e.key.startsWith(\"Arrow\") ? 140 : innerHeight * .85, ++this.gesture));\n\t}\n\tmove(e, t, n) {\n\t\tlet r = this.secs[this.cur], i = U(r), a = this.aim ?? this.target(), o = e > 0 ? i + r.offsetHeight - innerHeight - a : a - i;\n\t\tif (o > 1) {\n\t\t\tthis.aim = a + e * Math.min(t, o), this.scroll(this.aim, { lerp: .12 }), this.turned = n;\n\t\t\treturn;\n\t\t}\n\t\tif (n === this.turned) return;\n\t\tthis.turned = n;\n\t\tlet s = this.cur + e;\n\t\ts < 0 ? this.exit(\"product\") : s >= this.secs.length ? this.exit(\"after\") : this.go(s);\n\t}\n\tonResize() {\n\t\tthis.on && !this.busy && (this.wide.matches ? (this.aim = null, this.scroll(U(this.secs[this.cur]), { immediate: !0 })) : this.exit(\"stay\"));\n\t}\n\ttarget() {\n\t\treturn this.A?.lenis ? this.A.lenis.targetScroll : scrollY;\n\t}\n\tscroll(e, { immediate: t = !1, lerp: n, duration: r = .95, easing: i = mt } = {}) {\n\t\treturn new Promise((a) => {\n\t\t\tlet o = this.A?.lenis, s = t || this.reduced;\n\t\t\to ? (o.scrollTo(e, {\n\t\t\t\tforce: !0,\n\t\t\t\timmediate: s,\n\t\t\t\t...n ? { lerp: n } : {\n\t\t\t\t\tduration: r,\n\t\t\t\t\teasing: i\n\t\t\t\t},\n\t\t\t\tonComplete: () => a()\n\t\t\t}), s && a()) : (scrollTo({\n\t\t\t\ttop: e,\n\t\t\t\tbehavior: s || n ? \"instant\" : \"smooth\"\n\t\t\t}), setTimeout(a, s || n ? 0 : 700));\n\t\t});\n\t}\n\tonward(e, t) {\n\t\tlet n = t ? Math.min(2.5, Math.max(0, e * 950 / t)) : 0;\n\t\treturn (e) => n * (e ** 3 - 2 * e ** 2 + e) + 3 * e ** 2 - 2 * e ** 3;\n\t}\n\treveal(e, t) {\n\t\te.querySelectorAll(_t).forEach((e) => e.classList.toggle(\"is-in\", t));\n\t}\n\tasync show(e, t = !1, n = !1, r) {\n\t\tlet i = this.secs[this.cur], a = this.secs[e], o = n ? -1 : Math.sign(e - this.cur);\n\t\tthis.cur = e, this.aim = null, i?.classList.remove(\"is-current\"), a.classList.add(\"is-current\"), this.reveal(a, !0), this.mark(e), history.replaceState(null, \"\", `#${a.id}`);\n\t\tlet s = U(a), c = o < 0 ? Math.max(s, s + a.offsetHeight - innerHeight) : s;\n\t\tawait this.scroll(c, {\n\t\t\timmediate: t,\n\t\t\teasing: r\n\t\t}), i && i !== this.secs[this.cur] && this.reveal(i, !1);\n\t}\n\tasync go(e) {\n\t\tif (!this.on || this.busy || e === this.cur) return;\n\t\tthis.busy = !0;\n\t\tlet t = performance.now() - this.spyAt < 100 ? this.speed : 0, n = this.secs[e], r = e < this.cur ? U(n) + Math.max(0, n.offsetHeight - innerHeight) : U(n);\n\t\tawait this.show(e, !1, !1, Math.abs(t) > .05 ? this.onward(t, r - scrollY) : void 0), this.busy = !1, this.flush();\n\t}\n\tdrift(e) {\n\t\tH.classList.add(\"is-chapters-snap\"), H.style.setProperty(\"--chapter-drift\", `${e}px`), H.offsetWidth, H.classList.remove(\"is-chapters-snap\");\n\t}\n\tenter(e, t = \"in\") {\n\t\treturn this.safely(() => this.opening(e, t));\n\t}\n\tasync opening(e, t) {\n\t\tif (this.on || this.busy) return;\n\t\tlet n = t === \"below\", r = performance.now() - this.spyAt < 100 ? this.speed : 0;\n\t\tif (this.on = this.busy = !0, this.turned = this.gesture, this.A?.lock(), this.select(e), t === \"above\" || t === \"below\") {\n\t\t\tlet t = n ? this.next : null, i = t?.getBoundingClientRect().top;\n\t\t\tH.classList.add(\"is-chapters-on\", \"is-chapters\"), t && await this.scroll(scrollY + t.getBoundingClientRect().top - i, { immediate: !0 }), this.secs.forEach((e) => this.reveal(e, !1)), this.cur = -1;\n\t\t\tlet a = this.secs[e], o = n ? U(a) + Math.max(0, a.offsetHeight - innerHeight) : U(a), s = this.show(e, !1, n, this.onward(r, o - scrollY));\n\t\t\tawait Promise.all([Et().then(() => this.unfold()), s]), this.busy = !1, this.flush();\n\t\t\treturn;\n\t\t}\n\t\tH.style.setProperty(\"--chapter-drift\", `${n ? wt : -24}px`), H.classList.add(\"is-chapters-on\", \"is-chapters-out\");\n\t\tlet i = this.unfold();\n\t\tawait Tt(this.reduced ? 0 : Ct), this.secs.forEach((e) => this.reveal(e, !1)), this.drift(n ? -24 : wt), H.classList.add(\"is-chapters\"), H.classList.remove(\"is-chapters-out\"), this.cur = -1, await this.show(e, !0, n), await i, this.busy = !1, this.flush();\n\t}\n\texit(e = \"stay\") {\n\t\treturn this.safely(() => this.closing(e));\n\t}\n\tasync closing(e) {\n\t\tif (!this.on || this.busy) return;\n\t\tif (this.busy = !0, e === \"product\") return this.onto(this.product, 0, gt, \"above\");\n\t\tif (e === \"after\" && this.next) return this.onto(this.next, Math.max(this.middle(this.next), U(this.next) - this.tail), {}, \"below\");\n\t\tlet t = this.secs[this.cur], n = e === \"top\" ? wt : -24;\n\t\tH.style.setProperty(\"--chapter-drift\", `${n}px`), H.classList.add(\"is-chapters-out\");\n\t\tlet r = this.fold();\n\t\tawait Tt(this.reduced ? 0 : Ct), H.classList.remove(\"is-chapters\"), t.classList.remove(\"is-current\"), this.secs.forEach((e) => this.reveal(e, !0));\n\t\tlet i = parseFloat(getComputedStyle(t).scrollMarginTop) || 0, a = e === \"top\" ? 0 : U(e === \"after\" ? this.secs.at(-1) : t) - i;\n\t\tawait this.scroll(Math.max(0, a), { immediate: !0 }), this.drift(-n), H.classList.remove(\"is-chapters-out\"), this.on = !1, this.armed = e !== \"stay\", this.side = e === \"after\" ? \"below\" : \"above\", this.select(this.spied()), await r, await this.settle();\n\t}\n\tmiddle(e) {\n\t\tlet t = e.firstElementChild ?? e;\n\t\treturn U(t) - Math.max(40, (innerHeight - t.offsetHeight) / 2);\n\t}\n\tasync onto(e, t, n, r) {\n\t\tthis.secs[this.cur].classList.remove(\"is-current\"), e.classList.add(\"is-current\"), this.cur = -1, history.replaceState(null, \"\", location.pathname + location.search), r === \"above\" && H.classList.add(\"is-chapters-home\"), await Promise.all([this.scroll(Math.max(0, t), n), this.fold()]);\n\t\tlet i = e.getBoundingClientRect().top;\n\t\tH.classList.remove(\"is-chapters\", \"is-chapters-home\"), e.classList.remove(\"is-current\"), this.secs.forEach((e) => this.reveal(e, !0));\n\t\tlet a = e.getBoundingClientRect().top - i;\n\t\tMath.abs(a) > .5 && await this.scroll(scrollY + a, { immediate: !0 }), this.on = !1, this.armed = !0, this.side = r, this.select(this.spied()), await this.settle();\n\t}\n\tasync safely(e) {\n\t\ttry {\n\t\t\tawait e();\n\t\t} catch (e) {\n\t\t\tthis.folding.forEach((e) => e.cancel()), this.folding = [], this.classList.remove(\"is-rail\"), H.classList.remove(\"is-chapters-on\", \"is-chapters\", \"is-chapters-out\", \"is-chapters-home\"), [\n\t\t\t\tthis.product,\n\t\t\t\tthis.next,\n\t\t\t\t...this.secs\n\t\t\t].forEach((e) => e?.classList.remove(\"is-current\")), this.secs.forEach((e) => this.reveal(e, !0)), this.on = this.busy = !1, this.cur = -1, this.armed = !1, this.A?.unlock(), console.error(e);\n\t\t}\n\t}\n\tasync settle() {\n\t\tfor (H.classList.remove(\"is-chapters-on\"), this.queued = null; !this.notched && performance.now() - this.lastWheel < yt;) await Tt(50);\n\t\tthis.A?.unlock(), this.busy = !1;\n\t}\n\tunfold() {\n\t\tif (this.folding.forEach((e) => e.cancel()), this.classList.add(\"is-rail\"), this.spot = null, this.place(!0), this.reduced) return Promise.resolve();\n\t\tlet e = [\n\t\t\tthis.close,\n\t\t\t...this.links,\n\t\t\t...this.buy.children\n\t\t];\n\t\treturn this.folding = [\n\t\t\tthis.bar.animate([{\n\t\t\t\tclipPath: \"inset(50% 0 round 30px)\",\n\t\t\t\topacity: 0\n\t\t\t}, {\n\t\t\t\tclipPath: \"inset(0 0 round 30px)\",\n\t\t\t\topacity: 1\n\t\t\t}], {\n\t\t\t\tduration: 760,\n\t\t\t\teasing: ht\n\t\t\t}),\n\t\t\t...e.map((e, t) => e.animate([{\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: \"translateY(14px)\"\n\t\t\t}, {\n\t\t\t\topacity: 1,\n\t\t\t\ttransform: \"none\"\n\t\t\t}], {\n\t\t\t\tduration: 560,\n\t\t\t\tdelay: 140 + t * 45,\n\t\t\t\teasing: ht,\n\t\t\t\tfill: \"backwards\"\n\t\t\t})),\n\t\t\tthis.puck.animate([{\n\t\t\t\topacity: 0,\n\t\t\t\tscale: .8\n\t\t\t}, {\n\t\t\t\topacity: 1,\n\t\t\t\tscale: 1\n\t\t\t}], {\n\t\t\t\tduration: 560,\n\t\t\t\tdelay: 140 + (this.at + 1) * 45 + 120,\n\t\t\t\teasing: ht,\n\t\t\t\tfill: \"backwards\"\n\t\t\t})\n\t\t], Promise.all(this.folding.map((e) => e.finished)).then(() => this.folding.forEach((e) => e.cancel()), () => {});\n\t}\n\tasync fold() {\n\t\tif (this.folding.forEach((e) => e.cancel()), !this.reduced) {\n\t\t\tlet e = [\n\t\t\t\tthis.close,\n\t\t\t\t...this.links,\n\t\t\t\t...this.buy.children,\n\t\t\t\tthis.puck\n\t\t\t];\n\t\t\tthis.folding = [...e.map((e) => e.animate([{ opacity: 1 }, { opacity: 0 }], {\n\t\t\t\tduration: 180,\n\t\t\t\teasing: \"ease-out\",\n\t\t\t\tfill: \"forwards\"\n\t\t\t})), this.bar.animate([{\n\t\t\t\tclipPath: \"inset(0 0 round 30px)\",\n\t\t\t\topacity: 1\n\t\t\t}, {\n\t\t\t\tclipPath: \"inset(50% 0 round 30px)\",\n\t\t\t\topacity: 0\n\t\t\t}], {\n\t\t\t\tduration: 420,\n\t\t\t\tdelay: 60,\n\t\t\t\teasing: \"cubic-bezier(.5, 0, .75, 0)\",\n\t\t\t\tfill: \"forwards\"\n\t\t\t})], await Promise.all(this.folding.map((e) => e.finished)).catch(() => {});\n\t\t}\n\t\tthis.classList.remove(\"is-rail\"), this.folding.forEach((e) => e.cancel()), this.folding = [];\n\t}\n};\ncustomElements.define(\"aura-chapters\", Dt);\n//#endregion\n//#region src/pdp/aura-overview.js\nvar Ot = (e) => e ? (e.complete && e.naturalWidth ? Promise.resolve() : new Promise((t) => {\n\te.addEventListener(\"load\", t, { once: !0 }), e.addEventListener(\"error\", t, { once: !0 });\n})).then(() => e.decode?.()).catch(() => {}) : Promise.resolve(), kt = .36, At = 1.25, jt = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tif (this.stage = this.querySelector(\"[data-ov-stage]\"), this.frame = this.querySelector(\"[data-ov-frame]\"), this.shots = [...this.querySelectorAll(\".ov__shot\")], this.tabs = [...this.querySelectorAll(\"[data-ov-view]\")], this.bar = this.querySelector(\".ov__bar\"), this.mode = this.dataset.mode, this.mode === \"finish\") {\n\t\t\tthis.querySelectorAll(\"img[loading=\\\"lazy\\\"]\").forEach((e) => {\n\t\t\t\te.loading = \"eager\";\n\t\t\t});\n\t\t\tlet e = new IntersectionObserver(([t]) => {\n\t\t\t\tt.isIntersecting && (e.disconnect(), this.shots.forEach((e) => Ot(e.querySelector(\"img\")).then(() => {\n\t\t\t\t\te.decoded = !0;\n\t\t\t\t})));\n\t\t\t}, { rootMargin: \"100% 0px\" });\n\t\t\te.observe(this);\n\t\t}\n\t\tthis.box = this.shots[0].dataset.box?.split(\" \").map(Number), this.view = 0, this.ac = new AbortController();\n\t\tlet e = this.ac.signal;\n\t\tthis.tabs.forEach((t, n) => t.addEventListener(\"click\", () => this.show(n, !0), { signal: e })), this.mode === \"finish\" && (this.tones = [...this.querySelectorAll(\"[data-ov-tone]\")], this.materials = [...this.querySelectorAll(\"[data-ov-material]\")], this.tones.forEach((t) => t.addEventListener(\"click\", () => this.pick(t.dataset.ovTone, this.shots[this.view].dataset.material), { signal: e })), this.materials.forEach((t) => t.addEventListener(\"click\", () => this.pick(this.shots[this.view].dataset.tone, t.dataset.ovMaterial), { signal: e })), new ResizeObserver(() => this.style.setProperty(\"--bar-h\", `${this.bar.offsetHeight}px`)).observe(this.bar)), this.frame.addEventListener(\"click\", () => {\n\t\t\tif (this.mode !== \"finish\") {\n\t\t\t\tthis.show(1 - this.view, !0);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet e = this.tones.map((e) => e.dataset.ovTone), t = this.shots[this.view].dataset;\n\t\t\tthis.pick(e[(e.indexOf(t.tone) + 1) % e.length], t.material);\n\t\t}, { signal: e }), this.frame.addEventListener(\"pointerenter\", (e) => {\n\t\t\te.pointerType === \"mouse\" && (this.leaning = !0, this.place());\n\t\t}, { signal: e }), this.frame.addEventListener(\"pointerleave\", () => {\n\t\t\tthis.leaning = !1, this.place();\n\t\t}, { signal: e }), new ResizeObserver(() => this.measure()).observe(this), new MutationObserver(() => {\n\t\t\t!this.stage.classList.contains(\"is-in\") && this.view && this.show(0, !1, !0);\n\t\t}).observe(this.stage, {\n\t\t\tattributes: !0,\n\t\t\tattributeFilter: [\"class\"]\n\t\t}), this.video = this.querySelector(\"video\"), this.video && (this.seen = !1, new IntersectionObserver(([e]) => {\n\t\t\tthis.seen = e.isIntersecting, this.play();\n\t\t}).observe(this), document.addEventListener(\"visibilitychange\", () => this.play(), { signal: e })), this.measure(!0);\n\t}\n\tdisconnectedCallback() {\n\t\tthis.ac?.abort();\n\t}\n\tshowFinish(e) {\n\t\tlet t = this.shots.findIndex((t) => t.dataset.finish === e);\n\t\tt > -1 && t !== this.view && this.show(t);\n\t}\n\tpick(e, t) {\n\t\tlet n = this.shots.findIndex((n) => n.dataset.tone === e && n.dataset.material === t);\n\t\tn < 0 && (n = this.shots.findIndex((t) => t.dataset.tone === e)), n > -1 && this.show(n, !0);\n\t}\n\tshow(e, t = !1, n = !1) {\n\t\tif (e === this.view) return;\n\t\tlet r = this.view;\n\t\tif (this.view = e, this.dataset.dir = e > r ? \"in\" : \"out\", this.mode === \"finish\") {\n\t\t\tlet t = this.shots[r].dataset, n = this.shots[e].dataset, i = (e, t, n) => e.findIndex((e) => e.dataset[t] === n);\n\t\t\tthis.sameRoom = t.tone === n.tone, this.dataset.dir = (this.sameRoom ? i(this.materials, \"ovMaterial\", n.material) > i(this.materials, \"ovMaterial\", t.material) : i(this.tones, \"ovTone\", n.tone) > i(this.tones, \"ovTone\", t.tone)) ? \"in\" : \"out\", this.tones.forEach((e) => e.setAttribute(\"aria-selected\", e.dataset.ovTone === n.tone)), this.materials.forEach((e) => e.setAttribute(\"aria-selected\", e.dataset.ovMaterial === n.material));\n\t\t} else this.tabs.forEach((t, n) => {\n\t\t\tt.setAttribute(\"aria-selected\", n === e), t.tabIndex = n === e ? 0 : -1;\n\t\t});\n\t\tthis.classList.toggle(\"is-close\", this.mode !== \"finish\" && e === 1), n && this.snap(), this.place(), this.play(), t && this.mode === \"finish\" && this.dispatchEvent(new CustomEvent(\"ov:finish\", { detail: this.shots[e].dataset.finish }));\n\t}\n\tsnap() {\n\t\tthis.classList.add(\"is-snap\"), requestAnimationFrame(() => requestAnimationFrame(() => this.classList.remove(\"is-snap\")));\n\t}\n\tplay() {\n\t\tlet e = this.video;\n\t\te && (this.view === this.shots.indexOf(e.closest(\".ov__shot\")) && this.seen && !document.hidden && !window.A?.reduced ? (e.preload = \"auto\", e.play().catch(() => {})) : e.pause());\n\t}\n\tfit(e) {\n\t\tlet { W: t, H: n, wide: r } = this, i = Math.min(t, n * e), a = i / e;\n\t\treturn {\n\t\t\tx: 0,\n\t\t\ty: r ? (n - a) / 2 : 0,\n\t\t\tw: i,\n\t\t\th: a\n\t\t};\n\t}\n\tmeasure(e = !1) {\n\t\tlet t = this.stage.clientWidth;\n\t\tif (!t) return;\n\t\tthis.wide = matchMedia(\"(min-width: 1000px)\").matches, this.W = t;\n\t\tlet n = this.shots.map((e) => +e.dataset.ar), r = this.mode === \"zoom\" ? [n[0], .8] : n;\n\t\tthis.wide ? (this.stage.style.height = this.frame.style.height = \"\", this.H = this.stage.clientHeight) : (this.H = Infinity, this.H = Math.max(...r.map((e) => this.fit(e).h)), this.frame.style.height = `${this.H}px`), this.boxes = r.map((e) => this.fit(e)), this.shots.forEach((e, t) => {\n\t\t\tlet r = this.fit(n[t]);\n\t\t\tObject.assign(e.style, {\n\t\t\t\tleft: `${r.x}px`,\n\t\t\t\ttop: `${r.y}px`,\n\t\t\t\twidth: `${r.w}px`,\n\t\t\t\theight: `${r.h}px`\n\t\t\t}), e.box = r;\n\t\t}), e && this.snap(), this.place();\n\t}\n\tcrossfade() {\n\t\tlet e = this.shots[this.view], t = this.shots.filter((t) => t !== e);\n\t\tthis.shown = this.view;\n\t\tlet n = (e) => {\n\t\t\te.fade?.cancel(), e.glide?.cancel(), e.fade = e.glide = null;\n\t\t}, r = () => {\n\t\t\tthis.shots[this.view] === e && (t.forEach((e) => {\n\t\t\t\tn(e), e.classList.remove(\"is-on\");\n\t\t\t}), n(e), e.classList.add(\"is-on\"), this.base = e);\n\t\t};\n\t\tif (!this.base || this.classList.contains(\"is-snap\") || window.A?.reduced) {\n\t\t\te.style.zIndex = this.z = (this.z || 2) + 1, r();\n\t\t\treturn;\n\t\t}\n\t\tlet i = (e) => +getComputedStyle(e).opacity;\n\t\tif (e === this.base) {\n\t\t\tlet e = t.filter((e) => e.classList.contains(\"is-on\"));\n\t\t\te.forEach((e) => {\n\t\t\t\te.glide?.pause();\n\t\t\t\tlet t = i(e);\n\t\t\t\te.fade?.cancel(), e.fade = e.animate([{ opacity: t }, { opacity: 0 }], {\n\t\t\t\t\tduration: 250 + 400 * t,\n\t\t\t\t\teasing: \"cubic-bezier(.4, 0, .2, 1)\",\n\t\t\t\t\tfill: \"both\"\n\t\t\t\t});\n\t\t\t}), Promise.all(e.map((e) => e.fade.finished)).then(r, () => {});\n\t\t\treturn;\n\t\t}\n\t\tlet a = e.classList.contains(\"is-on\");\n\t\tif (!a && !e.decoded) {\n\t\t\tlet t = this.view;\n\t\t\tOt(e.querySelector(\"img\")).then(() => {\n\t\t\t\te.decoded = !0, this.view === t && this.shown === t && this.crossfade();\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tt.forEach((e) => {\n\t\t\te.fade?.pause(), e.glide?.pause();\n\t\t});\n\t\tlet o = a ? i(e) : 0, s = a ? getComputedStyle(e).transform : this.sameRoom ? \"none\" : `translateX(${this.dataset.dir === \"out\" ? -2 : 2}%) scale(1.015)`;\n\t\tn(e), e.style.zIndex = this.z = (this.z || 2) + 1, e.classList.add(\"is-on\"), e.glide = e.animate([{ transform: s === \"none\" ? \"translateX(0) scale(1)\" : s }, { transform: \"translateX(0) scale(1)\" }], {\n\t\t\tduration: 1100,\n\t\t\teasing: \"cubic-bezier(.22, .7, .25, 1)\",\n\t\t\tfill: \"both\"\n\t\t}), e.fade = e.animate([{ opacity: o }, { opacity: 1 }], {\n\t\t\tduration: 250 + 450 * (1 - o),\n\t\t\teasing: \"cubic-bezier(.4, 0, .2, 1)\",\n\t\t\tfill: \"both\"\n\t\t}), Promise.all([e.fade.finished, e.glide.finished]).then(r, () => {});\n\t}\n\tcentre() {\n\t\tlet e = this.shots[0].box, [t, n, r, i] = this.box || [\n\t\t\t50,\n\t\t\t50,\n\t\t\t0,\n\t\t\t0\n\t\t];\n\t\treturn [e.w * (t + r / 2) / 100, e.h * (n + i / 2) / 100];\n\t}\n\tmoveIn(e) {\n\t\tlet t = this.shots[0], n = t.box, r = t.querySelector(\"img\"), [i, a] = this.centre(), o = this.box[2], s = Math.max(1.6, At * (r?.naturalWidth || 960) / n.w), c = Math.max(e.w / n.w, e.h / n.h), l = Math.max(c, Math.min(s, kt * e.w / (n.w * o / 100)));\n\t\treturn `translate(${Math.min(e.x - n.x, Math.max(e.x + e.w - n.x - l * n.w, e.x + e.w / 2 - n.x - l * i))}px, ${Math.min(e.y - n.y, Math.max(e.y + e.h - n.y - l * n.h, e.y + e.h / 2 - n.y - l * a))}px) scale(${l})`;\n\t}\n\tlean(e = 1.03) {\n\t\tlet [t, n] = this.centre();\n\t\treturn `translate(${t * (1 - e)}px, ${n * (1 - e)}px) scale(${e})`;\n\t}\n\tplace() {\n\t\tif (!this.boxes) return;\n\t\tlet e = this.boxes[this.view], t = this.wide ? 44 : 32;\n\t\tif (this.frame.style.clipPath = `inset(${e.y}px ${this.W - e.x - e.w}px ${this.H - e.y - e.h}px ${e.x}px round ${t}px)`, Object.assign(this.bar.style, {\n\t\t\ttop: `${e.y + e.h}px`,\n\t\t\twidth: `${e.w}px`\n\t\t}), this.wide || (this.stage.style.height = `${e.h}px`), this.mode === \"finish\") {\n\t\t\tthis.view !== this.shown && this.crossfade();\n\t\t\treturn;\n\t\t}\n\t\tlet n = this.view === 1, [r, i] = this.shots;\n\t\tr.style.transform = n ? this.moveIn(this.boxes[1]) : this.leaning ? this.lean() : \"translate(0px, 0px) scale(1)\", r.classList.toggle(\"is-on\", !n || this.mode === \"zoom\"), i?.classList.toggle(\"is-on\", n);\n\t}\n};\ncustomElements.define(\"aura-overview\", jt);\n//#endregion\n//#region src/app/app-tour.js\nvar Mt = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\ndocument.querySelectorAll(\"[data-app-tour]\").forEach((e) => {\n\tlet t = e.querySelector(\"[role=\\\"tablist\\\"]\"), n = [...t.querySelectorAll(\"[role=\\\"tab\\\"]\")], r = e.querySelector(\"[role=\\\"tabpanel\\\"]\"), i = [...r.querySelectorAll(\".app-screen\")], a = n.findIndex((e) => e.getAttribute(\"aria-selected\") === \"true\"), o = !1, s = !1, c = !1;\n\ti.forEach((e, t) => {\n\t\tlet r = e.querySelector(\"video\");\n\t\tif (!r) return;\n\t\tlet i = () => n[t].style.setProperty(\"--tour-dur\", `${r.duration}s`);\n\t\tr.readyState ? i() : r.addEventListener(\"loadedmetadata\", i, { once: !0 });\n\t});\n\tlet l = (e) => i.forEach((t, n) => {\n\t\tt.classList.toggle(\"is-shown\", n === e), t.setAttribute(\"aria-hidden\", n !== e);\n\t\tlet r = t.querySelector(\"video\");\n\t\tr && (n === e ? Mt || (r.currentTime = 0, r.play().catch(() => {})) : r.pause());\n\t}), u = (e, n) => t.scrollTo({\n\t\ttop: e.offsetTop - (t.clientHeight - e.offsetHeight) / 2,\n\t\tleft: e.offsetLeft - (t.clientWidth - e.offsetWidth) / 2,\n\t\tbehavior: n && !Mt ? \"smooth\" : \"auto\"\n\t}), d = (e) => {\n\t\te !== a && (n.forEach((t, n) => {\n\t\t\tt.setAttribute(\"aria-selected\", n === e), t.tabIndex = n === e ? 0 : -1;\n\t\t}), r.setAttribute(\"aria-labelledby\", n[e].id), a = e, l(e), setTimeout(() => u(n[e], !0)));\n\t}, f = () => e.classList.toggle(\"is-running\", o && !s), p = () => {\n\t\ts = c || !!t.querySelector(\":focus-visible\"), t.classList.toggle(\"is-held\", s), f();\n\t};\n\tn.forEach((e, t) => {\n\t\te.tabIndex = t === a ? 0 : -1, e.addEventListener(\"click\", () => d(t));\n\t}), t.addEventListener(\"keydown\", (e) => {\n\t\tlet t = {\n\t\t\tArrowDown: 1,\n\t\t\tArrowUp: -1\n\t\t}[e.key];\n\t\tif (!t) return;\n\t\te.preventDefault();\n\t\tlet r = (a + t + n.length) % n.length;\n\t\tn[r].focus(), d(r);\n\t}), u(n[a], !1), !Mt && (e.classList.add(\"is-auto\"), t.addEventListener(\"animationend\", (e) => {\n\t\te.target.closest(\"[role=\\\"tab\\\"]\") === n[a] && d((a + 1) % n.length);\n\t}), t.addEventListener(\"pointerenter\", (e) => {\n\t\tc = e.pointerType === \"mouse\", p();\n\t}), t.addEventListener(\"pointerleave\", () => {\n\t\tc = !1, p();\n\t}), [\"focusin\", \"focusout\"].forEach((e) => t.addEventListener(e, () => setTimeout(p))), new IntersectionObserver(([e]) => {\n\t\to = e.isIntersecting, o && r.classList.add(\"is-on\"), f();\n\t}, { threshold: .35 }).observe(t));\n});\n//#endregion\n//#region node_modules/minisearch/dist/es/index.js\nvar Nt = \"ENTRIES\", Pt = \"KEYS\", Ft = \"VALUES\", W = \"\", It = class {\n\tconstructor(e, t) {\n\t\tlet n = e._tree, r = Array.from(n.keys());\n\t\tthis.set = e, this._type = t, this._path = r.length > 0 ? [{\n\t\t\tnode: n,\n\t\t\tkeys: r\n\t\t}] : [];\n\t}\n\tnext() {\n\t\tlet e = this.dive();\n\t\treturn this.backtrack(), e;\n\t}\n\tdive() {\n\t\tif (this._path.length === 0) return {\n\t\t\tdone: !0,\n\t\t\tvalue: void 0\n\t\t};\n\t\tlet { node: e, keys: t } = Lt(this._path);\n\t\tif (Lt(t) === W) return {\n\t\t\tdone: !1,\n\t\t\tvalue: this.result()\n\t\t};\n\t\tlet n = e.get(Lt(t));\n\t\treturn this._path.push({\n\t\t\tnode: n,\n\t\t\tkeys: Array.from(n.keys())\n\t\t}), this.dive();\n\t}\n\tbacktrack() {\n\t\tif (this._path.length === 0) return;\n\t\tlet e = Lt(this._path).keys;\n\t\te.pop(), !(e.length > 0) && (this._path.pop(), this.backtrack());\n\t}\n\tkey() {\n\t\treturn this.set._prefix + this._path.map(({ keys: e }) => Lt(e)).filter((e) => e !== W).join(\"\");\n\t}\n\tvalue() {\n\t\treturn Lt(this._path).node.get(W);\n\t}\n\tresult() {\n\t\tswitch (this._type) {\n\t\t\tcase Ft: return this.value();\n\t\t\tcase Pt: return this.key();\n\t\t\tdefault: return [this.key(), this.value()];\n\t\t}\n\t}\n\t[Symbol.iterator]() {\n\t\treturn this;\n\t}\n}, Lt = (e) => e[e.length - 1], Rt = (e, t, n) => {\n\tlet r = /* @__PURE__ */ new Map();\n\tif (t === void 0) return r;\n\tlet i = t.length + 1, a = i + n, o = new Uint8Array(a * i).fill(n + 1);\n\tfor (let e = 0; e < i; ++e) o[e] = e;\n\tfor (let e = 1; e < a; ++e) o[e * i] = e;\n\treturn zt(e, t, n, r, o, 1, i, \"\"), r;\n}, zt = (e, t, n, r, i, a, o, s) => {\n\tlet c = a * o;\n\tkey: for (let l of e.keys()) if (l === W) {\n\t\tlet t = i[c - 1];\n\t\tt <= n && r.set(s, [e.get(l), t]);\n\t} else {\n\t\tlet c = a;\n\t\tfor (let e = 0; e < l.length; ++e, ++c) {\n\t\t\tlet r = l[e], a = o * c, s = a - o, u = i[a], d = Math.max(0, c - n - 1), f = Math.min(o - 1, c + n);\n\t\t\tfor (let e = d; e < f; ++e) {\n\t\t\t\tlet n = r !== t[e], o = i[s + e] + +n, c = i[s + e + 1] + 1, l = i[a + e] + 1, d = i[a + e + 1] = Math.min(o, c, l);\n\t\t\t\td < u && (u = d);\n\t\t\t}\n\t\t\tif (u > n) continue key;\n\t\t}\n\t\tzt(e.get(l), t, n, r, i, c, o, s + l);\n\t}\n}, Bt = class e {\n\tconstructor(e = /* @__PURE__ */ new Map(), t = \"\") {\n\t\tthis._size = void 0, this._tree = e, this._prefix = t;\n\t}\n\tatPrefix(t) {\n\t\tif (!t.startsWith(this._prefix)) throw Error(\"Mismatched prefix\");\n\t\tlet [n, r] = Vt(this._tree, t.slice(this._prefix.length));\n\t\tif (n === void 0) {\n\t\t\tlet [n, i] = qt(r);\n\t\t\tfor (let r of n.keys()) if (r !== W && r.startsWith(i)) {\n\t\t\t\tlet a = /* @__PURE__ */ new Map();\n\t\t\t\treturn a.set(r.slice(i.length), n.get(r)), new e(a, t);\n\t\t\t}\n\t\t}\n\t\treturn new e(n, t);\n\t}\n\tclear() {\n\t\tthis._size = void 0, this._tree.clear();\n\t}\n\tdelete(e) {\n\t\treturn this._size = void 0, Wt(this._tree, e);\n\t}\n\tentries() {\n\t\treturn new It(this, Nt);\n\t}\n\tforEach(e) {\n\t\tfor (let [t, n] of this) e(t, n, this);\n\t}\n\tfuzzyGet(e, t) {\n\t\treturn Rt(this._tree, e, t);\n\t}\n\tget(e) {\n\t\tlet t = Ht(this._tree, e);\n\t\treturn t === void 0 ? void 0 : t.get(W);\n\t}\n\thas(e) {\n\t\tlet t = Ht(this._tree, e);\n\t\treturn t !== void 0 && t.has(W);\n\t}\n\tkeys() {\n\t\treturn new It(this, Pt);\n\t}\n\tset(e, t) {\n\t\tif (typeof e != \"string\") throw Error(\"key must be a string\");\n\t\treturn this._size = void 0, Ut(this._tree, e).set(W, t), this;\n\t}\n\tget size() {\n\t\tif (this._size) return this._size;\n\t\tthis._size = 0;\n\t\tlet e = this.entries();\n\t\tfor (; !e.next().done;) this._size += 1;\n\t\treturn this._size;\n\t}\n\tupdate(e, t) {\n\t\tif (typeof e != \"string\") throw Error(\"key must be a string\");\n\t\tthis._size = void 0;\n\t\tlet n = Ut(this._tree, e);\n\t\treturn n.set(W, t(n.get(W))), this;\n\t}\n\tfetch(e, t) {\n\t\tif (typeof e != \"string\") throw Error(\"key must be a string\");\n\t\tthis._size = void 0;\n\t\tlet n = Ut(this._tree, e), r = n.get(W);\n\t\treturn r === void 0 && n.set(W, r = t()), r;\n\t}\n\tvalues() {\n\t\treturn new It(this, Ft);\n\t}\n\t[Symbol.iterator]() {\n\t\treturn this.entries();\n\t}\n\tstatic from(t) {\n\t\tlet n = new e();\n\t\tfor (let [e, r] of t) n.set(e, r);\n\t\treturn n;\n\t}\n\tstatic fromObject(t) {\n\t\treturn e.from(Object.entries(t));\n\t}\n}, Vt = (e, t, n = []) => {\n\tif (t.length === 0 || e == null) return [e, n];\n\tfor (let r of e.keys()) if (r !== W && t.startsWith(r)) return n.push([e, r]), Vt(e.get(r), t.slice(r.length), n);\n\treturn n.push([e, t]), Vt(void 0, \"\", n);\n}, Ht = (e, t) => {\n\tif (t.length === 0 || e == null) return e;\n\tfor (let n of e.keys()) if (n !== W && t.startsWith(n)) return Ht(e.get(n), t.slice(n.length));\n}, Ut = (e, t) => {\n\tlet n = t.length;\n\touter: for (let r = 0; e && r < n;) {\n\t\tfor (let i of e.keys()) if (i !== W && t[r] === i[0]) {\n\t\t\tlet a = Math.min(n - r, i.length), o = 1;\n\t\t\tfor (; o < a && t[r + o] === i[o];) ++o;\n\t\t\tlet s = e.get(i);\n\t\t\tif (o === i.length) e = s;\n\t\t\telse {\n\t\t\t\tlet n = /* @__PURE__ */ new Map();\n\t\t\t\tn.set(i.slice(o), s), e.set(t.slice(r, r + o), n), e.delete(i), e = n;\n\t\t\t}\n\t\t\tr += o;\n\t\t\tcontinue outer;\n\t\t}\n\t\tlet i = /* @__PURE__ */ new Map();\n\t\treturn e.set(t.slice(r), i), i;\n\t}\n\treturn e;\n}, Wt = (e, t) => {\n\tlet [n, r] = Vt(e, t);\n\tif (n !== void 0) {\n\t\tif (n.delete(W), n.size === 0) Gt(r);\n\t\telse if (n.size === 1) {\n\t\t\tlet [e, t] = n.entries().next().value;\n\t\t\tKt(r, e, t);\n\t\t}\n\t}\n}, Gt = (e) => {\n\tif (e.length === 0) return;\n\tlet [t, n] = qt(e);\n\tif (t.delete(n), t.size === 0) Gt(e.slice(0, -1));\n\telse if (t.size === 1) {\n\t\tlet [n, r] = t.entries().next().value;\n\t\tn !== W && Kt(e.slice(0, -1), n, r);\n\t}\n}, Kt = (e, t, n) => {\n\tif (e.length === 0) return;\n\tlet [r, i] = qt(e);\n\tr.set(i + t, n), r.delete(i);\n}, qt = (e) => e[e.length - 1], Jt = \"or\", Yt = \"and\", Xt = \"and_not\", Zt = class e {\n\tconstructor(e) {\n\t\tif (e?.fields == null) throw Error(\"MiniSearch: option \\\"fields\\\" must be provided\");\n\t\tlet t = e.autoVacuum == null || e.autoVacuum === !0 ? ln : e.autoVacuum;\n\t\tthis._options = {\n\t\t\t...rn,\n\t\t\t...e,\n\t\t\tautoVacuum: t,\n\t\t\tsearchOptions: {\n\t\t\t\t...an,\n\t\t\t\t...e.searchOptions || {}\n\t\t\t},\n\t\t\tautoSuggestOptions: {\n\t\t\t\t...on,\n\t\t\t\t...e.autoSuggestOptions || {}\n\t\t\t}\n\t\t}, this._index = new Bt(), this._documentCount = 0, this._documentIds = /* @__PURE__ */ new Map(), this._idToShortId = /* @__PURE__ */ new Map(), this._fieldIds = {}, this._fieldLength = /* @__PURE__ */ new Map(), this._avgFieldLength = [], this._nextId = 0, this._storedFields = /* @__PURE__ */ new Map(), this._dirtCount = 0, this._currentVacuum = null, this._enqueuedVacuum = null, this._enqueuedVacuumConditions = cn, this.addFields(this._options.fields);\n\t}\n\tadd(e) {\n\t\tlet { extractField: t, stringifyField: n, tokenize: r, processTerm: i, fields: a, idField: o } = this._options, s = t(e, o);\n\t\tif (s == null) throw Error(`MiniSearch: document does not have ID field \"${o}\"`);\n\t\tif (this._idToShortId.has(s)) throw Error(`MiniSearch: duplicate ID ${s}`);\n\t\tlet c = this.addDocumentId(s);\n\t\tthis.saveStoredFields(c, e);\n\t\tfor (let o of a) {\n\t\t\tlet a = t(e, o);\n\t\t\tif (a == null) continue;\n\t\t\tlet s = r(n(a, o), o), l = this._fieldIds[o], u = new Set(s).size;\n\t\t\tthis.addFieldLength(c, l, this._documentCount - 1, u);\n\t\t\tfor (let e of s) {\n\t\t\t\tlet t = i(e, o);\n\t\t\t\tif (Array.isArray(t)) for (let e of t) this.addTerm(l, c, e);\n\t\t\t\telse t && this.addTerm(l, c, t);\n\t\t\t}\n\t\t}\n\t}\n\taddAll(e) {\n\t\tfor (let t of e) this.add(t);\n\t}\n\taddAllAsync(e, t = {}) {\n\t\tlet { chunkSize: n = 10 } = t, r = {\n\t\t\tchunk: [],\n\t\t\tpromise: Promise.resolve()\n\t\t}, { chunk: i, promise: a } = e.reduce(({ chunk: e, promise: t }, r, i) => (e.push(r), (i + 1) % n === 0 ? {\n\t\t\tchunk: [],\n\t\t\tpromise: t.then(() => new Promise((e) => setTimeout(e, 0))).then(() => this.addAll(e))\n\t\t} : {\n\t\t\tchunk: e,\n\t\t\tpromise: t\n\t\t}), r);\n\t\treturn a.then(() => this.addAll(i));\n\t}\n\tremove(e) {\n\t\tlet { tokenize: t, processTerm: n, extractField: r, stringifyField: i, fields: a, idField: o } = this._options, s = r(e, o);\n\t\tif (s == null) throw Error(`MiniSearch: document does not have ID field \"${o}\"`);\n\t\tlet c = this._idToShortId.get(s);\n\t\tif (c == null) throw Error(`MiniSearch: cannot remove document with ID ${s}: it is not in the index`);\n\t\tfor (let o of a) {\n\t\t\tlet a = r(e, o);\n\t\t\tif (a == null) continue;\n\t\t\tlet s = t(i(a, o), o), l = this._fieldIds[o], u = new Set(s).size;\n\t\t\tthis.removeFieldLength(c, l, this._documentCount, u);\n\t\t\tfor (let e of s) {\n\t\t\t\tlet t = n(e, o);\n\t\t\t\tif (Array.isArray(t)) for (let e of t) this.removeTerm(l, c, e);\n\t\t\t\telse t && this.removeTerm(l, c, t);\n\t\t\t}\n\t\t}\n\t\tthis._storedFields.delete(c), this._documentIds.delete(c), this._idToShortId.delete(s), this._fieldLength.delete(c), --this._documentCount;\n\t}\n\tremoveAll(e) {\n\t\tif (e) for (let t of e) this.remove(t);\n\t\telse if (arguments.length > 0) throw Error(\"Expected documents to be present. Omit the argument to remove all documents.\");\n\t\telse this._index = new Bt(), this._documentCount = 0, this._documentIds = /* @__PURE__ */ new Map(), this._idToShortId = /* @__PURE__ */ new Map(), this._fieldLength = /* @__PURE__ */ new Map(), this._avgFieldLength = [], this._storedFields = /* @__PURE__ */ new Map(), this._nextId = 0;\n\t}\n\tdiscard(e) {\n\t\tlet t = this._idToShortId.get(e);\n\t\tif (t == null) throw Error(`MiniSearch: cannot discard document with ID ${e}: it is not in the index`);\n\t\tthis._idToShortId.delete(e), this._documentIds.delete(t), this._storedFields.delete(t), (this._fieldLength.get(t) || []).forEach((e, n) => {\n\t\t\tthis.removeFieldLength(t, n, this._documentCount, e);\n\t\t}), this._fieldLength.delete(t), --this._documentCount, this._dirtCount += 1, this.maybeAutoVacuum();\n\t}\n\tmaybeAutoVacuum() {\n\t\tif (this._options.autoVacuum === !1) return;\n\t\tlet { minDirtFactor: e, minDirtCount: t, batchSize: n, batchWait: r } = this._options.autoVacuum;\n\t\tthis.conditionalVacuum({\n\t\t\tbatchSize: n,\n\t\t\tbatchWait: r\n\t\t}, {\n\t\t\tminDirtCount: t,\n\t\t\tminDirtFactor: e\n\t\t});\n\t}\n\tdiscardAll(e) {\n\t\tlet t = this._options.autoVacuum;\n\t\ttry {\n\t\t\tthis._options.autoVacuum = !1;\n\t\t\tfor (let t of e) this.discard(t);\n\t\t} finally {\n\t\t\tthis._options.autoVacuum = t;\n\t\t}\n\t\tthis.maybeAutoVacuum();\n\t}\n\treplace(e) {\n\t\tlet { idField: t, extractField: n } = this._options, r = n(e, t);\n\t\tthis.discard(r), this.add(e);\n\t}\n\tvacuum(e = {}) {\n\t\treturn this.conditionalVacuum(e);\n\t}\n\tconditionalVacuum(e, t) {\n\t\treturn this._currentVacuum ? (this._enqueuedVacuumConditions = this._enqueuedVacuumConditions && t, this._enqueuedVacuum ??= this._currentVacuum.then(() => {\n\t\t\tlet t = this._enqueuedVacuumConditions;\n\t\t\treturn this._enqueuedVacuumConditions = cn, this.performVacuuming(e, t);\n\t\t}), this._enqueuedVacuum) : this.vacuumConditionsMet(t) === !1 ? Promise.resolve() : (this._currentVacuum = this.performVacuuming(e), this._currentVacuum);\n\t}\n\tasync performVacuuming(e, t) {\n\t\tlet n = this._dirtCount;\n\t\tif (this.vacuumConditionsMet(t)) {\n\t\t\tlet t = e.batchSize || sn.batchSize, r = e.batchWait || sn.batchWait, i = 1;\n\t\t\tfor (let [e, n] of this._index) {\n\t\t\t\tfor (let [e, t] of n) for (let [r] of t) this._documentIds.has(r) || (t.size <= 1 ? n.delete(e) : t.delete(r));\n\t\t\t\tthis._index.get(e).size === 0 && this._index.delete(e), i % t === 0 && await new Promise((e) => setTimeout(e, r)), i += 1;\n\t\t\t}\n\t\t\tthis._dirtCount -= n;\n\t\t}\n\t\tawait null, this._currentVacuum = this._enqueuedVacuum, this._enqueuedVacuum = null;\n\t}\n\tvacuumConditionsMet(e) {\n\t\tif (e == null) return !0;\n\t\tlet { minDirtCount: t, minDirtFactor: n } = e;\n\t\treturn t ||= ln.minDirtCount, n ||= ln.minDirtFactor, this.dirtCount >= t && this.dirtFactor >= n;\n\t}\n\tget isVacuuming() {\n\t\treturn this._currentVacuum != null;\n\t}\n\tget dirtCount() {\n\t\treturn this._dirtCount;\n\t}\n\tget dirtFactor() {\n\t\treturn this._dirtCount / (1 + this._documentCount + this._dirtCount);\n\t}\n\thas(e) {\n\t\treturn this._idToShortId.has(e);\n\t}\n\tgetStoredFields(e) {\n\t\tlet t = this._idToShortId.get(e);\n\t\tif (t != null) return this._storedFields.get(t);\n\t}\n\tsearch(t, n = {}) {\n\t\tlet { searchOptions: r } = this._options, i = {\n\t\t\t...r,\n\t\t\t...n\n\t\t}, a = this.executeQuery(t, n), o = [];\n\t\tfor (let [e, { score: t, terms: n, match: r }] of a) {\n\t\t\tlet a = n.length || 1, s = {\n\t\t\t\tid: this._documentIds.get(e),\n\t\t\t\tscore: t * a,\n\t\t\t\tterms: Object.keys(r),\n\t\t\t\tqueryTerms: n,\n\t\t\t\tmatch: r\n\t\t\t};\n\t\t\tObject.assign(s, this._storedFields.get(e)), (i.filter == null || i.filter(s)) && o.push(s);\n\t\t}\n\t\treturn t === e.wildcard && i.boostDocument == null || o.sort(fn), o;\n\t}\n\tautoSuggest(e, t = {}) {\n\t\tt = {\n\t\t\t...this._options.autoSuggestOptions,\n\t\t\t...t\n\t\t};\n\t\tlet n = /* @__PURE__ */ new Map();\n\t\tfor (let { score: r, terms: i } of this.search(e, t)) {\n\t\t\tlet e = i.join(\" \"), t = n.get(e);\n\t\t\tt == null ? n.set(e, {\n\t\t\t\tscore: r,\n\t\t\t\tterms: i,\n\t\t\t\tcount: 1\n\t\t\t}) : (t.score += r, t.count += 1);\n\t\t}\n\t\tlet r = [];\n\t\tfor (let [e, { score: t, terms: i, count: a }] of n) r.push({\n\t\t\tsuggestion: e,\n\t\t\tterms: i,\n\t\t\tscore: t / a\n\t\t});\n\t\treturn r.sort(fn), r;\n\t}\n\tget documentCount() {\n\t\treturn this._documentCount;\n\t}\n\tget termCount() {\n\t\treturn this._index.size;\n\t}\n\tstatic loadJSON(e, t) {\n\t\tif (t == null) throw Error(\"MiniSearch: loadJSON should be given the same options used when serializing the index\");\n\t\treturn this.loadJS(JSON.parse(e), t);\n\t}\n\tstatic async loadJSONAsync(e, t) {\n\t\tif (t == null) throw Error(\"MiniSearch: loadJSON should be given the same options used when serializing the index\");\n\t\treturn this.loadJSAsync(JSON.parse(e), t);\n\t}\n\tstatic getDefault(e) {\n\t\tif (rn.hasOwnProperty(e)) return Qt(rn, e);\n\t\tthrow Error(`MiniSearch: unknown option \"${e}\"`);\n\t}\n\tstatic loadJS(e, t) {\n\t\tlet { index: n, documentIds: r, fieldLength: i, storedFields: a, serializationVersion: o } = e, s = this.instantiateMiniSearch(e, t);\n\t\ts._documentIds = mn(r), s._fieldLength = mn(i), s._storedFields = mn(a);\n\t\tfor (let [e, t] of s._documentIds) s._idToShortId.set(t, e);\n\t\tfor (let [e, t] of n) {\n\t\t\tlet n = /* @__PURE__ */ new Map();\n\t\t\tfor (let e of Object.keys(t)) {\n\t\t\t\tlet r = t[e];\n\t\t\t\to === 1 && (r = r.ds), n.set(parseInt(e, 10), mn(r));\n\t\t\t}\n\t\t\ts._index.set(e, n);\n\t\t}\n\t\treturn s;\n\t}\n\tstatic async loadJSAsync(e, t) {\n\t\tlet { index: n, documentIds: r, fieldLength: i, storedFields: a, serializationVersion: o } = e, s = this.instantiateMiniSearch(e, t);\n\t\ts._documentIds = await hn(r), s._fieldLength = await hn(i), s._storedFields = await hn(a);\n\t\tfor (let [e, t] of s._documentIds) s._idToShortId.set(t, e);\n\t\tlet c = 0;\n\t\tfor (let [e, t] of n) {\n\t\t\tlet n = /* @__PURE__ */ new Map();\n\t\t\tfor (let e of Object.keys(t)) {\n\t\t\t\tlet r = t[e];\n\t\t\t\to === 1 && (r = r.ds), n.set(parseInt(e, 10), await hn(r));\n\t\t\t}\n\t\t\t++c % 1e3 == 0 && await gn(0), s._index.set(e, n);\n\t\t}\n\t\treturn s;\n\t}\n\tstatic instantiateMiniSearch(t, n) {\n\t\tlet { documentCount: r, nextId: i, fieldIds: a, averageFieldLength: o, dirtCount: s, serializationVersion: c } = t;\n\t\tif (c !== 1 && c !== 2) throw Error(\"MiniSearch: cannot deserialize an index created with an incompatible version\");\n\t\tlet l = new e(n);\n\t\treturn l._documentCount = r, l._nextId = i, l._idToShortId = /* @__PURE__ */ new Map(), l._fieldIds = a, l._avgFieldLength = o, l._dirtCount = s || 0, l._index = new Bt(), l;\n\t}\n\texecuteQuery(t, n = {}) {\n\t\tif (t === e.wildcard) return this.executeWildcardQuery(n);\n\t\tif (typeof t != \"string\") {\n\t\t\tlet e = {\n\t\t\t\t...n,\n\t\t\t\t...t,\n\t\t\t\tqueries: void 0\n\t\t\t}, r = t.queries.map((t) => this.executeQuery(t, e));\n\t\t\treturn this.combineResults(r, e.combineWith);\n\t\t}\n\t\tlet { tokenize: r, processTerm: i, searchOptions: a } = this._options, o = {\n\t\t\ttokenize: r,\n\t\t\tprocessTerm: i,\n\t\t\t...a,\n\t\t\t...n\n\t\t}, { tokenize: s, processTerm: c } = o, l = s(t).flatMap((e) => c(e)).filter((e) => !!e).map(nn(o)).map((e) => this.executeQuerySpec(e, o));\n\t\treturn this.combineResults(l, o.combineWith);\n\t}\n\texecuteQuerySpec(e, t) {\n\t\tlet n = {\n\t\t\t...this._options.searchOptions,\n\t\t\t...t\n\t\t}, r = (n.fields || this._options.fields).reduce((e, t) => ({\n\t\t\t...e,\n\t\t\t[t]: Qt(n.boost, t) || 1\n\t\t}), {}), { boostDocument: i, weights: a, maxFuzzy: o, bm25: s } = n, { fuzzy: c, prefix: l } = {\n\t\t\t...an.weights,\n\t\t\t...a\n\t\t}, u = this._index.get(e.term), d = this.termResults(e.term, e.term, 1, e.termBoost, u, r, i, s), f, p;\n\t\tif (e.prefix && (f = this._index.atPrefix(e.term)), e.fuzzy) {\n\t\t\tlet t = e.fuzzy === !0 ? .2 : e.fuzzy, n = t < 1 ? Math.min(o, Math.round(e.term.length * t)) : t;\n\t\t\tn && (p = this._index.fuzzyGet(e.term, n));\n\t\t}\n\t\tif (f) for (let [t, n] of f) {\n\t\t\tlet a = t.length - e.term.length;\n\t\t\tif (!a) continue;\n\t\t\tp?.delete(t);\n\t\t\tlet o = l * t.length / (t.length + .3 * a);\n\t\t\tthis.termResults(e.term, t, o, e.termBoost, n, r, i, s, d);\n\t\t}\n\t\tif (p) for (let t of p.keys()) {\n\t\t\tlet [n, a] = p.get(t);\n\t\t\tif (!a) continue;\n\t\t\tlet o = c * t.length / (t.length + a);\n\t\t\tthis.termResults(e.term, t, o, e.termBoost, n, r, i, s, d);\n\t\t}\n\t\treturn d;\n\t}\n\texecuteWildcardQuery(e) {\n\t\tlet t = /* @__PURE__ */ new Map(), n = {\n\t\t\t...this._options.searchOptions,\n\t\t\t...e\n\t\t};\n\t\tfor (let [e, r] of this._documentIds) {\n\t\t\tlet i = n.boostDocument ? n.boostDocument(r, \"\", this._storedFields.get(e)) : 1;\n\t\t\tt.set(e, {\n\t\t\t\tscore: i,\n\t\t\t\tterms: [],\n\t\t\t\tmatch: {}\n\t\t\t});\n\t\t}\n\t\treturn t;\n\t}\n\tcombineResults(e, t = Jt) {\n\t\tif (e.length === 0) return /* @__PURE__ */ new Map();\n\t\tlet n = $t[t.toLowerCase()];\n\t\tif (!n) throw Error(`Invalid combination operator: ${t}`);\n\t\treturn e.reduce(n) || /* @__PURE__ */ new Map();\n\t}\n\ttoJSON() {\n\t\tlet e = [];\n\t\tfor (let [t, n] of this._index) {\n\t\t\tlet r = {};\n\t\t\tfor (let [e, t] of n) r[e] = Object.fromEntries(t);\n\t\t\te.push([t, r]);\n\t\t}\n\t\treturn {\n\t\t\tdocumentCount: this._documentCount,\n\t\t\tnextId: this._nextId,\n\t\t\tdocumentIds: Object.fromEntries(this._documentIds),\n\t\t\tfieldIds: this._fieldIds,\n\t\t\tfieldLength: Object.fromEntries(this._fieldLength),\n\t\t\taverageFieldLength: this._avgFieldLength,\n\t\t\tstoredFields: Object.fromEntries(this._storedFields),\n\t\t\tdirtCount: this._dirtCount,\n\t\t\tindex: e,\n\t\t\tserializationVersion: 2\n\t\t};\n\t}\n\ttermResults(e, t, n, r, i, a, o, s, c = /* @__PURE__ */ new Map()) {\n\t\tif (i == null) return c;\n\t\tfor (let l of Object.keys(a)) {\n\t\t\tlet u = a[l], d = this._fieldIds[l], f = i.get(d);\n\t\t\tif (f == null) continue;\n\t\t\tlet p = f.size, m = this._avgFieldLength[d];\n\t\t\tfor (let i of f.keys()) {\n\t\t\t\tif (!this._documentIds.has(i)) {\n\t\t\t\t\tthis.removeTerm(d, i, t), --p;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tlet a = o ? o(this._documentIds.get(i), t, this._storedFields.get(i)) : 1;\n\t\t\t\tif (!a) continue;\n\t\t\t\tlet h = f.get(i), g = this._fieldLength.get(i)[d], _ = tn(h, p, this._documentCount, g, m, s), v = n * r * u * a * _, y = c.get(i);\n\t\t\t\tif (y) {\n\t\t\t\t\ty.score += v, un(y.terms, e);\n\t\t\t\t\tlet n = Qt(y.match, t);\n\t\t\t\t\tn ? n.push(l) : y.match[t] = [l];\n\t\t\t\t} else c.set(i, {\n\t\t\t\t\tscore: v,\n\t\t\t\t\tterms: [e],\n\t\t\t\t\tmatch: { [t]: [l] }\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn c;\n\t}\n\taddTerm(e, t, n) {\n\t\tlet r = this._index.fetch(n, pn), i = r.get(e);\n\t\tif (i == null) i = /* @__PURE__ */ new Map(), i.set(t, 1), r.set(e, i);\n\t\telse {\n\t\t\tlet e = i.get(t);\n\t\t\ti.set(t, (e || 0) + 1);\n\t\t}\n\t}\n\tremoveTerm(e, t, n) {\n\t\tif (!this._index.has(n)) {\n\t\t\tthis.warnDocumentChanged(t, e, n);\n\t\t\treturn;\n\t\t}\n\t\tlet r = this._index.fetch(n, pn), i = r.get(e);\n\t\ti == null || i.get(t) == null ? this.warnDocumentChanged(t, e, n) : i.get(t) <= 1 ? i.size <= 1 ? r.delete(e) : i.delete(t) : i.set(t, i.get(t) - 1), this._index.get(n).size === 0 && this._index.delete(n);\n\t}\n\twarnDocumentChanged(e, t, n) {\n\t\tfor (let r of Object.keys(this._fieldIds)) if (this._fieldIds[r] === t) {\n\t\t\tthis._options.logger(\"warn\", `MiniSearch: document with ID ${this._documentIds.get(e)} has changed before removal: term \"${n}\" was not present in field \"${r}\". Removing a document after it has changed can corrupt the index!`, \"version_conflict\");\n\t\t\treturn;\n\t\t}\n\t}\n\taddDocumentId(e) {\n\t\tlet t = this._nextId;\n\t\treturn this._idToShortId.set(e, t), this._documentIds.set(t, e), this._documentCount += 1, this._nextId += 1, t;\n\t}\n\taddFields(e) {\n\t\tfor (let t = 0; t < e.length; t++) this._fieldIds[e[t]] = t;\n\t}\n\taddFieldLength(e, t, n, r) {\n\t\tlet i = this._fieldLength.get(e);\n\t\ti ?? this._fieldLength.set(e, i = []), i[t] = r;\n\t\tlet a = (this._avgFieldLength[t] || 0) * n + r;\n\t\tthis._avgFieldLength[t] = a / (n + 1);\n\t}\n\tremoveFieldLength(e, t, n, r) {\n\t\tif (n === 1) {\n\t\t\tthis._avgFieldLength[t] = 0;\n\t\t\treturn;\n\t\t}\n\t\tlet i = this._avgFieldLength[t] * n - r;\n\t\tthis._avgFieldLength[t] = i / (n - 1);\n\t}\n\tsaveStoredFields(e, t) {\n\t\tlet { storeFields: n, extractField: r } = this._options;\n\t\tif (n == null || n.length === 0) return;\n\t\tlet i = this._storedFields.get(e);\n\t\ti ?? this._storedFields.set(e, i = {});\n\t\tfor (let e of n) {\n\t\t\tlet n = r(t, e);\n\t\t\tn !== void 0 && (i[e] = n);\n\t\t}\n\t}\n};\nZt.wildcard = Symbol(\"*\");\nvar Qt = (e, t) => Object.prototype.hasOwnProperty.call(e, t) ? e[t] : void 0, $t = {\n\t[Jt]: (e, t) => {\n\t\tfor (let n of t.keys()) {\n\t\t\tlet r = e.get(n);\n\t\t\tif (r == null) e.set(n, t.get(n));\n\t\t\telse {\n\t\t\t\tlet { score: e, terms: i, match: a } = t.get(n);\n\t\t\t\tr.score += e, r.match = Object.assign(r.match, a), dn(r.terms, i);\n\t\t\t}\n\t\t}\n\t\treturn e;\n\t},\n\t[Yt]: (e, t) => {\n\t\tlet n = /* @__PURE__ */ new Map();\n\t\tfor (let r of t.keys()) {\n\t\t\tlet i = e.get(r);\n\t\t\tif (i == null) continue;\n\t\t\tlet { score: a, terms: o, match: s } = t.get(r);\n\t\t\tdn(i.terms, o), n.set(r, {\n\t\t\t\tscore: i.score + a,\n\t\t\t\tterms: i.terms,\n\t\t\t\tmatch: Object.assign(i.match, s)\n\t\t\t});\n\t\t}\n\t\treturn n;\n\t},\n\t[Xt]: (e, t) => {\n\t\tfor (let n of t.keys()) e.delete(n);\n\t\treturn e;\n\t}\n}, en = {\n\tk: 1.2,\n\tb: .7,\n\td: .5\n}, tn = (e, t, n, r, i, a) => {\n\tlet { k: o, b: s, d: c } = a;\n\treturn Math.log(1 + (n - t + .5) / (t + .5)) * (c + e * (o + 1) / (e + o * (1 - s + s * r / i)));\n}, nn = (e) => (t, n, r) => ({\n\tterm: t,\n\tfuzzy: typeof e.fuzzy == \"function\" ? e.fuzzy(t, n, r) : e.fuzzy || !1,\n\tprefix: typeof e.prefix == \"function\" ? e.prefix(t, n, r) : e.prefix === !0,\n\ttermBoost: typeof e.boostTerm == \"function\" ? e.boostTerm(t, n, r) : 1\n}), rn = {\n\tidField: \"id\",\n\textractField: (e, t) => e[t],\n\tstringifyField: (e, t) => e.toString(),\n\ttokenize: (e) => e.split(_n),\n\tprocessTerm: (e) => e.toLowerCase(),\n\tfields: void 0,\n\tsearchOptions: void 0,\n\tstoreFields: [],\n\tlogger: (e, t) => {\n\t\ttypeof (console == null ? void 0 : console[e]) == \"function\" && console[e](t);\n\t},\n\tautoVacuum: !0\n}, an = {\n\tcombineWith: Jt,\n\tprefix: !1,\n\tfuzzy: !1,\n\tmaxFuzzy: 6,\n\tboost: {},\n\tweights: {\n\t\tfuzzy: .45,\n\t\tprefix: .375\n\t},\n\tbm25: en\n}, on = {\n\tcombineWith: Yt,\n\tprefix: (e, t, n) => t === n.length - 1\n}, sn = {\n\tbatchSize: 1e3,\n\tbatchWait: 10\n}, cn = {\n\tminDirtFactor: .1,\n\tminDirtCount: 20\n}, ln = {\n\t...sn,\n\t...cn\n}, un = (e, t) => {\n\te.includes(t) || e.push(t);\n}, dn = (e, t) => {\n\tfor (let n of t) e.includes(n) || e.push(n);\n}, fn = ({ score: e }, { score: t }) => t - e, pn = () => /* @__PURE__ */ new Map(), mn = (e) => {\n\tlet t = /* @__PURE__ */ new Map();\n\tfor (let n of Object.keys(e)) t.set(parseInt(n, 10), e[n]);\n\treturn t;\n}, hn = async (e) => {\n\tlet t = /* @__PURE__ */ new Map(), n = 0;\n\tfor (let r of Object.keys(e)) t.set(parseInt(r, 10), e[r]), ++n % 1e3 == 0 && await gn(0);\n\treturn t;\n}, gn = (e) => new Promise((t) => setTimeout(t, e)), _n = /[\\n\\r\\p{Z}\\p{P}]+/u, vn = new Set(\"a an the and or but for to of in on at by from my me i im is it its do does did can could you your we our us with without how what which who whats where when why there this that these those need want get got any are be have has will would should some show find looking look buy price prices cost costs\".split(\" \")), yn = {\n\tcctv: [\"camera\"],\n\tcam: [\"camera\"],\n\twebcam: [\"camera\"],\n\tsurveillance: [\"camera\"],\n\tdoor: [\"lock\"],\n\tlight: [\"floodlight\"],\n\tflood: [\"floodlight\"],\n\tspotlight: [\"floodlight\"],\n\tlamp: [\"floodlight\"],\n\tkeyless: [\"lock\"],\n\tkey: [\"lock\"],\n\tkeypad: [\"lock\"],\n\tdeadbolt: [\"lock\"],\n\tburglar: [\"alarm\"],\n\tintruder: [\"alarm\"],\n\tsiren: [\"alarm\"],\n\tsensor: [\"alarm\"],\n\tswitch: [\"panel\"],\n\tgang: [\"switch\"],\n\trocker: [\"switch\"],\n\thub: [\"panel\"],\n\ttouchscreen: [\"panel\"],\n\tremote: [\"panel\"],\n\tplug: [\"socket\"],\n\toutlet: [\"socket\"],\n\tusb: [\"socket\"],\n\tcharger: [\"socket\"],\n\tzigbee: [\"socket\", \"panel\"],\n\tcurtain: [\"blinds\"],\n\tshade: [\"blinds\"],\n\tshutter: [\"blinds\"],\n\twindow: [\"blinds\"],\n\tsubscription: [\"fee\", \"monthly\"],\n\tcontract: [\"fee\", \"monthly\"],\n\tinstall: [\"installation\"],\n\tinstaller: [\"installation\"],\n\tfit: [\"installation\"],\n\tfitting: [\"installation\"],\n\tfitted: [\"installation\"],\n\telectrician: [\"installation\"],\n\tgarden: [\"outdoor\"],\n\tdriveway: [\"outdoor\", \"floodlight\"],\n\tyard: [\"outdoor\"],\n\toutside: [\"outdoor\"],\n\texternal: [\"outdoor\"],\n\tinside: [\"indoor\"],\n\tbaby: [\"indoor\"],\n\tpet: [\"indoor\"],\n\tnanny: [\"indoor\"],\n\tdark: [\"night\"],\n\tnite: [\"night\"],\n\talexa: [\"alexa\"],\n\tgoogle: [\"google\"],\n\tsun: [\"solar\"],\n\twireless: [\"battery\", \"wire\"],\n\tcordless: [\"battery\"],\n\trefund: [\"return\"],\n\tmoney: [\"refund\"],\n\tguarantee: [\"warranty\"]\n}, bn = (e) => String(e).toLowerCase().normalize(\"NFKD\").replace(/[\\u0300-\\u036f]/g, \"\").replace(/wi-?fi/g, \"wifi\").replace(/lite\\b/g, \"light\"), xn = (e) => bn(e).split(/[^\\p{L}\\p{N}]+/u).filter(Boolean), Sn = (e) => e.length > 3 && e.endsWith(\"s\") && !e.endsWith(\"ss\") ? e.slice(0, -1) : e, Cn = [\n\t[\n\t\t\"Pro installation\",\n\t\t\"pro-installation.html\",\n\t\t\"Licensed installers across Dublin, Cork & Galway\",\n\t\t\"tools\",\n\t\t\"installation installer fitting fitted setup book booking electrician\"\n\t],\n\t[\n\t\t\"Get a free quote\",\n\t\t\"contact.html#quote\",\n\t\t\"Get device advice and compare DIY or fitted prices\",\n\t\t\"sparkle\",\n\t\t\"quote estimate consultation survey design price\"\n\t],\n\t[\n\t\t\"Smart blinds\",\n\t\t\"smart-blinds.html\",\n\t\t\"Motorised blinds with app & voice control\",\n\t\t\"blinds\",\n\t\t\"blinds curtains shades motorised window\"\n\t],\n\t[\n\t\t\"Blackout blinds\",\n\t\t\"blackout-blinds.html\",\n\t\t\"Guard 2 total blackout blinds, made to your window\",\n\t\t\"blinds\",\n\t\t\"blackout blind guard dark sleep night shift curtains window\"\n\t],\n\t[\n\t\t\"Showroom, Co. Wicklow\",\n\t\t\"showroom.html\",\n\t\t\"See working devices at Loghouse.ie, Glen of the Downs\",\n\t\t\"pin\",\n\t\t\"showroom visit demo store address wicklow bray opening hours\"\n\t],\n\t[\n\t\t\"Upgrade programme\",\n\t\t\"upgrade.html\",\n\t\t\"10% off installation when you upgrade\",\n\t\t\"refresh\",\n\t\t\"upgrade replace old existing trade switch\"\n\t],\n\t[\n\t\t\"FAQ & Support\",\n\t\t\"faq.html\",\n\t\t\"Answers on products, installation & troubleshooting\",\n\t\t\"chat\",\n\t\t\"help support question problem troubleshoot\"\n\t],\n\t[\n\t\t\"Contact us\",\n\t\t\"contact.html\",\n\t\t\"Phone, WhatsApp, email\",\n\t\t\"phone\",\n\t\t\"contact call phone email whatsapp number reach talk\"\n\t],\n\t[\n\t\t\"Returns & refunds\",\n\t\t\"policy.html?p=refund\",\n\t\t\"14-day returns on DIY orders\",\n\t\t\"return\",\n\t\t\"return returns refund exchange money back\"\n\t]\n], wn = null, Tn = null;\nfunction En() {\n\tlet e = window.AURA, t = window.AURA_ARTICLES || [], n = (e) => e.replace(/^./, (e) => e.toUpperCase());\n\tTn = /* @__PURE__ */ new Map();\n\tlet r = (e) => Tn.set(e.id, e);\n\te.products.forEach((t) => r({\n\t\tid: \"p:\" + t.handle,\n\t\tkind: \"product\",\n\t\tref: t,\n\t\ttitle: t.name,\n\t\ttype: t.type,\n\t\tcats: t.collections.map((t) => e.collections.find((e) => e.handle === t)?.title || t).join(\" \"),\n\t\ttagline: t.tagline,\n\t\tkeywords: [\n\t\t\t...t.highlights.map((e) => e[1]),\n\t\t\t...(t.features || []).map((e) => e[0]),\n\t\t\tt.idealFor || \"\"\n\t\t].join(\" \"),\n\t\tbody: [t.intro, ...(t.features || []).map((e) => e[1])].join(\" \")\n\t})), e.collections.filter((e) => e.handle !== \"all\").forEach((t) => r({\n\t\tid: \"c:\" + t.handle,\n\t\tkind: \"collection\",\n\t\tref: t,\n\t\ttitle: n(t.title),\n\t\tkeywords: t.blurb,\n\t\tn: e.inCollection(t.handle).length\n\t})), Cn.filter(([, t]) => e.shown(t)).forEach(([t, n, i, a, o], s) => r({\n\t\tid: \"g:\" + s,\n\t\tkind: \"page\",\n\t\ttitle: t,\n\t\thref: e.route(n),\n\t\tdesc: i,\n\t\tico: a,\n\t\tkeywords: o,\n\t\tbody: i\n\t})), e.faqs.forEach((e) => e.items.forEach(([t, n], i) => r({\n\t\tid: `f:${e.cat}:${i}`,\n\t\tkind: \"faq\",\n\t\ttitle: t,\n\t\tcats: e.cat,\n\t\tbody: n,\n\t\tanswer: n\n\t}))), e.features.journal && t.forEach((e) => r({\n\t\tid: \"a:\" + e.slug,\n\t\tkind: \"article\",\n\t\tref: e,\n\t\ttitle: e.title,\n\t\tcats: e.tag,\n\t\tbody: e.excerpt\n\t})), wn = new Zt({\n\t\tfields: [\n\t\t\t\"title\",\n\t\t\t\"type\",\n\t\t\t\"cats\",\n\t\t\t\"tagline\",\n\t\t\t\"keywords\",\n\t\t\t\"body\"\n\t\t],\n\t\tstoreFields: [],\n\t\ttokenize: xn,\n\t\tprocessTerm: (e) => vn.has(e) ? null : Sn(e),\n\t\tsearchOptions: {\n\t\t\tboost: {\n\t\t\t\ttitle: 5,\n\t\t\t\ttype: 3,\n\t\t\t\tcats: 2,\n\t\t\t\ttagline: 1.5,\n\t\t\t\tkeywords: 1.2,\n\t\t\t\tbody: .5\n\t\t\t},\n\t\t\tprefix: (e) => e.length > 1,\n\t\t\tfuzzy: (e) => e.length >= 6 ? 2 : +(e.length >= 3)\n\t\t}\n\t}), wn.addAll([...Tn.values()]);\n}\nvar Dn = \"\u20AC?\\\\s*(\\\\d+(?:[.,]\\\\d+)?)\\\\s*(?:\u20AC|eur|euro|euros)?\", On = {\n\trange: RegExp(`(?:between\\\\s+)?${Dn}\\\\s*(?:-|\u2013|to|and)\\\\s*${Dn}`, \"i\"),\n\tmax: RegExp(`(?:under|below|less than|cheaper than|max(?:imum)?|up to|upto|no more than|<)\\\\s*${Dn}`, \"i\"),\n\tmin: RegExp(`(?:over|above|more than|at least|min(?:imum)?|>)\\\\s*${Dn}`, \"i\"),\n\tcheap: /\\b(cheap(?:est|er)?|budget|affordable|lowest price|inexpensive|low cost)\\b/i\n};\nfunction kn(e) {\n\tlet t = \" \" + String(e || \"\") + \" \", n = null, r = null, i = !1, a = (e) => Number(String(e).replace(\",\", \".\")), o;\n\treturn (o = t.match(On.range)) && /[\u20AC]|eur|-|\u2013|to|between/i.test(o[0]) && a(o[2]) > a(o[1]) && (n = a(o[1]), r = a(o[2]), t = t.replace(o[0], \" \")), (o = t.match(On.max)) && (r = a(o[1]), t = t.replace(o[0], \" \")), (o = t.match(On.min)) && (n = a(o[1]), t = t.replace(o[0], \" \")), (o = t.match(On.cheap)) && (i = !0, t = t.replace(o[0], \" \")), {\n\t\twords: xn(t).filter((e) => !vn.has(e)),\n\t\tmin: n,\n\t\tmax: r,\n\t\tcheap: i,\n\t\tquestion: /\\?\\s*$|^\\s*(how|what|do|does|can|is|are|will|where|why|when|which|should)\\b/i.test(e || \"\")\n\t};\n}\nvar An = (e, t) => (t.min == null || e.from >= t.min) && (t.max == null || e.from <= t.max), jn = (e) => ({\n\tcombineWith: \"AND\",\n\tqueries: e.map((e) => ({\n\t\tcombineWith: \"OR\",\n\t\tqueries: [e, ...yn[Sn(e)] || yn[e] || []]\n\t}))\n}), Mn = (e, t) => {\n\tlet n = Array.from({ length: t.length + 1 }, (e, t) => t);\n\tfor (let r = 1; r <= e.length; r++) {\n\t\tlet i = n[0];\n\t\tn[0] = r;\n\t\tfor (let a = 1; a <= t.length; a++) {\n\t\t\tlet o = n[a];\n\t\t\tn[a] = Math.min(n[a] + 1, n[a - 1] + 1, i + (e[r - 1] === t[a - 1] ? 0 : 1)), i = o;\n\t\t}\n\t}\n\treturn n[t.length];\n};\nfunction Nn(e, t) {\n\tlet n = [];\n\treturn t.forEach((e) => {\n\t\tlet t = /* @__PURE__ */ new Set();\n\t\tif (wn.search(e, {\n\t\t\tprefix: !1,\n\t\t\tfuzzy: e.length >= 5 ? 2 : 1\n\t\t}).slice(0, 8).forEach((e) => e.terms.forEach((e) => t.add(e))), t.has(Sn(e)) || !t.size) return;\n\t\tlet r = [...t].sort((t, n) => Mn(e, t) - Mn(e, n))[0];\n\t\tMn(e, r) <= 2 && n.push([e, r]);\n\t}), n.length ? n.reduce((e, [t, n]) => e.replace(RegExp(`(^|[^\\\\p{L}\\\\p{N}])${In(t)}(?=$|[^\\\\p{L}\\\\p{N}])`, \"iu\"), `$1${n}`), String(e).trim()) : null;\n}\nfunction Pn(e) {\n\twn || En();\n\tlet t = kn(e), n = {\n\t\tq: t,\n\t\tproducts: [],\n\t\tcollections: [],\n\t\tfaqs: [],\n\t\tpages: [],\n\t\tarticles: [],\n\t\tloose: !1,\n\t\tsuggestion: null,\n\t\tterms: [],\n\t\torder: []\n\t}, r = t.min != null || t.max != null || t.cheap, i = window.AURA;\n\tif (!t.words.length) return r && (n.products = i.products.filter((e) => An(e, t)).sort((e, t) => e.from - t.from)), n.order = [\"products\"], n;\n\tlet a = wn.search(jn(t.words));\n\t!a.length && t.words.length > 1 && (a = wn.search(t.words.join(\" \"), { combineWith: \"OR\" }), n.loose = a.length > 0), (!a.length || n.loose) && (n.suggestion = Nn(e, t.words));\n\tlet o = new Set(t.words), s = {};\n\ta.forEach((e) => {\n\t\te.terms.forEach((e) => o.add(e));\n\t\tlet r = Tn.get(e.id), i = r.kind === \"product\" ? \"products\" : r.kind === \"collection\" ? \"collections\" : r.kind === \"faq\" ? \"faqs\" : r.kind === \"page\" ? \"pages\" : \"articles\";\n\t\t(i !== \"products\" || An(r.ref, t)) && (n[i].push({\n\t\t\t...r,\n\t\t\tscore: e.score\n\t\t}), s[i] = Math.max(s[i] || 0, e.score));\n\t}), n.terms = [...o];\n\tfor (let e of [\n\t\t\"products\",\n\t\t\"faqs\",\n\t\t\"pages\",\n\t\t\"articles\"\n\t]) n[e] = n[e].filter((t) => t.score >= s[e] * .12);\n\tt.cheap && n.products.sort((e, t) => e.ref.from - t.ref.from), n.products = n.products.map((e) => e.ref);\n\tlet c = {\n\t\tproducts: 1.25,\n\t\tcollections: .6,\n\t\tfaqs: t.question ? 1.6 : .8,\n\t\tpages: .9,\n\t\tarticles: .5\n\t};\n\treturn n.order = Object.keys(c).filter((e) => n[e].length).sort((e, t) => s[t] * c[t] - s[e] * c[e]), n;\n}\nvar Fn = (e) => Pn(e).products, In = (e) => e.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\nfunction Ln(e, t, n) {\n\tlet r = n(e), i = t.filter((e) => e.length > 1).sort((e, t) => t.length - e.length).map((e) => In(e).replace(/^wifi/, \"wi-?fi\"));\n\treturn i.length ? r.replace(RegExp(`(^|[^\\\\p{L}\\\\p{N}])(${i.join(\"|\")})`, \"giu\"), \"$1<mark>$2</mark>\") : r;\n}\n//#endregion\n//#region src/search/aura-search.js\nvar Rn = (e) => window.AURA.route(e), zn = \"aura-recent-searches\", Bn = () => {\n\ttry {\n\t\treturn JSON.parse(localStorage.getItem(zn)) || [];\n\t} catch {\n\t\treturn [];\n\t}\n}, Vn = (e) => {\n\ttry {\n\t\tlocalStorage.setItem(zn, JSON.stringify(e));\n\t} catch {}\n}, Hn = [\n\t\"Floodlight camera\",\n\t\"Solar camera\",\n\t\"Cameras under \u20AC150\",\n\t\"Cheapest smart lock\",\n\t\"Do I need Wi-Fi?\",\n\t\"Installation\"\n], Un = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tif (this.A = window.A, this.input = this.querySelector(\"[data-search-input]\"), this.out = this.querySelector(\"[data-search-results]\"), this.status = this.querySelector(\"[data-search-status]\"), !this.input || !this.out) return;\n\t\tthis.ac = new AbortController();\n\t\tlet e = this.ac.signal;\n\t\tthis.active = -1, this.input.addEventListener(\"input\", () => this.render(), { signal: e }), this.input.addEventListener(\"keydown\", (e) => this.onKey(e), { signal: e }), this.out.addEventListener(\"pointermove\", (e) => {\n\t\t\tlet t = e.target.closest(\"[data-hit]\");\n\t\t\tt && this.setActive(this.hits().indexOf(t), !1);\n\t\t}, { signal: e }), document.addEventListener(\"click\", (e) => {\n\t\t\tif (e.target.closest(\"[data-search-open]\")) {\n\t\t\t\te.preventDefault(), this.open();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this.isOpen) return;\n\t\t\te.target.closest(\"[data-search-close]\") && this.close();\n\t\t\tlet t = e.target.closest(\"[data-suggest]\");\n\t\t\tt && (this.input.value = t.dataset.suggest, this.render(), this.input.focus()), e.target.closest(\"[data-recent-clear]\") && (Vn([]), this.render(), this.input.focus()), e.target.closest(\"[data-hit]\") && this.remember();\n\t\t}, { signal: e }), document.addEventListener(\"keydown\", (e) => {\n\t\t\tlet t = /input|textarea|select/i.test(document.activeElement?.tagName) || document.activeElement?.isContentEditable;\n\t\t\t(e.key === \"/\" && !t || e.key.toLowerCase() === \"k\" && (e.metaKey || e.ctrlKey)) && (e.preventDefault(), this.open());\n\t\t}, { signal: e });\n\t}\n\tdisconnectedCallback() {\n\t\tthis.ac?.abort();\n\t}\n\tget isOpen() {\n\t\treturn this.classList.contains(\"is-open\");\n\t}\n\topen() {\n\t\tthis.isOpen || (this.last = document.activeElement, this.classList.add(\"is-open\"), this.setAttribute(\"aria-hidden\", \"false\"), this.A?.lock(), this.render(), this.input.select(), setTimeout(() => this.input.focus(), 80));\n\t}\n\tclose() {\n\t\tthis.isOpen && (this.classList.remove(\"is-open\"), this.setAttribute(\"aria-hidden\", \"true\"), this.A?.unlock(), this.last?.focus?.());\n\t}\n\tremember(e = this.input.value.trim()) {\n\t\te.length < 2 || Vn([e, ...Bn().filter((t) => t.toLowerCase() !== e.toLowerCase())].slice(0, 5));\n\t}\n\thits() {\n\t\treturn [...this.out.querySelectorAll(\"[data-hit]\")];\n\t}\n\tsetActive(e, t = !0) {\n\t\tlet n = this.hits();\n\t\tthis.active = n.length ? (e + n.length) % n.length : -1, n.forEach((e, t) => {\n\t\t\te.classList.toggle(\"is-active\", t === this.active), e.setAttribute(\"aria-selected\", t === this.active);\n\t\t});\n\t\tlet r = n[this.active];\n\t\tr ? (this.input.setAttribute(\"aria-activedescendant\", r.id), t && r.scrollIntoView({ block: \"nearest\" })) : this.input.removeAttribute(\"aria-activedescendant\");\n\t}\n\tonKey(e) {\n\t\tlet t = this.hits();\n\t\tif (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") e.preventDefault(), this.setActive(this.active < 0 && e.key === \"ArrowUp\" ? -1 : this.active + (e.key === \"ArrowDown\" ? 1 : -1));\n\t\telse if (e.key === \"Enter\") {\n\t\t\te.preventDefault();\n\t\t\tlet n = this.input.value.trim();\n\t\t\tif (t[this.active]) {\n\t\t\t\tt[this.active].click();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!n) return;\n\t\t\tthis.remember(n), this.result?.products.length ? location.href = Rn(\"shop.html?q=\" + encodeURIComponent(n)) : t.find((e) => e.tagName === \"A\")?.click();\n\t\t} else e.key === \"Escape\" && (e.preventDefault(), e.stopPropagation(), this.input.value ? (this.input.value = \"\", this.render()) : this.close());\n\t}\n\trender() {\n\t\tlet { esc: e, icon: t } = this.A, n = this.input.value, r = 0, i = () => `sr-${r++}`, a, o = 0;\n\t\tif (n.trim()) {\n\t\t\tlet r = this.result = Pn(n), s = (t) => Ln(t, r.terms, e), c = [];\n\t\t\tr.q.min != null && r.q.max != null ? c.push(`\u20AC${r.q.min}\u2013\u20AC${r.q.max}`) : r.q.max == null ? r.q.min != null && c.push(`over \u20AC${r.q.min}`) : c.push(`under \u20AC${r.q.max}`), r.q.cheap && c.push(\"cheapest first\");\n\t\t\tlet l = {\n\t\t\t\tproducts: () => `<div class=\"search__group\" role=\"group\" aria-label=\"Products\"><h3>Products</h3>${r.products.slice(0, r.q.question ? 3 : 6).map((e) => this.productHit(e, r.terms, i())).join(\"\")}</div>`,\n\t\t\t\tcollections: () => `<div class=\"search__group\" role=\"group\" aria-label=\"Collections\"><h3>Collections</h3><div class=\"search__suggest\">${r.collections.slice(0, 4).map((e) => `<a class=\"chip chip--sm\" id=\"${i()}\" role=\"option\" data-hit href=\"${Rn(`shop.html?c=${e.ref.handle}`)}\"><span>${s(e.title)}</span><span class=\"n\">${e.n}</span></a>`).join(\"\")}</div></div>`,\n\t\t\t\tfaqs: () => `<div class=\"search__group\" role=\"group\" aria-label=\"Answers\"><h3>Answers</h3>${r.faqs.slice(0, 3).map((n) => `<a class=\"search__hit search__hit--answer\" id=\"${i()}\" role=\"option\" data-hit href=\"${Rn(`faq.html?q=${encodeURIComponent(n.title)}`)}\"><span class=\"media\">${t(\"chat\")}</span><span><b>${s(n.title)}</b><span class=\"search__answer\">${e(n.answer)}</span></span>${t(\"arrow\")}</a>`).join(\"\")}</div>`,\n\t\t\t\tpages: () => `<div class=\"search__group\" role=\"group\" aria-label=\"Pages\"><h3>Pages</h3>${r.pages.slice(0, 3).map((n) => `<a class=\"search__hit\" id=\"${i()}\" role=\"option\" data-hit href=\"${n.href}\"><span class=\"media\">${t(n.ico)}</span><span><b>${s(n.title)}</b><span>${e(n.desc)}</span></span>${t(\"arrow\")}</a>`).join(\"\")}</div>`,\n\t\t\t\tarticles: () => `<div class=\"search__group\" role=\"group\" aria-label=\"Journal\"><h3>Journal</h3>${r.articles.slice(0, 3).map((n) => `<a class=\"search__hit\" id=\"${i()}\" role=\"option\" data-hit href=\"${Rn(`article.html?a=${n.ref.slug}`)}\"><span class=\"media photo\"><img src=\"${n.ref.image}\" alt=\"\"></span><span><b>${s(n.title)}</b><span>${e(n.ref.tag)} \u00B7 ${n.ref.minutes} min read</span></span>${t(\"arrow\")}</a>`).join(\"\")}</div>`\n\t\t\t};\n\t\t\to = r.products.length + r.collections.length + r.faqs.length + r.pages.length + r.articles.length;\n\t\t\tlet u = r.suggestion ? ` Did you mean <button class=\"link-btn\" type=\"button\" data-suggest=\"${e(r.suggestion)}\">${e(r.suggestion)}</button>?` : \"\", d = c.length && r.products.length ? `<p class=\"search__note\">${t(\"sliders\")}<span>Products ${c.join(\", \")}</span></p>` : r.loose ? `<p class=\"search__note\">${t(\"search\")}<span>No exact match, so here are the closest.${u}</span></p>` : \"\";\n\t\t\ta = o ? d + r.order.map((e) => l[e]()).join(\"\") + (r.products.length > 1 && !r.q.question ? `<a class=\"search__all\" id=\"${i()}\" role=\"option\" data-hit href=\"${Rn(`shop.html?q=${encodeURIComponent(n.trim())}`)}\">See all ${r.products.length} products for \u201C${e(n.trim())}\u201D ${t(\"arrow\")}</a>` : \"\") : `<div class=\"search__empty\">${c.length ? `Nothing ${c.join(\", \")} for \u201C${e(n.trim())}\u201D.` : `No results for \u201C${e(n.trim())}\u201D.`}${u}<br><a class=\"link\" style=\"margin-top:10px\" href=\"${window.AURA.site.whatsappHref}\" target=\"_blank\" rel=\"noopener\">Ask us on WhatsApp ${t(\"arrow\")}</a></div>`;\n\t\t} else {\n\t\t\tlet n = Bn();\n\t\t\tthis.result = null, a = (n.length ? `<div class=\"search__group\"><div class=\"search__ghead\"><h3>Recent</h3><button class=\"text-btn small\" type=\"button\" data-recent-clear>Clear</button></div><div class=\"search__suggest\">${n.map((n) => `<button class=\"chip chip--sm\" type=\"button\" data-suggest=\"${e(n)}\">${t(\"clock\")}${e(n)}</button>`).join(\"\")}</div></div>` : \"\") + `<div class=\"search__group\"><h3>Try</h3><div class=\"search__suggest\">${Hn.map((t) => `<button class=\"chip chip--sm\" type=\"button\" data-suggest=\"${e(t)}\">${e(t)}</button>`).join(\"\")}</div></div><div class=\"search__group\" role=\"group\" aria-label=\"Bestsellers\"><h3>Bestsellers</h3>${window.AURA.products.slice(0, 4).map((e) => this.productHit(e, [], i())).join(\"\")}</div>`;\n\t\t}\n\t\tthis.out.innerHTML = a, this.active = -1, this.input.removeAttribute(\"aria-activedescendant\"), clearTimeout(this.statusT), this.status && (this.statusT = setTimeout(() => {\n\t\t\tthis.status.textContent = n.trim() ? o ? `${o} results` : \"No results\" : \"\";\n\t\t}, 500));\n\t}\n\tproductHit(e, t, n) {\n\t\tlet { esc: r, fmt: i } = this.A;\n\t\treturn `<a class=\"search__hit\" id=\"${n}\" role=\"option\" data-hit href=\"${Rn(`product.html?p=${e.handle}`)}\"><span class=\"media\" style=\"--tint:${e.tint}\"><img src=\"${e.images[0]}\" alt=\"\"></span><span><b>${Ln(e.name, t, r)}</b><span>${Ln(e.type, t, r)}</span></span><span class=\"price\">${i(e.from)}</span></a>`;\n\t}\n};\ncustomElements.define(\"aura-search\", Un);\n//#endregion\n//#region src/footer/aura-sky.js\nvar Wn = Math.PI * 2, Gn = [\n\t\"160,192,255\",\n\t\"192,212,255\",\n\t\"228,236,255\",\n\t\"255,248,236\",\n\t\"255,234,204\",\n\t\"255,212,172\"\n], Kn = 48, qn = 1.6, Jn = {\n\tfar: .25,\n\tmid: .55,\n\tnear: 1\n}, Yn = (e) => Math.max(0, Math.min(1, e)), Xn = (e) => 1 - (1 - e) ** 3, Zn = (e, t, n) => {\n\tlet r = Yn((n - e) / (t - e));\n\treturn r * r * (3 - 2 * r);\n}, Qn = (e, t) => (e % t + t) % t, G = (e, t) => e + Math.random() * (t - e);\nfunction $n(e) {\n\treturn () => {\n\t\te = e + 1831565813 | 0;\n\t\tlet t = Math.imul(e ^ e >>> 15, 1 | e);\n\t\treturn t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t, ((t ^ t >>> 14) >>> 0) / 4294967296;\n\t};\n}\nvar er = (e) => (e = Math.sin(e * 127.1 + 311.7) * 43758.5453, e - Math.floor(e)), tr = (e) => {\n\tlet t = Math.floor(e), n = e - t;\n\treturn er(t) + (er(t + 1) - er(t)) * n * n * (3 - 2 * n);\n};\nfunction nr(e) {\n\tlet t = document.createElement(\"canvas\");\n\tt.width = t.height = 64;\n\tlet n = t.getContext(\"2d\"), r = n.createRadialGradient(32, 32, 0, 32, 32, 32);\n\treturn r.addColorStop(0, \"rgba(255,255,255,1)\"), r.addColorStop(.1, `rgba(${e},1)`), r.addColorStop(.22, `rgba(${e},.3)`), r.addColorStop(.5, `rgba(${e},.04)`), r.addColorStop(1, `rgba(${e},0)`), n.fillStyle = r, n.fillRect(0, 0, 64, 64), t;\n}\nfunction rr() {\n\tlet e = document.createElement(\"canvas\");\n\te.width = e.height = 128;\n\tlet t = e.getContext(\"2d\");\n\tfor (let e of [!1, !0]) {\n\t\tlet n = e ? t.createLinearGradient(64, 0, 64, 128) : t.createLinearGradient(0, 64, 128, 64);\n\t\tn.addColorStop(0, \"rgba(200,225,255,0)\"), n.addColorStop(.5, \"rgba(235,244,255,.9)\"), n.addColorStop(1, \"rgba(200,225,255,0)\"), t.fillStyle = n, e ? t.fillRect(63.25, 0, 1.5, 128) : t.fillRect(0, 63.25, 128, 1.5);\n\t}\n\treturn e;\n}\nvar ir = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.reduced = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.touch = matchMedia(\"(hover: none)\").matches, this.canvas = this.querySelector(\"canvas\") || this.appendChild(document.createElement(\"canvas\")), this.ctx = this.canvas.getContext(\"2d\"), this.sprites ??= Gn.map(nr), this.spike ??= rr(), this.meteors = [], this.px = this.py = this.tx = this.ty = 0, this.loop = this.loop.bind(this), this.play = this.play.bind(this), this.near = new IntersectionObserver(([e]) => {\n\t\t\te.isIntersecting && (this.near.disconnect(), this.wanted = !0, this.resize());\n\t\t}, { rootMargin: \"600px 0px\" }), this.ro = new ResizeObserver(() => {\n\t\t\tthis.wanted && (clearTimeout(this.rt), this.rt = setTimeout(() => this.resize(), 120));\n\t\t}), this.seen = new IntersectionObserver(([e]) => {\n\t\t\tthis.onScreen = e.isIntersecting, this.onScreen && !this.litAt && (this.litAt = performance.now() / 1e3), this.play();\n\t\t}, { threshold: .12 }), this.near.observe(this), this.ro.observe(this), this.seen.observe(this), document.addEventListener(\"visibilitychange\", this.play), this.touch && (this.onScroll = () => {\n\t\t\tthis.movedAt = performance.now();\n\t\t}, addEventListener(\"scroll\", this.onScroll, { passive: !0 })), !this.reduced && matchMedia(\"(pointer: fine)\").matches && (this.onPointer = (e) => {\n\t\t\tthis.tx = e.clientX / innerWidth - .5, this.ty = e.clientY / innerHeight - .5;\n\t\t}, addEventListener(\"pointermove\", this.onPointer, { passive: !0 }));\n\t}\n\tdisconnectedCallback() {\n\t\tthis.near?.disconnect(), this.ro?.disconnect(), this.seen?.disconnect(), document.removeEventListener(\"visibilitychange\", this.play), this.onPointer && removeEventListener(\"pointermove\", this.onPointer), this.onScroll && removeEventListener(\"scroll\", this.onScroll), cancelAnimationFrame(this.raf), this.raf = 0, clearTimeout(this.rt);\n\t}\n\tresize() {\n\t\tlet e = this.clientWidth, t = this.clientHeight;\n\t\te && t && (e !== this.w || t !== this.h) && (this.w = e, this.h = t, this.dpr = Math.min(devicePixelRatio || 1, 2), this.canvas.width = Math.round(e * this.dpr), this.canvas.height = Math.round(t * this.dpr), this.paint(), this.draw(performance.now() / 1e3), this.play());\n\t}\n\tplay() {\n\t\tthis.reduced || !this.base || !this.onScreen || document.hidden ? (cancelAnimationFrame(this.raf), this.raf = 0) : this.raf ||= requestAnimationFrame(this.loop);\n\t}\n\tloop(e) {\n\t\tthis.raf = 0, this.touch && (e - (this.movedAt ?? -1e9) < 180 || e - (this.drawnAt ?? -1e9) < 32) || (this.drawnAt = e, this.draw(e / 1e3)), this.play();\n\t}\n\tpaint() {\n\t\tlet { w: e, h: t, dpr: n } = this, r = $n(1307), i = e * t, a = (t) => {\n\t\t\tlet r = document.createElement(\"canvas\");\n\t\t\tr.width = Math.round(e * n), r.height = Math.round(t * n);\n\t\t\tlet i = r.getContext(\"2d\");\n\t\t\treturn i.scale(n, n), [r, i];\n\t\t}, o = () => {\n\t\t\tlet e = r();\n\t\t\treturn e < .08 ? 0 : e < .3 ? 1 : e < .62 ? 2 : e < .82 ? 3 : e < .94 ? 4 : 5;\n\t\t}, s = this.fade = (e) => Zn(0, t * .4, e) * (1 - .3 * Zn(t * .65, t, e)), c = Array.from({ length: 8 }, () => ({\n\t\t\tx: r() * e,\n\t\t\ty: r() * t,\n\t\t\ts: 60 + r() * 200,\n\t\t\tk: r() < .65 ? .6 : -.5\n\t\t})), l = (t, n) => {\n\t\t\tlet r = .5;\n\t\t\tfor (let i of c) {\n\t\t\t\tlet a = Math.min(Math.abs(t - i.x), e - Math.abs(t - i.x)), o = n - i.y;\n\t\t\t\tr += i.k * Math.exp(-(a * a + o * o) / (i.s * i.s));\n\t\t\t}\n\t\t\treturn Yn(r);\n\t\t}, [u, d] = a(t);\n\t\td.fillStyle = \"#05080d\", d.fillRect(0, 0, e, t);\n\t\tlet f = (n, r, i) => {\n\t\t\td.save(), d.translate(e / 2, t), d.scale(1, r / n);\n\t\t\tlet a = d.createRadialGradient(0, 0, 0, 0, 0, n);\n\t\t\tfor (let [e, t] of i) a.addColorStop(e, t);\n\t\t\td.fillStyle = a, d.fillRect(-n, -n, n * 2, n), d.restore();\n\t\t};\n\t\tf(Math.max(e * .55, 240), t * .8, [\n\t\t\t[0, \"rgba(9,26,46,.9)\"],\n\t\t\t[.55, \"rgba(7,19,35,.45)\"],\n\t\t\t[1, \"rgba(6,14,26,0)\"]\n\t\t]), f(Math.max(e * .22, 120), t * .62, [\n\t\t\t[0, \"rgba(14,38,66,.75)\"],\n\t\t\t[.6, \"rgba(10,28,50,.25)\"],\n\t\t\t[1, \"rgba(10,28,50,0)\"]\n\t\t]);\n\t\tlet p = (n, i, c, u) => {\n\t\t\tlet [d, f] = a(t + 96);\n\t\t\tfor (let a = n | 0; a--;) {\n\t\t\t\tlet n = r() * e, a = r() * (t + 96) - Kn, d = r() ** u, p = o();\n\t\t\t\tif (r() > l(n, a)) continue;\n\t\t\t\tlet m = (c[0] + c[1] * d) * s(a);\n\t\t\t\tif (m < .012) continue;\n\t\t\t\tf.fillStyle = `rgba(${Gn[p]},${m.toFixed(3)})`;\n\t\t\t\tlet h = i[0] + i[1] * d;\n\t\t\t\tfor (let t of n < 2 ? [0, e] : n > e - 2 ? [0, -e] : [0]) f.beginPath(), f.arc(n + t, a + Kn, h, 0, Wn), f.fill();\n\t\t\t}\n\t\t\treturn d;\n\t\t};\n\t\tthis.far = p(i / 90, [.22, .3], [.05, .35], 6), this.mid = p(i / 650, [.32, .45], [.14, .5], 3), this.stars = [];\n\t\tfor (let n = Math.max(24, Math.min(160, i / 7500 | 0)); n--;) {\n\t\t\tlet n = r() * e, i = r() * t, a = r() ** 2.4, c = r(), l = r(), u = c < .45 ? \"far\" : c < .85 ? \"mid\" : \"near\", d = (.3 + .6 * a) * s(i), f = l < .45, p = !f && l < .8;\n\t\t\td < .03 || this.stars.push({\n\t\t\t\tx: n,\n\t\t\t\ty: i,\n\t\t\t\ta: d,\n\t\t\t\td: Jn[u],\n\t\t\t\tc: o(),\n\t\t\t\tc2: o(),\n\t\t\t\tfast: f,\n\t\t\t\tr: (.8 + a * 2.2) * (u === \"near\" ? 1.25 : u === \"far\" ? .8 : 1),\n\t\t\t\tsp: f ? 2.5 + 5 * r() : p ? .06 + .2 * r() : .5 + r(),\n\t\t\t\tamp: f ? .25 + .3 * r() + .25 * i / t : p ? .45 + .5 * r() : .08,\n\t\t\t\to: r() * 1e3,\n\t\t\t\tdelay: (1 - a) * 1.6 + r() * .6,\n\t\t\t\tglint: 0\n\t\t\t});\n\t\t}\n\t\tthis.base = u;\n\t}\n\tdraw(e) {\n\t\tlet { ctx: t, dpr: n, w: r, h: i } = this;\n\t\tif (!this.base) return;\n\t\tlet a = this.reduced ? 99 : this.litAt ? e - this.litAt : -1, o = Math.min(.1, Math.max(0, e - (this.last ?? e)));\n\t\tthis.last = e;\n\t\tlet s = 1 - Math.exp(-o * 2.5);\n\t\tthis.px += (this.tx - this.px) * s, this.py += (this.ty - this.py) * s;\n\t\tlet c = this.reduced ? 0 : e * qn, l = this.reduced || this.touch ? 0 : Math.min(0, Math.max(-36, -(this.getBoundingClientRect().top - (document.documentElement.clientHeight - i)) * .08)), u = (e) => -(c + this.px * 30) * e, d = (e) => -this.py * 14 * e + l * (1.1 - e);\n\t\tt.setTransform(1, 0, 0, 1, 0, 0), t.globalCompositeOperation = \"source-over\", t.globalAlpha = 1, t.drawImage(this.base, 0, 0), t.globalCompositeOperation = \"lighter\", t.setTransform(n, 0, 0, n, 0, 0);\n\t\tfor (let [e, o, s] of [[\n\t\t\tthis.far,\n\t\t\tJn.far,\n\t\t\t.8\n\t\t], [\n\t\t\tthis.mid,\n\t\t\tJn.mid,\n\t\t\t.3\n\t\t]]) {\n\t\t\tlet c = Xn(Yn((a - s) / 2.4));\n\t\t\tif (c <= 0) continue;\n\t\t\tlet l = Math.round(Qn(u(o), r) * n) / n, f = Math.round((d(o) - Kn) * n) / n;\n\t\t\tt.globalAlpha = c, t.drawImage(e, l - r, f, r, i + 96), t.drawImage(e, l, f, r, i + 96);\n\t\t}\n\t\tif (!this.reduced && a > 2.5 && e >= (this.nextGlint ??= e + 1)) {\n\t\t\tlet t = this.stars[Math.random() * this.stars.length | 0];\n\t\t\tt && !t.glint && t.a > .2 && (t.glint = e, t.gl = G(.5, 1.4)), this.nextGlint = e + G(.8, 4.3);\n\t\t}\n\t\tfor (let n of this.stars) {\n\t\t\tlet i = 1, o = 0;\n\t\t\tif (!this.reduced) {\n\t\t\t\tlet t = Yn((a - n.delay) / .9);\n\t\t\t\tif (t <= 0) continue;\n\t\t\t\tif (i = Xn(t) * (1 + .5 * Math.sin(t * Math.PI)), i *= 1 - n.amp * tr(e * n.sp + n.o), n.glint) {\n\t\t\t\t\tlet t = (e - n.glint) / n.gl;\n\t\t\t\t\tt >= 1 ? n.glint = 0 : o = Math.sin(t * Math.PI) ** 3;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet s = Math.min(1, n.a * i + (1 - n.a * i) * o * .9);\n\t\t\tif (s < .01) continue;\n\t\t\tlet c = Qn(n.x + u(n.d), r), l = n.y + d(n.d), f = n.r * (.85 + .15 * Math.min(i, 1.2) + o * .6), p = n.fast && tr(e * n.sp * 1.7 + n.o + 99) > .62 ? n.c2 : n.c;\n\t\t\tif (t.globalAlpha = s, t.drawImage(this.sprites[p], c - f, l - f, f * 2, f * 2), o > .05) {\n\t\t\t\tlet e = f * 3.5;\n\t\t\t\tt.globalAlpha = o * .5, t.drawImage(this.spike, c - e, l - e, e * 2, e * 2);\n\t\t\t}\n\t\t}\n\t\t!this.reduced && a > 3 && (e >= (this.nextMeteor ??= e + G(1.5, 4.5)) && (this.meteors.push(this.meteor(e)), this.nextMeteor = e + (Math.random() < .12 ? G(.25, .85) : 1.5 - Math.log(1 - Math.random()) * 5.5)), !this.sat && e >= (this.nextSat ??= e + G(6, 16)) && (this.sat = this.satellite(e))), this.meteors = this.meteors.filter((t) => this.streak(t, e)), this.sat && !this.pass(this.sat, e) && (this.sat = null, this.nextSat = e + G(25, 60)), t.globalAlpha = 1;\n\t}\n\tmeteor(e) {\n\t\tlet t = Math.random(), n = t > .95, r = t > .72, i = Math.random() < .5 ? -1 : 1, a = G(.15, .6), o = n ? G(450, 650) : G(600, 1200);\n\t\treturn {\n\t\t\tt0: e,\n\t\t\tlife: n ? G(1, 1.5) : r ? G(.55, .95) : G(.25, .55),\n\t\t\tlinger: n ? 1.6 : 0,\n\t\t\tx: this.w * G(.1, .9),\n\t\t\ty: this.h * G(.22, .55),\n\t\t\tvx: Math.cos(a) * i * o,\n\t\t\tvy: Math.sin(a) * o,\n\t\t\tlen: n ? G(200, 340) : r ? G(110, 220) : G(35, 100),\n\t\t\ta: n ? .8 : r ? G(.4, .65) : G(.18, .38),\n\t\t\tw: n ? G(1.4, 2) : r ? G(.8, 1.2) : G(.5, .8),\n\t\t\thead: n ? \"205,255,232\" : \"235,245,255\",\n\t\t\tglow: n || r\n\t\t};\n\t}\n\tstreak(e, t) {\n\t\tlet n = t - e.t0;\n\t\tif (n < 0 || n >= e.life + e.linger) return !1;\n\t\tlet r = this.ctx, i = Math.hypot(e.vx, e.vy), a = e.vx / i, o = e.vy / i;\n\t\tif (n > e.life) {\n\t\t\tlet t = 1 - (n - e.life) / e.linger, i = e.x + e.vx * e.life, s = e.y + e.vy * e.life;\n\t\t\treturn r.globalAlpha = .14 * t * t, r.strokeStyle = \"rgb(150,200,230)\", r.lineWidth = e.w * 1.6, r.lineCap = \"round\", r.beginPath(), r.moveTo(i, s), r.lineTo(i - a * e.len * 1.4, s - o * e.len * 1.4), r.stroke(), !0;\n\t\t}\n\t\tlet s = n / e.life, c = e.len * Math.min(1, s * 2.5), l = e.x + e.vx * n, u = e.y + e.vy * n, d = l - a * c, f = u - o * c, p = e.a * Math.sin(s * Math.PI) ** .8, m = r.createLinearGradient(l, u, d, f);\n\t\tif (m.addColorStop(0, `rgba(${e.head},${p})`), m.addColorStop(.25, `rgba(168,212,242,${p * .4})`), m.addColorStop(1, \"rgba(168,212,242,0)\"), r.globalAlpha = 1, r.strokeStyle = m, r.lineWidth = e.w, r.lineCap = \"round\", r.beginPath(), r.moveTo(l, u), r.lineTo(d, f), r.stroke(), e.glow) {\n\t\t\tlet t = 2 + e.w * 2;\n\t\t\tr.globalAlpha = p * .8, r.drawImage(this.sprites[e.head === \"235,245,255\" ? 2 : 0], l - t, u - t, t * 2, t * 2);\n\t\t}\n\t\treturn !0;\n\t}\n\tsatellite(e) {\n\t\tlet t = Math.random() < .5 ? 1 : -1;\n\t\treturn {\n\t\t\tt0: e,\n\t\t\tdur: G(18, 32),\n\t\t\tdir: t,\n\t\t\ty0: this.h * G(.25, .55),\n\t\t\tdy: this.h * G(-.15, .15),\n\t\t\ta: G(.3, .5),\n\t\t\tflareAt: Math.random() < .3 ? G(.3, .7) : -1\n\t\t};\n\t}\n\tpass(e, t) {\n\t\tlet n = (t - e.t0) / e.dur;\n\t\tif (n < 0 || n >= 1) return !1;\n\t\tlet r = this.w + 20, i = e.dir > 0 ? -10 + n * r : this.w + 10 - n * r, a = e.y0 + e.dy * n, o = (n - e.flareAt) * e.dur / .8, s = e.flareAt < 0 ? 0 : Math.exp(-o * o), c = Math.min(1, (e.a + s * .6) * this.fade(a)), l = 1.4 + s * 2;\n\t\treturn this.ctx.globalAlpha = c, this.ctx.drawImage(this.sprites[2], i - l, a - l, l * 2, l * 2), !0;\n\t}\n};\ncustomElements.define(\"aura-sky\", ir);\n//#endregion\n//#region src/footer/aura-watch.js\nvar ar = [[67, 67.37], [424.11, 67.37]], or = -Math.PI / 2, sr = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tif (this.reduced = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.svg = this.querySelector(\"svg\"), this.lenses = [...this.querySelectorAll(\".watch-lens\")].map((e, t) => ({\n\t\t\tel: e,\n\t\t\tc: ar[t],\n\t\t\ta: or,\n\t\t\ton: .55,\n\t\t\tflash: 0\n\t\t})), this.reduced || !this.svg || !this.lenses.length) return;\n\t\tthis.ac = new AbortController();\n\t\tlet e = this.ac.signal;\n\t\tthis.loop = this.loop.bind(this), this.touch = matchMedia(\"(hover: none)\").matches;\n\t\tlet t = (e) => {\n\t\t\te.pointerType !== \"touch\" && (this.pointer = {\n\t\t\t\tx: e.clientX,\n\t\t\t\ty: e.clientY,\n\t\t\t\tat: performance.now(),\n\t\t\t\ttouch: e.pointerType !== \"mouse\"\n\t\t\t});\n\t\t};\n\t\taddEventListener(\"pointermove\", t, {\n\t\t\tpassive: !0,\n\t\t\tsignal: e\n\t\t}), addEventListener(\"pointerdown\", t, {\n\t\t\tpassive: !0,\n\t\t\tsignal: e\n\t\t}), this.touch && addEventListener(\"scroll\", () => {\n\t\t\tthis.movedAt = performance.now();\n\t\t}, {\n\t\t\tpassive: !0,\n\t\t\tsignal: e\n\t\t}), document.documentElement.addEventListener(\"pointerleave\", () => {\n\t\t\tthis.pointer = null;\n\t\t}, { signal: e });\n\t\tlet n = this.closest(\".site-footer\");\n\t\tn && (n.addEventListener(\"pointerover\", (e) => {\n\t\t\tif (e.pointerType === \"touch\") return;\n\t\t\tlet t = e.target.closest(\"a, button\");\n\t\t\tt !== this.noticed && (this.noticed = t) && this.notice(.5);\n\t\t}, { signal: e }), n.addEventListener(\"focusin\", (e) => {\n\t\t\tif (!e.target.matches(\":focus-visible\")) return;\n\t\t\tlet t = e.target.getBoundingClientRect();\n\t\t\tthis.pointer = {\n\t\t\t\tx: t.left + t.width / 2,\n\t\t\t\ty: t.top + t.height / 2,\n\t\t\t\tat: performance.now(),\n\t\t\t\ttouch: !1,\n\t\t\t\tfocus: !0\n\t\t\t}, this.notice(.6);\n\t\t}, { signal: e }), n.addEventListener(\"focusout\", (e) => {\n\t\t\t!n.contains(e.relatedTarget) && this.pointer?.focus && (this.pointer = null);\n\t\t}, { signal: e })), document.addEventListener(\"visibilitychange\", () => this.play(), { signal: e }), this.io = new IntersectionObserver(([e]) => {\n\t\t\tthis.onScreen = e.isIntersecting, this.play();\n\t\t}), this.io.observe(this);\n\t}\n\tnotice(e) {\n\t\tfor (let t of this.lenses) t.flash = Math.max(t.flash, e);\n\t\tthis.play();\n\t}\n\tdisconnectedCallback() {\n\t\tthis.ac?.abort(), this.io?.disconnect(), cancelAnimationFrame(this.raf), this.raf = 0;\n\t}\n\tplay() {\n\t\t!this.onScreen || document.hidden ? (cancelAnimationFrame(this.raf), this.raf = 0) : this.raf ||= requestAnimationFrame(this.loop);\n\t}\n\tloop(e) {\n\t\tif (this.raf = 0, this.touch && (e - (this.movedAt ?? -1e9) < 180 || e - (this.drawnAt ?? -1e9) < 32)) {\n\t\t\tthis.play();\n\t\t\treturn;\n\t\t}\n\t\tthis.drawnAt = e;\n\t\tlet t = e / 1e3, n = Math.min(.1, Math.max(0, t - (this.last ?? t)));\n\t\tthis.last = t;\n\t\tlet r = this.svg.getScreenCTM(), i = this.pointer, a = !!i && !!r && (!i.touch || e - i.at < 3e3);\n\t\tif (a && !this.watching) for (let e of this.lenses) e.flash = 1;\n\t\tthis.watching = a, this.lenses.forEach((e, o) => {\n\t\t\tlet s = a ? Math.atan2(i.y - (r.d * e.c[1] + r.f), i.x - (r.a * e.c[0] + r.e)) : or + Math.sin(t * .3 + o * .9) * 1.1, c = Math.atan2(Math.sin(s - e.a), Math.cos(s - e.a));\n\t\t\te.a += c * (1 - Math.exp(-n * (a ? 4 : 1.5))), e.on += ((a ? 1 : .55) - e.on) * (1 - Math.exp(-n * 2)), e.flash *= Math.exp(-n * 2.2), e.el.setAttribute(\"transform\", `translate(${e.c[0]} ${e.c[1]}) rotate(${(e.a * 180 / Math.PI).toFixed(2)})`), e.el.style.opacity = Math.min(1, e.on * (.9 + .1 * Math.sin(t * .8 + o * 2)) + e.flash * .45).toFixed(3);\n\t\t}), this.play();\n\t}\n};\ncustomElements.define(\"aura-watch\", sr);\n//#endregion\n//#region src/footer/nightfall.js\nvar cr = \".quote-panel, .co-panel.on-dark\", lr = (e, t) => {\n\tlet n = 0;\n\tfor (let r = e; r && r !== t; r = r.offsetParent) n += r.offsetTop;\n\treturn n;\n};\nfunction ur(e, t) {\n\te.classList.add(\"is-nightfall\");\n\tlet n = [...e.querySelectorAll(\"[data-horizon]\")], r = new ResizeObserver(() => {\n\t\tlet r = n.find((e) => e.getClientRects().length) || t, i = lr(r, e), a = r.offsetHeight, o = e.offsetHeight, s = Math.round(i + (r.dataset.horizon === \"base\" ? a : a / 2));\n\t\te.style.setProperty(\"--nightfall-at\", `${s}px`);\n\t\tlet c = o - s + 4, l = Math.min(c, o - (i + a) + 4);\n\t\te.style.setProperty(\"--nightfall-start\", (l / c).toFixed(4)), e.style.setProperty(\"--nightfall-from\", `${s}px`), e.style.setProperty(\"--nightfall-to\", `${o}px`), e.classList.remove(\"is-climbing\"), e.offsetWidth, e.classList.add(\"is-climbing\");\n\t});\n\t[\n\t\te,\n\t\tt,\n\t\t...n\n\t].forEach((e) => r.observe(e, { box: \"border-box\" }));\n}\nwindow.A?.ready(() => {\n\tlet e = [...document.querySelector(\"main\")?.children || []].flatMap((e) => e.classList.contains(\"shopify-section\") ? [...e.children] : [e]).filter((e) => ![\n\t\t\"SCRIPT\",\n\t\t\"STYLE\",\n\t\t\"LINK\"\n\t].includes(e.tagName) && ![\"fixed\", \"absolute\"].includes(getComputedStyle(e).position)).at(-1), t = e?.matches(\".section\") && e.querySelector(cr);\n\tt && ur(e, t);\n});\n//#endregion\n//#region src/footer/footer-settle.js\nvar dr = matchMedia(\"(hover: none)\"), fr = .35, pr = .6, mr = 140;\nwindow.A?.ready((e) => {\n\tlet t = document.querySelector(\".site-footer\");\n\tif (!t || e.reduced) return;\n\tlet n = scrollY, r = !1, i = 0, a = 0, o = () => {\n\t\tif (!dr.matches || i || !r || t.querySelector(\".foot-col.is-open\")) return;\n\t\tlet e = t.getBoundingClientRect().top, n = document.documentElement.scrollHeight - innerHeight, a = n - scrollY;\n\t\te <= innerHeight * fr && a > 2 && a < innerHeight * pr && window.scrollTo({\n\t\t\ttop: n,\n\t\t\tbehavior: \"smooth\"\n\t\t});\n\t}, s = () => {\n\t\tclearTimeout(a), a = setTimeout(o, mr);\n\t};\n\taddEventListener(\"scroll\", () => {\n\t\tlet e = scrollY;\n\t\te !== n && (r = e > n), n = e, s();\n\t}, { passive: !0 });\n\tlet c = (e) => {\n\t\ti = e.touches.length, i || s();\n\t};\n\taddEventListener(\"touchstart\", c, { passive: !0 }), addEventListener(\"touchend\", c, { passive: !0 }), addEventListener(\"touchcancel\", c, { passive: !0 });\n});\n//#endregion\n//#region src/hero/aura-clouds.js\nvar hr = .5, gr = 30, _r = \"attribute vec2 p; void main() { gl_Position = vec4(p, 0., 1.); }\", vr = \"\\n#ifdef GL_FRAGMENT_PRECISION_HIGH\\nprecision highp float;\\n#else\\nprecision mediump float;\\n#endif\\nuniform vec2 uRes;\\nuniform float uTime;\\nuniform float uHorizon;\\nuniform sampler2D uMask;\\n\\nfloat hash(vec2 p) { p = fract(p * vec2(123.34, 456.21)); p += dot(p, p + 45.32); return fract(p.x * p.y); }\\n// gradient noise, about -.7 to .7: smoother and less blobby than value noise\\nvec2 grad(vec2 i) { float a = hash(i) * 6.2831853; return vec2(cos(a), sin(a)); }\\nfloat gnoise(vec2 p) {\\n  vec2 i = floor(p), f = fract(p), u = f * f * f * (f * (f * 6. - 15.) + 10.);\\n  return mix(mix(dot(grad(i), f), dot(grad(i + vec2(1., 0.)), f - vec2(1., 0.)), u.x),\\n             mix(dot(grad(i + vec2(0., 1.)), f - vec2(0., 1.)), dot(grad(i + vec2(1., 1.)), f - vec2(1., 1.)), u.x), u.y);\\n}\\nfloat fbm(vec2 p, int n) {\\n  float s = 0., a = .5;\\n  mat2 r = mat2(.8, .6, -.6, .8);\\n  for (int i = 0; i < 6; i++) { if (i >= n) break; s += a * gnoise(p); p = r * p * 2.03 + 17.1; a *= .5; }\\n  return s;\\n}\\n// cloud density at a point on the deck: clusters with clear sky between,\\n// billowy shapes, edges eaten away by fine detail\\nfloat density(vec2 W, float time) {\\n  float cover = gnoise(W * .22 + vec2(time * .003, 3.7)) * .5;\\n  float d = fbm(W, 5) + cover - .08;\\n  d -= (1. - smoothstep(0., .3, d)) * .18 * fbm(W * 3.1 + 9.3, 3);\\n  return d;\\n}\\nvoid main() {\\n  vec2 uv = gl_FragCoord.xy / uRes; uv.y = 1. - uv.y;\\n  float m = texture2D(uMask, uv).r;\\n  if (m < .01) { gl_FragColor = vec4(0.); return; }\\n  // perspective onto the cloud deck: overhead is near and large, the horizon far and small\\n  float h = max(uHorizon - uv.y, .015);\\n  float t = .35 / h;\\n  vec2 P = vec2((uv.x - .5) * (uRes.x / uRes.y) * t, t) * 1.5;\\n  P.x -= uTime * .014;\\n  // a slow warp, so the clouds change shape as they drift\\n  vec2 q = vec2(fbm(P * .5 + vec2(0., uTime * .005), 3), fbm(P * .5 + vec2(5.2, 1.3) - uTime * .004, 3));\\n  vec2 W = P + q * .9;\\n  float d = density(W, uTime);\\n  float c = smoothstep(0., .32, d);\\n  if (c <= 0.) { gl_FragColor = vec4(0.); return; }\\n  // lit from the upper left: sides facing the sun bright, the far side and undersides blue-grey\\n  float toward = density(W + vec2(-.07, -.09), uTime);\\n  float lit = clamp(.62 + (d - toward) * 3.2 - d * .35, 0., 1.);\\n  vec3 shade = vec3(.70, .76, .86), sun = vec3(1., .992, .975);\\n  vec3 col = mix(shade, sun, lit);\\n  col = mix(col, sun, (1. - c) * .5);                       // thin edges glow\\n  float a = c * .97 * m * smoothstep(0., .14, h);           // thinning into the haze at the horizon\\n  gl_FragColor = vec4(col * a, a);\\n}\", yr = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.reduced = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.canvas = this.querySelector(\"canvas\") || this.appendChild(document.createElement(\"canvas\"));\n\t\tlet e = this.gl = this.canvas.getContext(\"webgl\", {\n\t\t\talpha: !0,\n\t\t\tpremultipliedAlpha: !0,\n\t\t\tantialias: !1,\n\t\t\tpowerPreference: \"low-power\"\n\t\t});\n\t\tif (!e || !this.setup(e)) return;\n\t\tthis.loop = this.loop.bind(this), this.play = this.play.bind(this), this.t0 = performance.now();\n\t\tlet t = new Image();\n\t\tt.crossOrigin = \"anonymous\", t.onload = () => {\n\t\t\te.bindTexture(e.TEXTURE_2D, e.createTexture()), e.texImage2D(e.TEXTURE_2D, 0, e.LUMINANCE, e.LUMINANCE, e.UNSIGNED_BYTE, t);\n\t\t\tfor (let [t, n] of [\n\t\t\t\t[e.TEXTURE_MIN_FILTER, e.LINEAR],\n\t\t\t\t[e.TEXTURE_MAG_FILTER, e.LINEAR],\n\t\t\t\t[e.TEXTURE_WRAP_S, e.CLAMP_TO_EDGE],\n\t\t\t\t[e.TEXTURE_WRAP_T, e.CLAMP_TO_EDGE]\n\t\t\t]) e.texParameteri(e.TEXTURE_2D, t, n);\n\t\t\tthis.ready = !0, this.resize(), this.play();\n\t\t}, t.src = this.getAttribute(\"mask\"), this.ro = new ResizeObserver(() => this.resize()), this.io = new IntersectionObserver(([e]) => {\n\t\t\tthis.onScreen = e.isIntersecting, this.play();\n\t\t}), this.ro.observe(this), this.io.observe(this), document.addEventListener(\"visibilitychange\", this.play), this.onScroll = () => {\n\t\t\tthis.movedAt = performance.now();\n\t\t}, addEventListener(\"scroll\", this.onScroll, { passive: !0 }), this.canvas.addEventListener(\"webglcontextlost\", (e) => {\n\t\t\te.preventDefault(), this.ready = !1, this.play();\n\t\t});\n\t}\n\tdisconnectedCallback() {\n\t\tthis.ro?.disconnect(), this.io?.disconnect(), document.removeEventListener(\"visibilitychange\", this.play), removeEventListener(\"scroll\", this.onScroll), cancelAnimationFrame(this.raf), this.raf = 0;\n\t}\n\tsetup(e) {\n\t\tlet t = (t, n) => {\n\t\t\tlet r = e.createShader(t);\n\t\t\treturn e.shaderSource(r, n), e.compileShader(r), e.getShaderParameter(r, e.COMPILE_STATUS) ? r : null;\n\t\t}, n = t(e.VERTEX_SHADER, _r), r = t(e.FRAGMENT_SHADER, vr);\n\t\tif (!n || !r) return !1;\n\t\tlet i = e.createProgram();\n\t\treturn e.attachShader(i, n), e.attachShader(i, r), e.bindAttribLocation(i, 0, \"p\"), e.linkProgram(i), e.getProgramParameter(i, e.LINK_STATUS) ? (e.useProgram(i), e.bindBuffer(e.ARRAY_BUFFER, e.createBuffer()), e.bufferData(e.ARRAY_BUFFER, new Float32Array([\n\t\t\t-1,\n\t\t\t-1,\n\t\t\t3,\n\t\t\t-1,\n\t\t\t-1,\n\t\t\t3\n\t\t]), e.STATIC_DRAW), e.enableVertexAttribArray(0), e.vertexAttribPointer(0, 2, e.FLOAT, !1, 0, 0), this.u = Object.fromEntries([\n\t\t\t\"uRes\",\n\t\t\t\"uTime\",\n\t\t\t\"uHorizon\",\n\t\t\t\"uMask\"\n\t\t].map((t) => [t, e.getUniformLocation(i, t)])), e.uniform1i(this.u.uMask, 0), e.uniform1f(this.u.uHorizon, parseFloat(this.getAttribute(\"horizon\")) || .7), !0) : !1;\n\t}\n\tresize() {\n\t\tlet e = Math.max(1, Math.round(this.clientWidth * hr)), t = Math.max(1, Math.round(this.clientHeight * hr));\n\t\t!this.ready || e === this.canvas.width && t === this.canvas.height || (this.canvas.width = e, this.canvas.height = t, this.gl.viewport(0, 0, e, t), this.gl.uniform2f(this.u.uRes, e, t), this.draw(performance.now()));\n\t}\n\tplay() {\n\t\tthis.reduced || !this.ready || !this.onScreen || document.hidden ? (cancelAnimationFrame(this.raf), this.raf = 0) : this.raf ||= requestAnimationFrame(this.loop);\n\t}\n\tloop(e) {\n\t\tthis.raf = 0, e - (this.last ?? 0) >= 1e3 / gr - 2 && e - (this.movedAt ?? -1e9) > 180 && (this.last = e, this.draw(e)), this.play();\n\t}\n\tdraw(e) {\n\t\tif (!this.ready) return;\n\t\tlet t = this.reduced ? 40 : 40 + (e - this.t0) / 1e3 % 2e4;\n\t\tthis.gl.uniform1f(this.u.uTime, t), this.gl.drawArrays(this.gl.TRIANGLES, 0, 3), this.classList.add(\"is-on\");\n\t}\n};\ncustomElements.define(\"aura-clouds\", yr);\n//#endregion\n//#region src/hero/aura-spots.js\nvar br = \"<svg class=\\\"ico\\\" viewBox=\\\"0 0 24 24\\\" aria-hidden=\\\"true\\\" focusable=\\\"false\\\"><path d=\\\"M5 12h14\\\"/><path d=\\\"m13 6 6 6-6 6\\\"/></svg>\", xr = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.spots = [...this.querySelectorAll(\".hs-spot\")], this.spots.forEach((e) => {\n\t\t\tthis.fill(e), e.addEventListener(\"pointerenter\", () => this.fit(e)), e.addEventListener(\"focusin\", () => this.fit(e));\n\t\t}), this.addEventListener(\"click\", (e) => {\n\t\t\tlet t = e.target.closest(\".hs-spot__beam\");\n\t\t\tif (!t) return;\n\t\t\tlet n = t.closest(\".hs-spot\");\n\t\t\tthis.open(n.classList.contains(\"is-open\") ? null : n);\n\t\t}), this.away = (e) => {\n\t\t\te.target.closest?.(\".hs-spot\") || this.open(null);\n\t\t}, this.esc = (e) => {\n\t\t\te.key === \"Escape\" && this.open(null);\n\t\t}, document.addEventListener(\"click\", this.away), document.addEventListener(\"keydown\", this.esc);\n\t}\n\tdisconnectedCallback() {\n\t\tdocument.removeEventListener(\"click\", this.away), document.removeEventListener(\"keydown\", this.esc);\n\t}\n\tfit(e) {\n\t\tlet t = e.querySelector(\".hs-spot__card\");\n\t\tif (!t) return;\n\t\tlet n = this.getBoundingClientRect(), r = e.getBoundingClientRect().left, i = t.offsetWidth / 2, a = Math.min(0, n.right - 16 - (r + i)) + Math.max(0, n.left + 16 - (r - i));\n\t\tt.style.setProperty(\"--shift\", `${Math.round(a)}px`);\n\t}\n\topen(e) {\n\t\te && this.fit(e), this.spots.forEach((t) => {\n\t\t\tlet n = t === e;\n\t\t\tt.classList.toggle(\"is-open\", n), t.querySelector(\".hs-spot__beam\")?.setAttribute(\"aria-expanded\", n);\n\t\t});\n\t}\n\tfill(e) {\n\t\tlet t = window.AURA, n = e.querySelector(\".hs-spot__card\"), r = t?.byHandle(e.dataset.handle);\n\t\tr && n && !n.children.length && (n.href = t.route(`product.html?p=${r.handle}`), n.innerHTML = `<span class=\"hs-spot__media\" style=\"--tint:${r.tint}\"><img src=\"${r.images[0]}\" alt=\"\" loading=\"lazy\" width=\"1200\" height=\"1200\"></span><span class=\"hs-spot__text\"><b>${((e) => String(e).replace(/[&<>\"]/g, (e) => ({\n\t\t\t\"&\": \"&amp;\",\n\t\t\t\"<\": \"&lt;\",\n\t\t\t\">\": \"&gt;\",\n\t\t\t\"\\\"\": \"&quot;\"\n\t\t})[e]))(r.name)}</b><span class=\"hs-spot__price\">${((e) => `\u20AC${Number(e).toLocaleString(\"en-IE\")}`)(r.from)}</span><span class=\"hs-spot__go\">View product ${br}</span></span>`, e.querySelector(\".hs-spot__beam\")?.setAttribute(\"aria-label\", `${r.name}: show product`));\n\t}\n};\ncustomElements.define(\"aura-spots\", xr);\n//#endregion\n//#region src/film/aura-film.js\nvar Sr = \"(max-width: 760px), (orientation: portrait)\", Cr = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.video = this.querySelector(\"video\"), this.stage = this.querySelector(\".film__stage\") || this, this.caps = [...this.querySelectorAll(\"[data-from]\")];\n\t\tlet e = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\t\tthis.fine = matchMedia(\"(hover: hover) and (pointer: fine)\").matches, this.mode = e || !this.video ? \"still\" : this.fine ? \"scrub\" : \"play\", this.p = 0, this.e = 1, this.t = 0, this.raf = 0, this.shown = 0, this.update = this.update.bind(this), this.show = this.show.bind(this), this.tick = this.tick.bind(this), this.play = this.play.bind(this), this.near = new IntersectionObserver(([e]) => {\n\t\t\te.isIntersecting && this.load();\n\t\t}, { rootMargin: \"100% 0px\" }), this.seen = new IntersectionObserver(([e]) => {\n\t\t\tthis.onScreen = e.isIntersecting, this.play();\n\t\t}), this.near.observe(this), this.seen.observe(this), document.addEventListener(\"visibilitychange\", this.play), addEventListener(\"scroll\", this.update, { passive: !0 }), addEventListener(\"resize\", this.update), this.update();\n\t}\n\tdisconnectedCallback() {\n\t\tthis.near?.disconnect(), this.seen?.disconnect(), document.removeEventListener(\"visibilitychange\", this.play), removeEventListener(\"scroll\", this.update), removeEventListener(\"resize\", this.update), cancelAnimationFrame(this.raf), this.raf = 0, cancelAnimationFrame(this.shown), this.shown = 0;\n\t}\n\tload() {\n\t\tif (this.loaded || this.mode === \"still\") return;\n\t\tthis.loaded = !0;\n\t\tlet e = this.video, t = e.dataset;\n\t\te.muted = !0, e.preload = \"auto\", e.addEventListener(\"loadedmetadata\", () => {\n\t\t\tthis.dur = e.duration, this.update(), this.play();\n\t\t}, { once: !0 }), e.src = matchMedia(Sr).matches && t.srcPortrait || t.src;\n\t}\n\tupdate() {\n\t\tlet e = this.getBoundingClientRect(), t = this.stage.offsetHeight;\n\t\tthis.p = Math.min(1, Math.max(0, -e.top / Math.max(1, e.height - t))), this.e = Math.min(1, Math.max(0, e.top / Math.max(1, t))), this.shown ||= requestAnimationFrame(this.show), this.mode === \"scrub\" && this.dur && !this.raf && (this.raf = requestAnimationFrame(this.tick));\n\t}\n\tshow() {\n\t\tthis.shown = 0;\n\t\tlet e = this.p;\n\t\tthis.caps.forEach((t, n) => {\n\t\t\tlet r = this.caps[n + 1];\n\t\t\tt.classList.toggle(\"is-active\", e >= (parseFloat(t.dataset.from) || 0) && (!r || e < parseFloat(r.dataset.from)));\n\t\t}), this.fine && (this.style.setProperty(\"--p\", e.toFixed(4)), this.style.setProperty(\"--e\", this.e.toFixed(4)));\n\t}\n\ttick() {\n\t\tthis.raf = 0;\n\t\tlet e = this.video, t = this.p * (this.dur - .05);\n\t\tthis.t += (t - this.t) * .18, Math.abs(t - this.t) < .004 && (this.t = t), !e.seeking && Math.abs(e.currentTime - this.t) > 1 / 60 && (e.currentTime = this.t), (this.t !== t || e.seeking) && (this.raf = requestAnimationFrame(this.tick));\n\t}\n\tplay() {\n\t\tif (this.mode !== \"play\" || !this.dur) return;\n\t\tlet e = this.video;\n\t\tthis.onScreen && !document.hidden ? (this.again && (this.again = !1, e.currentTime = 0), e.ended || e.play().catch(() => {})) : (e.pause(), e.ended && !this.onScreen && (this.again = !0));\n\t}\n};\ncustomElements.define(\"aura-film\", Cr);\n//#endregion\n//#region src/motion/quiet.js\nvar wr = 0;\naddEventListener(\"scroll\", () => {\n\twr = performance.now();\n}, { passive: !0 });\nvar Tr = (e, t = 1e3) => window.requestIdleCallback ? requestIdleCallback(e, { timeout: t }) : setTimeout(e, 50);\nfunction Er(e, t) {\n\tlet n = () => {\n\t\tperformance.now() - wr > 300 || t?.() ? e() : setTimeout(() => Tr(n), 60);\n\t};\n\tTr(n);\n}\nvar Dr = (e) => new Promise((t) => Er(t, e)), Or = /* @__PURE__ */ n({\n\tPLACES: () => Ar,\n\tRINGS: () => kr\n}), kr, Ar, jr = t((() => {\n\tkr = [\n\t\t[\n\t\t\t129.2,\n\t\t\t11.4,\n\t\t\t131.1,\n\t\t\t15.5,\n\t\t\t130.5,\n\t\t\t18.6,\n\t\t\t129.9,\n\t\t\t19.6,\n\t\t\t124.8,\n\t\t\t22.7,\n\t\t\t123.6,\n\t\t\t25.4,\n\t\t\t121.3,\n\t\t\t27.2,\n\t\t\t120.4,\n\t\t\t29.9,\n\t\t\t119.6,\n\t\t\t39.3,\n\t\t\t119.9,\n\t\t\t42.3,\n\t\t\t121.3,\n\t\t\t43.8,\n\t\t\t119.8,\n\t\t\t45,\n\t\t\t119.1,\n\t\t\t46.7,\n\t\t\t119.9,\n\t\t\t51.4,\n\t\t\t115,\n\t\t\t52.1,\n\t\t\t112.8,\n\t\t\t53.2,\n\t\t\t111.3,\n\t\t\t55.2,\n\t\t\t110.9,\n\t\t\t57.2,\n\t\t\t111.3,\n\t\t\t62.4,\n\t\t\t113,\n\t\t\t66.7,\n\t\t\t112.2,\n\t\t\t67.3,\n\t\t\t112.2,\n\t\t\t68.1,\n\t\t\t115.7,\n\t\t\t67.7,\n\t\t\t120.3,\n\t\t\t65.7,\n\t\t\t121.3,\n\t\t\t65.8,\n\t\t\t125.4,\n\t\t\t63.5,\n\t\t\t126.5,\n\t\t\t64,\n\t\t\t128.7,\n\t\t\t66.5,\n\t\t\t128.9,\n\t\t\t67.8,\n\t\t\t127.2,\n\t\t\t70,\n\t\t\t124.8,\n\t\t\t70.7,\n\t\t\t123.8,\n\t\t\t72.3,\n\t\t\t118.1,\n\t\t\t77.2,\n\t\t\t118.6,\n\t\t\t77.9,\n\t\t\t123.7,\n\t\t\t76.6,\n\t\t\t124.5,\n\t\t\t74.6,\n\t\t\t130.4,\n\t\t\t72.6,\n\t\t\t128.6,\n\t\t\t71.9,\n\t\t\t128.6,\n\t\t\t71.2,\n\t\t\t129.7,\n\t\t\t70.4,\n\t\t\t133.4,\n\t\t\t70.4,\n\t\t\t137.1,\n\t\t\t72.9,\n\t\t\t139.1,\n\t\t\t75,\n\t\t\t141.9,\n\t\t\t76.4,\n\t\t\t143.1,\n\t\t\t77.9,\n\t\t\t144.8,\n\t\t\t84.2,\n\t\t\t145.2,\n\t\t\t91.8,\n\t\t\t150.7,\n\t\t\t93.6,\n\t\t\t153.5,\n\t\t\t93.9,\n\t\t\t157.4,\n\t\t\t93.6,\n\t\t\t158.9,\n\t\t\t91.7,\n\t\t\t160,\n\t\t\t92.3,\n\t\t\t160.4,\n\t\t\t94.6,\n\t\t\t161.8,\n\t\t\t94.6,\n\t\t\t164,\n\t\t\t96.8,\n\t\t\t165.7,\n\t\t\t99.4,\n\t\t\t166.5,\n\t\t\t102.5,\n\t\t\t165.9,\n\t\t\t106.7,\n\t\t\t164,\n\t\t\t108.8,\n\t\t\t161.1,\n\t\t\t108,\n\t\t\t155.4,\n\t\t\t105.2,\n\t\t\t158.5,\n\t\t\t108.3,\n\t\t\t160.9,\n\t\t\t115.1,\n\t\t\t160.4,\n\t\t\t115.8,\n\t\t\t160.9,\n\t\t\t117.3,\n\t\t\t160.1,\n\t\t\t117.6,\n\t\t\t159.7,\n\t\t\t118.5,\n\t\t\t160,\n\t\t\t121.2,\n\t\t\t157.9,\n\t\t\t122.3,\n\t\t\t160.9,\n\t\t\t123.4,\n\t\t\t160.2,\n\t\t\t124.1,\n\t\t\t157.7,\n\t\t\t124.2,\n\t\t\t155.9,\n\t\t\t125.6,\n\t\t\t154.9,\n\t\t\t125.7,\n\t\t\t156.1,\n\t\t\t127.3,\n\t\t\t155.8,\n\t\t\t130.2,\n\t\t\t157.8,\n\t\t\t130.1,\n\t\t\t159.6,\n\t\t\t129.1,\n\t\t\t164.2,\n\t\t\t124.8,\n\t\t\t165.4,\n\t\t\t122.9,\n\t\t\t166.3,\n\t\t\t117,\n\t\t\t166,\n\t\t\t115.3,\n\t\t\t164.5,\n\t\t\t113.4,\n\t\t\t164.2,\n\t\t\t110.9,\n\t\t\t165.3,\n\t\t\t108.7,\n\t\t\t166.1,\n\t\t\t108.3,\n\t\t\t167.4,\n\t\t\t104.5,\n\t\t\t168.2,\n\t\t\t103.7,\n\t\t\t169.1,\n\t\t\t103.9,\n\t\t\t169.9,\n\t\t\t105.5,\n\t\t\t170.9,\n\t\t\t106,\n\t\t\t170,\n\t\t\t107.2,\n\t\t\t171.8,\n\t\t\t109.7,\n\t\t\t172.1,\n\t\t\t111.5,\n\t\t\t171.6,\n\t\t\t113.4,\n\t\t\t173.6,\n\t\t\t117.3,\n\t\t\t173.4,\n\t\t\t118.9,\n\t\t\t173.8,\n\t\t\t120,\n\t\t\t171.3,\n\t\t\t123.4,\n\t\t\t170.6,\n\t\t\t129.3,\n\t\t\t168.3,\n\t\t\t132.5,\n\t\t\t166.8,\n\t\t\t139,\n\t\t\t165.5,\n\t\t\t139.6,\n\t\t\t164.3,\n\t\t\t141.5,\n\t\t\t156.3,\n\t\t\t140.3,\n\t\t\t154.9,\n\t\t\t140.4,\n\t\t\t152.8,\n\t\t\t141.6,\n\t\t\t146.7,\n\t\t\t138.2,\n\t\t\t143,\n\t\t\t133.2,\n\t\t\t142.2,\n\t\t\t133.3,\n\t\t\t141.7,\n\t\t\t135.8,\n\t\t\t140.9,\n\t\t\t136.3,\n\t\t\t143.3,\n\t\t\t140.7,\n\t\t\t146.3,\n\t\t\t143.9,\n\t\t\t154,\n\t\t\t146.9,\n\t\t\t155.5,\n\t\t\t148.5,\n\t\t\t156.5,\n\t\t\t151,\n\t\t\t156.6,\n\t\t\t154,\n\t\t\t155.8,\n\t\t\t157.5,\n\t\t\t152.5,\n\t\t\t161.1,\n\t\t\t150.5,\n\t\t\t161.6,\n\t\t\t149.5,\n\t\t\t159.7,\n\t\t\t153.7,\n\t\t\t155.4,\n\t\t\t154.9,\n\t\t\t153,\n\t\t\t152.9,\n\t\t\t155.3,\n\t\t\t149.3,\n\t\t\t157.1,\n\t\t\t147.9,\n\t\t\t163.1,\n\t\t\t144.7,\n\t\t\t167,\n\t\t\t143.6,\n\t\t\t170.4,\n\t\t\t140.7,\n\t\t\t173.7,\n\t\t\t137,\n\t\t\t174.9,\n\t\t\t138,\n\t\t\t179.8,\n\t\t\t138.2,\n\t\t\t181.8,\n\t\t\t137.7,\n\t\t\t182.8,\n\t\t\t135.8,\n\t\t\t183.9,\n\t\t\t132.5,\n\t\t\t184.1,\n\t\t\t131.9,\n\t\t\t185.1,\n\t\t\t133.4,\n\t\t\t189.3,\n\t\t\t133.6,\n\t\t\t195.5,\n\t\t\t132.9,\n\t\t\t196.7,\n\t\t\t129.4,\n\t\t\t200.4,\n\t\t\t128,\n\t\t\t201,\n\t\t\t125.4,\n\t\t\t201.4,\n\t\t\t120.1,\n\t\t\t199.9,\n\t\t\t112.6,\n\t\t\t203.7,\n\t\t\t111,\n\t\t\t204.1,\n\t\t\t108.5,\n\t\t\t202.6,\n\t\t\t104.5,\n\t\t\t204.4,\n\t\t\t103,\n\t\t\t204.2,\n\t\t\t101.6,\n\t\t\t203.5,\n\t\t\t98.1,\n\t\t\t200.3,\n\t\t\t93.6,\n\t\t\t199.9,\n\t\t\t86,\n\t\t\t196.6,\n\t\t\t77.4,\n\t\t\t196.2,\n\t\t\t73.2,\n\t\t\t198.5,\n\t\t\t72.2,\n\t\t\t198.4,\n\t\t\t71.4,\n\t\t\t191.9,\n\t\t\t69,\n\t\t\t188.2,\n\t\t\t68.5,\n\t\t\t184.8,\n\t\t\t66.1,\n\t\t\t182.3,\n\t\t\t63.1,\n\t\t\t181.4,\n\t\t\t60.8,\n\t\t\t181.8,\n\t\t\t57.9,\n\t\t\t183.2,\n\t\t\t52.6,\n\t\t\t182.5,\n\t\t\t54.3,\n\t\t\t187.1,\n\t\t\t58.2,\n\t\t\t192.8,\n\t\t\t63.1,\n\t\t\t195.2,\n\t\t\t67.4,\n\t\t\t198.7,\n\t\t\t73.5,\n\t\t\t201.1,\n\t\t\t73.7,\n\t\t\t203.3,\n\t\t\t72.8,\n\t\t\t205,\n\t\t\t71.3,\n\t\t\t204.4,\n\t\t\t66.9,\n\t\t\t206.6,\n\t\t\t64.4,\n\t\t\t207.1,\n\t\t\t61.1,\n\t\t\t208.5,\n\t\t\t55.8,\n\t\t\t215.1,\n\t\t\t44.2,\n\t\t\t219.6,\n\t\t\t43.1,\n\t\t\t219,\n\t\t\t46.3,\n\t\t\t216.6,\n\t\t\t46.4,\n\t\t\t214,\n\t\t\t48.4,\n\t\t\t211.6,\n\t\t\t52.6,\n\t\t\t208.3,\n\t\t\t51.3,\n\t\t\t207.4,\n\t\t\t48.4,\n\t\t\t208.1,\n\t\t\t47.1,\n\t\t\t209,\n\t\t\t49,\n\t\t\t209,\n\t\t\t48,\n\t\t\t211,\n\t\t\t46.6,\n\t\t\t211.7,\n\t\t\t45.3,\n\t\t\t211.3,\n\t\t\t42.7,\n\t\t\t208.6,\n\t\t\t41.3,\n\t\t\t208.6,\n\t\t\t38.6,\n\t\t\t210.5,\n\t\t\t39,\n\t\t\t209,\n\t\t\t37.9,\n\t\t\t208.3,\n\t\t\t34.9,\n\t\t\t209,\n\t\t\t35.6,\n\t\t\t207.2,\n\t\t\t35.4,\n\t\t\t205,\n\t\t\t34.7,\n\t\t\t203.1,\n\t\t\t33.2,\n\t\t\t201.8,\n\t\t\t33.2,\n\t\t\t200.7,\n\t\t\t33.8,\n\t\t\t198.8,\n\t\t\t39,\n\t\t\t192.8,\n\t\t\t39,\n\t\t\t190.1,\n\t\t\t38,\n\t\t\t187.6,\n\t\t\t39.5,\n\t\t\t186.4,\n\t\t\t39.4,\n\t\t\t183.1,\n\t\t\t38.6,\n\t\t\t181.8,\n\t\t\t34.6,\n\t\t\t180.3,\n\t\t\t34,\n\t\t\t179.1,\n\t\t\t25.8,\n\t\t\t172.3,\n\t\t\t24.5,\n\t\t\t171.9,\n\t\t\t24.5,\n\t\t\t172.6,\n\t\t\t27.6,\n\t\t\t176.4,\n\t\t\t31.7,\n\t\t\t179.5,\n\t\t\t32.4,\n\t\t\t181.8,\n\t\t\t31.1,\n\t\t\t182.5,\n\t\t\t27.1,\n\t\t\t181.8,\n\t\t\t27.1,\n\t\t\t182.5,\n\t\t\t33.8,\n\t\t\t187.1,\n\t\t\t34.8,\n\t\t\t189.8,\n\t\t\t34.7,\n\t\t\t191.6,\n\t\t\t32.2,\n\t\t\t194.1,\n\t\t\t31.7,\n\t\t\t196.9,\n\t\t\t28.9,\n\t\t\t198.6,\n\t\t\t28.5,\n\t\t\t199.6,\n\t\t\t29.1,\n\t\t\t203.6,\n\t\t\t27,\n\t\t\t207.1,\n\t\t\t25,\n\t\t\t207.2,\n\t\t\t21.6,\n\t\t\t204.8,\n\t\t\t19.2,\n\t\t\t205.2,\n\t\t\t17.4,\n\t\t\t201.1,\n\t\t\t17.1,\n\t\t\t199.7,\n\t\t\t19.9,\n\t\t\t198.4,\n\t\t\t21.7,\n\t\t\t196.3,\n\t\t\t22.6,\n\t\t\t196.2,\n\t\t\t21.8,\n\t\t\t199.1,\n\t\t\t21.6,\n\t\t\t200.6,\n\t\t\t22.2,\n\t\t\t201.4,\n\t\t\t23,\n\t\t\t201.1,\n\t\t\t23.6,\n\t\t\t199.9,\n\t\t\t25.3,\n\t\t\t193.2,\n\t\t\t23.1,\n\t\t\t187.9,\n\t\t\t23.5,\n\t\t\t191.6,\n\t\t\t22.1,\n\t\t\t195.3,\n\t\t\t18.5,\n\t\t\t197.7,\n\t\t\t16.7,\n\t\t\t196.9,\n\t\t\t15.5,\n\t\t\t198.4,\n\t\t\t17.2,\n\t\t\t204.4,\n\t\t\t16.7,\n\t\t\t205.2,\n\t\t\t12.2,\n\t\t\t200.7,\n\t\t\t12.6,\n\t\t\t198.4,\n\t\t\t14.1,\n\t\t\t196.4,\n\t\t\t14.3,\n\t\t\t195.2,\n\t\t\t12.8,\n\t\t\t192.3,\n\t\t\t10.3,\n\t\t\t192.4,\n\t\t\t10.3,\n\t\t\t193.2,\n\t\t\t11.8,\n\t\t\t193.7,\n\t\t\t12.6,\n\t\t\t195.5,\n\t\t\t10,\n\t\t\t194.2,\n\t\t\t10.3,\n\t\t\t196.2,\n\t\t\t9.4,\n\t\t\t197.7,\n\t\t\t6.7,\n\t\t\t196.8,\n\t\t\t5.8,\n\t\t\t197.6,\n\t\t\t3,\n\t\t\t196.2,\n\t\t\t3,\n\t\t\t196.9,\n\t\t\t6.1,\n\t\t\t198.9,\n\t\t\t6.6,\n\t\t\t200.2,\n\t\t\t4.9,\n\t\t\t201.4,\n\t\t\t3.3,\n\t\t\t201.2,\n\t\t\t1.9,\n\t\t\t197.8,\n\t\t\t-4.3,\n\t\t\t194,\n\t\t\t-7.1,\n\t\t\t190.7,\n\t\t\t-7.3,\n\t\t\t192.3,\n\t\t\t-6.1,\n\t\t\t194.7,\n\t\t\t-10.4,\n\t\t\t193.2,\n\t\t\t-14.1,\n\t\t\t194.7,\n\t\t\t-15.2,\n\t\t\t194.7,\n\t\t\t-17.9,\n\t\t\t188.5,\n\t\t\t-16.9,\n\t\t\t183.3,\n\t\t\t-17.9,\n\t\t\t180.7,\n\t\t\t-18.3,\n\t\t\t180.3,\n\t\t\t-18.9,\n\t\t\t180.8,\n\t\t\t-19.1,\n\t\t\t183.4,\n\t\t\t-19.7,\n\t\t\t184,\n\t\t\t-21.5,\n\t\t\t180.9,\n\t\t\t-23.4,\n\t\t\t180.3,\n\t\t\t-23.8,\n\t\t\t178.7,\n\t\t\t-23.4,\n\t\t\t178.7,\n\t\t\t-24.2,\n\t\t\t177.2,\n\t\t\t-25.7,\n\t\t\t178,\n\t\t\t-27,\n\t\t\t177.2,\n\t\t\t-27,\n\t\t\t176.4,\n\t\t\t-24.5,\n\t\t\t173.4,\n\t\t\t-23,\n\t\t\t172,\n\t\t\t-21,\n\t\t\t171.2,\n\t\t\t-24.5,\n\t\t\t169.7,\n\t\t\t-26.6,\n\t\t\t171,\n\t\t\t-27.4,\n\t\t\t170.4,\n\t\t\t-26.6,\n\t\t\t168.3,\n\t\t\t-23.8,\n\t\t\t164.4,\n\t\t\t-22,\n\t\t\t164.3,\n\t\t\t-21.5,\n\t\t\t166.7,\n\t\t\t-19.1,\n\t\t\t166.3,\n\t\t\t-18.3,\n\t\t\t164.3,\n\t\t\t-17.4,\n\t\t\t163.6,\n\t\t\t-21,\n\t\t\t163.8,\n\t\t\t-22,\n\t\t\t162.8,\n\t\t\t-22,\n\t\t\t161,\n\t\t\t-20.9,\n\t\t\t159.8,\n\t\t\t-18.3,\n\t\t\t159,\n\t\t\t-18.3,\n\t\t\t158.3,\n\t\t\t-19.7,\n\t\t\t158.3,\n\t\t\t-23.4,\n\t\t\t159.7,\n\t\t\t-27.9,\n\t\t\t159.3,\n\t\t\t-29.3,\n\t\t\t160.5,\n\t\t\t-31.5,\n\t\t\t158.3,\n\t\t\t-33.5,\n\t\t\t157.8,\n\t\t\t-33.7,\n\t\t\t156.8,\n\t\t\t-32.2,\n\t\t\t156.6,\n\t\t\t-29.8,\n\t\t\t154.9,\n\t\t\t-27.3,\n\t\t\t154.1,\n\t\t\t-23.8,\n\t\t\t150.7,\n\t\t\t-25,\n\t\t\t150.1,\n\t\t\t-26.2,\n\t\t\t150.7,\n\t\t\t-28.1,\n\t\t\t153.3,\n\t\t\t-28.9,\n\t\t\t153.6,\n\t\t\t-31.9,\n\t\t\t153.5,\n\t\t\t-32.9,\n\t\t\t153,\n\t\t\t-31.6,\n\t\t\t151.8,\n\t\t\t-27,\n\t\t\t150.7,\n\t\t\t-27,\n\t\t\t150,\n\t\t\t-32.3,\n\t\t\t151.1,\n\t\t\t-38.9,\n\t\t\t151.3,\n\t\t\t-45.3,\n\t\t\t147.3,\n\t\t\t-46.8,\n\t\t\t144.4,\n\t\t\t-49.5,\n\t\t\t143.6,\n\t\t\t-49.6,\n\t\t\t142.9,\n\t\t\t-48.3,\n\t\t\t141.5,\n\t\t\t-49.2,\n\t\t\t139.3,\n\t\t\t-48.1,\n\t\t\t139.3,\n\t\t\t-42.6,\n\t\t\t137.3,\n\t\t\t-41.9,\n\t\t\t136.6,\n\t\t\t-42.5,\n\t\t\t135.6,\n\t\t\t-41.3,\n\t\t\t134.8,\n\t\t\t-36.3,\n\t\t\t134.8,\n\t\t\t-34.1,\n\t\t\t133.7,\n\t\t\t-33.4,\n\t\t\t135.2,\n\t\t\t-29.5,\n\t\t\t136.3,\n\t\t\t-27.3,\n\t\t\t133,\n\t\t\t-26.4,\n\t\t\t135.7,\n\t\t\t-25.3,\n\t\t\t137.3,\n\t\t\t-24.5,\n\t\t\t137.3,\n\t\t\t-24.7,\n\t\t\t134.8,\n\t\t\t-23.2,\n\t\t\t135.8,\n\t\t\t-22.4,\n\t\t\t134.9,\n\t\t\t-22.2,\n\t\t\t133.3,\n\t\t\t-25.4,\n\t\t\t131.3,\n\t\t\t-27,\n\t\t\t129.5,\n\t\t\t-27,\n\t\t\t128.8,\n\t\t\t-25.1,\n\t\t\t129.6,\n\t\t\t-21.1,\n\t\t\t133.6,\n\t\t\t-19.4,\n\t\t\t134.5,\n\t\t\t-16.7,\n\t\t\t137.1,\n\t\t\t-15.3,\n\t\t\t136,\n\t\t\t-16.1,\n\t\t\t133.3,\n\t\t\t-12.3,\n\t\t\t135.9,\n\t\t\t-7.7,\n\t\t\t136.7,\n\t\t\t-5.2,\n\t\t\t138.5,\n\t\t\t-4.7,\n\t\t\t137.8,\n\t\t\t-5.8,\n\t\t\t133.3,\n\t\t\t-8.3,\n\t\t\t134.8,\n\t\t\t-8.1,\n\t\t\t132.1,\n\t\t\t-11.2,\n\t\t\t129.3,\n\t\t\t-11,\n\t\t\t127.2,\n\t\t\t-14.7,\n\t\t\t124.2,\n\t\t\t-12.8,\n\t\t\t122.8,\n\t\t\t-10.6,\n\t\t\t122.7,\n\t\t\t-10.6,\n\t\t\t121.8,\n\t\t\t-12.7,\n\t\t\t121.4,\n\t\t\t-15.8,\n\t\t\t119.4,\n\t\t\t-22.2,\n\t\t\t118.1,\n\t\t\t-26.1,\n\t\t\t115.8,\n\t\t\t-27.7,\n\t\t\t118.9,\n\t\t\t-28.1,\n\t\t\t113.9,\n\t\t\t-40.7,\n\t\t\t106.1,\n\t\t\t-41,\n\t\t\t105.2,\n\t\t\t-40.6,\n\t\t\t103.7,\n\t\t\t-34,\n\t\t\t103.7,\n\t\t\t-31.1,\n\t\t\t102.5,\n\t\t\t-30.6,\n\t\t\t101.4,\n\t\t\t-32,\n\t\t\t100.6,\n\t\t\t-34.3,\n\t\t\t102.2,\n\t\t\t-34.5,\n\t\t\t100.1,\n\t\t\t-30.1,\n\t\t\t99.2,\n\t\t\t-27.9,\n\t\t\t96.9,\n\t\t\t-32.6,\n\t\t\t97.8,\n\t\t\t-33.7,\n\t\t\t96.8,\n\t\t\t-36.1,\n\t\t\t97.7,\n\t\t\t-37.9,\n\t\t\t95.4,\n\t\t\t-37.9,\n\t\t\t94.6,\n\t\t\t-34.7,\n\t\t\t93.6,\n\t\t\t-33.8,\n\t\t\t91.5,\n\t\t\t-30.6,\n\t\t\t90.1,\n\t\t\t-30.6,\n\t\t\t89.3,\n\t\t\t-32.8,\n\t\t\t89.4,\n\t\t\t-34.7,\n\t\t\t88.5,\n\t\t\t-36.8,\n\t\t\t91.3,\n\t\t\t-38.7,\n\t\t\t92,\n\t\t\t-39.7,\n\t\t\t95.4,\n\t\t\t-41.6,\n\t\t\t96.3,\n\t\t\t-45.6,\n\t\t\t95.5,\n\t\t\t-47.5,\n\t\t\t96.9,\n\t\t\t-50.3,\n\t\t\t95.4,\n\t\t\t-53.5,\n\t\t\t95.4,\n\t\t\t-59,\n\t\t\t98.4,\n\t\t\t-60.2,\n\t\t\t97.7,\n\t\t\t-64.2,\n\t\t\t98.6,\n\t\t\t-66.5,\n\t\t\t98.4,\n\t\t\t-69,\n\t\t\t91.4,\n\t\t\t-70.5,\n\t\t\t89.9,\n\t\t\t-72,\n\t\t\t89.3,\n\t\t\t-71.6,\n\t\t\t87.7,\n\t\t\t-72,\n\t\t\t82.5,\n\t\t\t-72.4,\n\t\t\t82.5,\n\t\t\t-73,\n\t\t\t86.3,\n\t\t\t-77,\n\t\t\t90.4,\n\t\t\t-77.3,\n\t\t\t91.5,\n\t\t\t-76.1,\n\t\t\t92.3,\n\t\t\t-76.1,\n\t\t\t93.2,\n\t\t\t-77.5,\n\t\t\t93.8,\n\t\t\t-77.1,\n\t\t\t96.8,\n\t\t\t-77.5,\n\t\t\t97.7,\n\t\t\t-79.5,\n\t\t\t96.9,\n\t\t\t-80.9,\n\t\t\t99.9,\n\t\t\t-85.2,\n\t\t\t101.5,\n\t\t\t-88.6,\n\t\t\t99.2,\n\t\t\t-93.8,\n\t\t\t99.9,\n\t\t\t-95.9,\n\t\t\t101.5,\n\t\t\t-98.6,\n\t\t\t100.6,\n\t\t\t-110,\n\t\t\t101.5,\n\t\t\t-115.2,\n\t\t\t103.7,\n\t\t\t-119.1,\n\t\t\t102.7,\n\t\t\t-119.2,\n\t\t\t101.9,\n\t\t\t-118.1,\n\t\t\t99.2,\n\t\t\t-113.4,\n\t\t\t97.7,\n\t\t\t-116.1,\n\t\t\t97.7,\n\t\t\t-116.1,\n\t\t\t96.9,\n\t\t\t-114.7,\n\t\t\t96.2,\n\t\t\t-113.8,\n\t\t\t94.6,\n\t\t\t-115.3,\n\t\t\t94.8,\n\t\t\t-119.1,\n\t\t\t96.9,\n\t\t\t-121.1,\n\t\t\t94.7,\n\t\t\t-121.6,\n\t\t\t92.9,\n\t\t\t-120.7,\n\t\t\t91.6,\n\t\t\t-123.4,\n\t\t\t88.9,\n\t\t\t-128.3,\n\t\t\t91,\n\t\t\t-127.9,\n\t\t\t93.2,\n\t\t\t-126.2,\n\t\t\t91.6,\n\t\t\t-124.6,\n\t\t\t91.4,\n\t\t\t-123,\n\t\t\t92.7,\n\t\t\t-121.5,\n\t\t\t95.4,\n\t\t\t-122,\n\t\t\t96.1,\n\t\t\t-123.3,\n\t\t\t95.6,\n\t\t\t-124.3,\n\t\t\t96.9,\n\t\t\t-125.2,\n\t\t\t96.3,\n\t\t\t-127.6,\n\t\t\t97,\n\t\t\t-128.4,\n\t\t\t97.7,\n\t\t\t-129.3,\n\t\t\t99.9,\n\t\t\t-129.9,\n\t\t\t99.9,\n\t\t\t-130.6,\n\t\t\t98.4,\n\t\t\t-134.3,\n\t\t\t96.1,\n\t\t\t-135.8,\n\t\t\t92.3,\n\t\t\t-137.1,\n\t\t\t92.3,\n\t\t\t-135.5,\n\t\t\t90.9,\n\t\t\t-133.4,\n\t\t\t90.9,\n\t\t\t-135.5,\n\t\t\t87.9,\n\t\t\t-136,\n\t\t\t84.6,\n\t\t\t-137.9,\n\t\t\t80.2,\n\t\t\t-137.8,\n\t\t\t78.1,\n\t\t\t-137.2,\n\t\t\t76.9,\n\t\t\t-135,\n\t\t\t76.4,\n\t\t\t-133.9,\n\t\t\t76.8,\n\t\t\t-134,\n\t\t\t77.8,\n\t\t\t-135.7,\n\t\t\t79.4,\n\t\t\t-133.8,\n\t\t\t80.2,\n\t\t\t-134,\n\t\t\t82.3,\n\t\t\t-135.2,\n\t\t\t83.3,\n\t\t\t-135.2,\n\t\t\t84,\n\t\t\t-133.8,\n\t\t\t84.7,\n\t\t\t-132,\n\t\t\t84.8,\n\t\t\t-132.9,\n\t\t\t87.1,\n\t\t\t-131.7,\n\t\t\t86.8,\n\t\t\t-130.6,\n\t\t\t87.2,\n\t\t\t-130.2,\n\t\t\t88.1,\n\t\t\t-131.1,\n\t\t\t89.3,\n\t\t\t-130.1,\n\t\t\t90.5,\n\t\t\t-128.6,\n\t\t\t89.9,\n\t\t\t-125.2,\n\t\t\t87.1,\n\t\t\t-126.2,\n\t\t\t85.7,\n\t\t\t-127.9,\n\t\t\t86.3,\n\t\t\t-124.8,\n\t\t\t82.5,\n\t\t\t-126.6,\n\t\t\t83.3,\n\t\t\t-126.2,\n\t\t\t82,\n\t\t\t-123.3,\n\t\t\t79.4,\n\t\t\t-127.5,\n\t\t\t77.9,\n\t\t\t-128.8,\n\t\t\t77.9,\n\t\t\t-127.5,\n\t\t\t75,\n\t\t\t-125.8,\n\t\t\t73.7,\n\t\t\t-123.9,\n\t\t\t74.1,\n\t\t\t-122,\n\t\t\t76.4,\n\t\t\t-122.5,\n\t\t\t76.4,\n\t\t\t-122.5,\n\t\t\t77.2,\n\t\t\t-121.4,\n\t\t\t77.4,\n\t\t\t-121.5,\n\t\t\t78.7,\n\t\t\t-119.8,\n\t\t\t79.3,\n\t\t\t-118.4,\n\t\t\t78.7,\n\t\t\t-120.3,\n\t\t\t77.2,\n\t\t\t-119.8,\n\t\t\t76.4,\n\t\t\t-121.2,\n\t\t\t75.3,\n\t\t\t-121.2,\n\t\t\t74.6,\n\t\t\t-120.3,\n\t\t\t74.2,\n\t\t\t-122.6,\n\t\t\t72.4,\n\t\t\t-122.7,\n\t\t\t69.1,\n\t\t\t-121.3,\n\t\t\t66.6,\n\t\t\t-119.8,\n\t\t\t66.6,\n\t\t\t-119.4,\n\t\t\t66.1,\n\t\t\t-118.3,\n\t\t\t61.5,\n\t\t\t-117.5,\n\t\t\t61.2,\n\t\t\t-117.9,\n\t\t\t62.8,\n\t\t\t-117,\n\t\t\t62.6,\n\t\t\t-115.2,\n\t\t\t60.5,\n\t\t\t-115.3,\n\t\t\t57.1,\n\t\t\t-115.9,\n\t\t\t56.7,\n\t\t\t-116.7,\n\t\t\t57.3,\n\t\t\t-116.9,\n\t\t\t59.9,\n\t\t\t-120.7,\n\t\t\t62.1,\n\t\t\t-123.8,\n\t\t\t61.2,\n\t\t\t-123.8,\n\t\t\t60.5,\n\t\t\t-123.3,\n\t\t\t60.5,\n\t\t\t-123.3,\n\t\t\t57.5,\n\t\t\t-124.5,\n\t\t\t56.7,\n\t\t\t-124.9,\n\t\t\t53.6,\n\t\t\t-125.7,\n\t\t\t53,\n\t\t\t-123.5,\n\t\t\t50.7,\n\t\t\t-119.9,\n\t\t\t51.6,\n\t\t\t-113.4,\n\t\t\t55.2,\n\t\t\t-103.9,\n\t\t\t55.2,\n\t\t\t-102,\n\t\t\t54.5,\n\t\t\t-100.6,\n\t\t\t55.2,\n\t\t\t-101.1,\n\t\t\t53.3,\n\t\t\t-102,\n\t\t\t52.2,\n\t\t\t-100.2,\n\t\t\t51.4,\n\t\t\t-102.5,\n\t\t\t49.6,\n\t\t\t-103.2,\n\t\t\t48.6,\n\t\t\t-103,\n\t\t\t46.9,\n\t\t\t-104.3,\n\t\t\t46.1,\n\t\t\t-100.6,\n\t\t\t44.6,\n\t\t\t-100.6,\n\t\t\t43.8,\n\t\t\t-113,\n\t\t\t41.6,\n\t\t\t-115.4,\n\t\t\t42.7,\n\t\t\t-116.1,\n\t\t\t42,\n\t\t\t-123.3,\n\t\t\t40,\n\t\t\t-122.8,\n\t\t\t38,\n\t\t\t-124.3,\n\t\t\t32.1,\n\t\t\t-123.3,\n\t\t\t27.2,\n\t\t\t-118,\n\t\t\t23.9,\n\t\t\t-115.1,\n\t\t\t22.8,\n\t\t\t-110.4,\n\t\t\t23.2,\n\t\t\t-109.3,\n\t\t\t22.6,\n\t\t\t-109.3,\n\t\t\t21.9,\n\t\t\t-117.7,\n\t\t\t22.8,\n\t\t\t-119.8,\n\t\t\t24.1,\n\t\t\t-120.7,\n\t\t\t24,\n\t\t\t-124.8,\n\t\t\t22.1,\n\t\t\t-130,\n\t\t\t22.6,\n\t\t\t-132.5,\n\t\t\t22,\n\t\t\t-131.5,\n\t\t\t20.7,\n\t\t\t-127.5,\n\t\t\t18,\n\t\t\t-129.8,\n\t\t\t15.9,\n\t\t\t-131.1,\n\t\t\t18,\n\t\t\t-134.1,\n\t\t\t18.8,\n\t\t\t-137.1,\n\t\t\t18.8,\n\t\t\t-136.6,\n\t\t\t16.6,\n\t\t\t-141.4,\n\t\t\t17.2,\n\t\t\t-142.9,\n\t\t\t15.9,\n\t\t\t-142.3,\n\t\t\t15.3,\n\t\t\t-139.6,\n\t\t\t15.9,\n\t\t\t-138.4,\n\t\t\t14.1,\n\t\t\t-137.9,\n\t\t\t12,\n\t\t\t-136.5,\n\t\t\t10.4,\n\t\t\t-134,\n\t\t\t9.4,\n\t\t\t-130.2,\n\t\t\t9,\n\t\t\t-130.8,\n\t\t\t7.8,\n\t\t\t-135.2,\n\t\t\t9,\n\t\t\t-134.4,\n\t\t\t7.3,\n\t\t\t-132.9,\n\t\t\t6.8,\n\t\t\t-132.9,\n\t\t\t5.9,\n\t\t\t-133.9,\n\t\t\t4.8,\n\t\t\t-138.9,\n\t\t\t5.1,\n\t\t\t-139.8,\n\t\t\t4.4,\n\t\t\t-141.1,\n\t\t\t1.4,\n\t\t\t-139.9,\n\t\t\t1.4,\n\t\t\t-138.8,\n\t\t\t2.2,\n\t\t\t-137.9,\n\t\t\t1.1,\n\t\t\t-133.6,\n\t\t\t1.4,\n\t\t\t-132.7,\n\t\t\t1.1,\n\t\t\t-130.4,\n\t\t\t-2.1,\n\t\t\t-126.9,\n\t\t\t-2.3,\n\t\t\t-124.3,\n\t\t\t-1.2,\n\t\t\t-124.5,\n\t\t\t1.1,\n\t\t\t-123.5,\n\t\t\t2.9,\n\t\t\t-121.8,\n\t\t\t2.2,\n\t\t\t-119.3,\n\t\t\t3.7,\n\t\t\t-121.5,\n\t\t\t.7,\n\t\t\t-121.2,\n\t\t\t-.5,\n\t\t\t-120.1,\n\t\t\t-.6,\n\t\t\t-117.8,\n\t\t\t1.8,\n\t\t\t-116.1,\n\t\t\t2.2,\n\t\t\t-116.1,\n\t\t\t1.4,\n\t\t\t-117.5,\n\t\t\t.7,\n\t\t\t-117.5,\n\t\t\t-.1,\n\t\t\t-115.2,\n\t\t\t-.1,\n\t\t\t-115.2,\n\t\t\t-.8,\n\t\t\t-118.9,\n\t\t\t-3.5,\n\t\t\t-121.9,\n\t\t\t-4.5,\n\t\t\t-122.9,\n\t\t\t-8.4,\n\t\t\t-121.9,\n\t\t\t-9.2,\n\t\t\t-119,\n\t\t\t-8.5,\n\t\t\t-116.6,\n\t\t\t-10.9,\n\t\t\t-112.4,\n\t\t\t-9.5,\n\t\t\t-108.5,\n\t\t\t-2.7,\n\t\t\t-106.4,\n\t\t\t-.8,\n\t\t\t-105.4,\n\t\t\t-1.6,\n\t\t\t-105.4,\n\t\t\t-2.5,\n\t\t\t-106.4,\n\t\t\t-6.5,\n\t\t\t-105.2,\n\t\t\t-7.7,\n\t\t\t-103.9,\n\t\t\t-7.2,\n\t\t\t-103.3,\n\t\t\t-5.6,\n\t\t\t-103.4,\n\t\t\t-3.7,\n\t\t\t-104.3,\n\t\t\t-2.4,\n\t\t\t-103.3,\n\t\t\t-1.7,\n\t\t\t-99.7,\n\t\t\t-1.6,\n\t\t\t-103,\n\t\t\t-3.9,\n\t\t\t-100.3,\n\t\t\t-6.5,\n\t\t\t-101.3,\n\t\t\t-8.4,\n\t\t\t-102.7,\n\t\t\t-7.7,\n\t\t\t-104,\n\t\t\t-8.7,\n\t\t\t-103.5,\n\t\t\t-13.7,\n\t\t\t-104.8,\n\t\t\t-16.8,\n\t\t\t-103.7,\n\t\t\t-18.1,\n\t\t\t-102.7,\n\t\t\t-17.9,\n\t\t\t-101.9,\n\t\t\t-16.5,\n\t\t\t-101,\n\t\t\t-12.1,\n\t\t\t-99.9,\n\t\t\t-12.1,\n\t\t\t-99.4,\n\t\t\t-13.4,\n\t\t\t-100.6,\n\t\t\t-15.3,\n\t\t\t-98.4,\n\t\t\t-18.3,\n\t\t\t-97,\n\t\t\t-19,\n\t\t\t-92.8,\n\t\t\t-18.6,\n\t\t\t-89.7,\n\t\t\t-16.8,\n\t\t\t-68.2,\n\t\t\t-15,\n\t\t\t-64.5,\n\t\t\t-13.8,\n\t\t\t-59.2,\n\t\t\t-14.5,\n\t\t\t-59.2,\n\t\t\t-15.3,\n\t\t\t-62.5,\n\t\t\t-16.8,\n\t\t\t-62.5,\n\t\t\t-17.5,\n\t\t\t-60.6,\n\t\t\t-17.5,\n\t\t\t-60.6,\n\t\t\t-18.2,\n\t\t\t-64.9,\n\t\t\t-19.1,\n\t\t\t-66.1,\n\t\t\t-19.8,\n\t\t\t-65.1,\n\t\t\t-20.3,\n\t\t\t-58.6,\n\t\t\t-20.5,\n\t\t\t-56.1,\n\t\t\t-19.8,\n\t\t\t-58.3,\n\t\t\t-21.5,\n\t\t\t-60.2,\n\t\t\t-24.3,\n\t\t\t-58.8,\n\t\t\t-28.1,\n\t\t\t-61.3,\n\t\t\t-26.8,\n\t\t\t-62,\n\t\t\t-25.9,\n\t\t\t-61.7,\n\t\t\t-24.8,\n\t\t\t-62.2,\n\t\t\t-24.7,\n\t\t\t-63.7,\n\t\t\t-25.9,\n\t\t\t-66.1,\n\t\t\t-25,\n\t\t\t-66.1,\n\t\t\t-25.9,\n\t\t\t-63.3,\n\t\t\t-27.4,\n\t\t\t-63.3,\n\t\t\t-28.1,\n\t\t\t-64.6,\n\t\t\t-28,\n\t\t\t-67.7,\n\t\t\t-25.9,\n\t\t\t-71.6,\n\t\t\t-26.6,\n\t\t\t-71.6,\n\t\t\t-27.4,\n\t\t\t-68.7,\n\t\t\t-28.4,\n\t\t\t-67.7,\n\t\t\t-29.4,\n\t\t\t-67.9,\n\t\t\t-31.1,\n\t\t\t-69.5,\n\t\t\t-30.2,\n\t\t\t-73.6,\n\t\t\t-32,\n\t\t\t-75,\n\t\t\t-31.3,\n\t\t\t-79.7,\n\t\t\t-27.4,\n\t\t\t-81.1,\n\t\t\t-28,\n\t\t\t-89.3,\n\t\t\t-42.5,\n\t\t\t-88.8,\n\t\t\t-43.3,\n\t\t\t-94.8,\n\t\t\t-50.8,\n\t\t\t-93,\n\t\t\t-51.5,\n\t\t\t-87.8,\n\t\t\t-51.2,\n\t\t\t-86.6,\n\t\t\t-51.6,\n\t\t\t-87.3,\n\t\t\t-53.7,\n\t\t\t-91.4,\n\t\t\t-57.7,\n\t\t\t-91.5,\n\t\t\t-60,\n\t\t\t-92.9,\n\t\t\t-63,\n\t\t\t-95.7,\n\t\t\t-66,\n\t\t\t-95.2,\n\t\t\t-68.3,\n\t\t\t-96.1,\n\t\t\t-71.6,\n\t\t\t-98.8,\n\t\t\t-72.7,\n\t\t\t-102.5,\n\t\t\t-72.9,\n\t\t\t-104.8,\n\t\t\t-74.4,\n\t\t\t-104.3,\n\t\t\t-75.9,\n\t\t\t-117.7,\n\t\t\t-89,\n\t\t\t-121.2,\n\t\t\t-89.9,\n\t\t\t-125.2,\n\t\t\t-92.6,\n\t\t\t-125.2,\n\t\t\t-93.2,\n\t\t\t-113.3,\n\t\t\t-91.6,\n\t\t\t-111.6,\n\t\t\t-90.2,\n\t\t\t-110,\n\t\t\t-90.6,\n\t\t\t-109.1,\n\t\t\t-87.8,\n\t\t\t-104.8,\n\t\t\t-86.5,\n\t\t\t-99.7,\n\t\t\t-84.1,\n\t\t\t-100.4,\n\t\t\t-82.6,\n\t\t\t-101.6,\n\t\t\t-81.9,\n\t\t\t-101.6,\n\t\t\t-81.2,\n\t\t\t-99.2,\n\t\t\t-81.1,\n\t\t\t-98.4,\n\t\t\t-81.7,\n\t\t\t-98.8,\n\t\t\t-83.4,\n\t\t\t-97.9,\n\t\t\t-84.4,\n\t\t\t-95.6,\n\t\t\t-84.7,\n\t\t\t-94.6,\n\t\t\t-86.3,\n\t\t\t-91.9,\n\t\t\t-87.1,\n\t\t\t-88.5,\n\t\t\t-87,\n\t\t\t-83.7,\n\t\t\t-85.4,\n\t\t\t-81.6,\n\t\t\t-84.1,\n\t\t\t-81.5,\n\t\t\t-85.6,\n\t\t\t-85.2,\n\t\t\t-88.7,\n\t\t\t-83.7,\n\t\t\t-89.5,\n\t\t\t-82,\n\t\t\t-89.5,\n\t\t\t-80,\n\t\t\t-87.2,\n\t\t\t-74.1,\n\t\t\t-86.5,\n\t\t\t-72.8,\n\t\t\t-85.8,\n\t\t\t-66.9,\n\t\t\t-77.8,\n\t\t\t-64.8,\n\t\t\t-73.6,\n\t\t\t-64.6,\n\t\t\t-72.2,\n\t\t\t-63.1,\n\t\t\t-70.7,\n\t\t\t-59.2,\n\t\t\t-69.1,\n\t\t\t-61.1,\n\t\t\t-72,\n\t\t\t-60,\n\t\t\t-72.5,\n\t\t\t-59.9,\n\t\t\t-73.6,\n\t\t\t-59.7,\n\t\t\t-76.6,\n\t\t\t-60.5,\n\t\t\t-77.4,\n\t\t\t-60.5,\n\t\t\t-78.1,\n\t\t\t-58.6,\n\t\t\t-78.8,\n\t\t\t-54.3,\n\t\t\t-78.1,\n\t\t\t-46.5,\n\t\t\t-80.4,\n\t\t\t-48.8,\n\t\t\t-81.2,\n\t\t\t-60.4,\n\t\t\t-82.7,\n\t\t\t-61.1,\n\t\t\t-83.1,\n\t\t\t-62.5,\n\t\t\t-85.7,\n\t\t\t-63.4,\n\t\t\t-86.2,\n\t\t\t-66,\n\t\t\t-86.2,\n\t\t\t-66.5,\n\t\t\t-84.9,\n\t\t\t-67.7,\n\t\t\t-85.8,\n\t\t\t-75.8,\n\t\t\t-88.4,\n\t\t\t-77.7,\n\t\t\t-90,\n\t\t\t-81.1,\n\t\t\t-91,\n\t\t\t-85.3,\n\t\t\t-90.9,\n\t\t\t-86.3,\n\t\t\t-91.4,\n\t\t\t-92.1,\n\t\t\t-91,\n\t\t\t-94.3,\n\t\t\t-92.7,\n\t\t\t-96.1,\n\t\t\t-91.7,\n\t\t\t-101.3,\n\t\t\t-91.7,\n\t\t\t-104.1,\n\t\t\t-91,\n\t\t\t-105.7,\n\t\t\t-92.1,\n\t\t\t-106.1,\n\t\t\t-91.7,\n\t\t\t-107.9,\n\t\t\t-94.4,\n\t\t\t-107.7,\n\t\t\t-95.8,\n\t\t\t-108.4,\n\t\t\t-97.8,\n\t\t\t-107.9,\n\t\t\t-99,\n\t\t\t-108.4,\n\t\t\t-100.1,\n\t\t\t-106.2,\n\t\t\t-100.2,\n\t\t\t-105.5,\n\t\t\t-100.9,\n\t\t\t-105.2,\n\t\t\t-102.4,\n\t\t\t-108,\n\t\t\t-101.4,\n\t\t\t-109.7,\n\t\t\t-101.3,\n\t\t\t-112.8,\n\t\t\t-104.3,\n\t\t\t-119.4,\n\t\t\t-107.4,\n\t\t\t-123.8,\n\t\t\t-107.7,\n\t\t\t-126.1,\n\t\t\t-109.2,\n\t\t\t-124.9,\n\t\t\t-110.6,\n\t\t\t-119.5,\n\t\t\t-112.2,\n\t\t\t-118.4,\n\t\t\t-113.3,\n\t\t\t-118.6,\n\t\t\t-118.7,\n\t\t\t-117.9,\n\t\t\t-120.6,\n\t\t\t-120.3,\n\t\t\t-121.2,\n\t\t\t-120.3,\n\t\t\t-122.1,\n\t\t\t-118.4,\n\t\t\t-122.8,\n\t\t\t-119.4,\n\t\t\t-123.3,\n\t\t\t-120.1,\n\t\t\t-123.3,\n\t\t\t-121.5,\n\t\t\t-122.1,\n\t\t\t-120.8,\n\t\t\t-124.6,\n\t\t\t-120.3,\n\t\t\t-125.2,\n\t\t\t-119.3,\n\t\t\t-124.4,\n\t\t\t-116.1,\n\t\t\t-125.9,\n\t\t\t-113.1,\n\t\t\t-126.2,\n\t\t\t-112,\n\t\t\t-127.4,\n\t\t\t-116.8,\n\t\t\t-128,\n\t\t\t-117.9,\n\t\t\t-127.4,\n\t\t\t-117,\n\t\t\t-126.6,\n\t\t\t-117.8,\n\t\t\t-126.2,\n\t\t\t-120.9,\n\t\t\t-129.1,\n\t\t\t-125.9,\n\t\t\t-128.5,\n\t\t\t-130,\n\t\t\t-126.8,\n\t\t\t-130.6,\n\t\t\t-122.1,\n\t\t\t-130.3,\n\t\t\t-120.9,\n\t\t\t-133.4,\n\t\t\t-120.6,\n\t\t\t-131.8,\n\t\t\t-122.7,\n\t\t\t-132.4,\n\t\t\t-125,\n\t\t\t-134.2,\n\t\t\t-127,\n\t\t\t-136.1,\n\t\t\t-128.2,\n\t\t\t-140.5,\n\t\t\t-128.9,\n\t\t\t-139.8,\n\t\t\t-124,\n\t\t\t-140.8,\n\t\t\t-123.1,\n\t\t\t-147.7,\n\t\t\t-125.2,\n\t\t\t-150.7,\n\t\t\t-128.9,\n\t\t\t-153.8,\n\t\t\t-129.6,\n\t\t\t-154.4,\n\t\t\t-131.3,\n\t\t\t-153.4,\n\t\t\t-131.9,\n\t\t\t-154.2,\n\t\t\t-132.9,\n\t\t\t-154.1,\n\t\t\t-135.4,\n\t\t\t-154.8,\n\t\t\t-135.8,\n\t\t\t-155.6,\n\t\t\t-135.5,\n\t\t\t-157.1,\n\t\t\t-134.2,\n\t\t\t-156.6,\n\t\t\t-132.7,\n\t\t\t-159.3,\n\t\t\t-133.9,\n\t\t\t-160,\n\t\t\t-134.9,\n\t\t\t-159.4,\n\t\t\t-136.5,\n\t\t\t-161.2,\n\t\t\t-138,\n\t\t\t-160.5,\n\t\t\t-142.1,\n\t\t\t-160,\n\t\t\t-143.4,\n\t\t\t-158.4,\n\t\t\t-144,\n\t\t\t-154.4,\n\t\t\t-142.5,\n\t\t\t-152.9,\n\t\t\t-142.4,\n\t\t\t-153.6,\n\t\t\t-142.1,\n\t\t\t-153.9,\n\t\t\t-141,\n\t\t\t-147.5,\n\t\t\t-142.4,\n\t\t\t-147.5,\n\t\t\t-141.8,\n\t\t\t-149.8,\n\t\t\t-141,\n\t\t\t-149.8,\n\t\t\t-140.3,\n\t\t\t-147.9,\n\t\t\t-139.7,\n\t\t\t-147.2,\n\t\t\t-139.8,\n\t\t\t-145.5,\n\t\t\t-141.6,\n\t\t\t-143.9,\n\t\t\t-140.3,\n\t\t\t-141.8,\n\t\t\t-142.7,\n\t\t\t-140.2,\n\t\t\t-141.7,\n\t\t\t-131.3,\n\t\t\t-139.4,\n\t\t\t-129.3,\n\t\t\t-139.5,\n\t\t\t-127.5,\n\t\t\t-140.2,\n\t\t\t-126.4,\n\t\t\t-142.8,\n\t\t\t-125.7,\n\t\t\t-141,\n\t\t\t-126.6,\n\t\t\t-138.7,\n\t\t\t-113.4,\n\t\t\t-138,\n\t\t\t-115.7,\n\t\t\t-139.5,\n\t\t\t-114.3,\n\t\t\t-141,\n\t\t\t-121.3,\n\t\t\t-141.6,\n\t\t\t-123.3,\n\t\t\t-140.3,\n\t\t\t-124.8,\n\t\t\t-146.8,\n\t\t\t-124.5,\n\t\t\t-147.9,\n\t\t\t-126.4,\n\t\t\t-147.7,\n\t\t\t-127,\n\t\t\t-146.8,\n\t\t\t-127,\n\t\t\t-144.9,\n\t\t\t-127.5,\n\t\t\t-144.9,\n\t\t\t-128.9,\n\t\t\t-148.6,\n\t\t\t-131.6,\n\t\t\t-150.3,\n\t\t\t-137.9,\n\t\t\t-151.6,\n\t\t\t-143.9,\n\t\t\t-154.9,\n\t\t\t-147.1,\n\t\t\t-156.1,\n\t\t\t-146.6,\n\t\t\t-157.7,\n\t\t\t-149.8,\n\t\t\t-159.3,\n\t\t\t-149.8,\n\t\t\t-159.9,\n\t\t\t-148.5,\n\t\t\t-160.1,\n\t\t\t-147.3,\n\t\t\t-162.4,\n\t\t\t-146.4,\n\t\t\t-163,\n\t\t\t-146.3,\n\t\t\t-164.9,\n\t\t\t-155.7,\n\t\t\t-167.6,\n\t\t\t-155.7,\n\t\t\t-168.3,\n\t\t\t-154.8,\n\t\t\t-168.3,\n\t\t\t-155.2,\n\t\t\t-171.8,\n\t\t\t-152.1,\n\t\t\t-172.1,\n\t\t\t-151.6,\n\t\t\t-173.6,\n\t\t\t-152.4,\n\t\t\t-176.8,\n\t\t\t-152.1,\n\t\t\t-178.2,\n\t\t\t-147.4,\n\t\t\t-174.5,\n\t\t\t-145,\n\t\t\t-171.3,\n\t\t\t-142.3,\n\t\t\t-172.6,\n\t\t\t-141.2,\n\t\t\t-175.4,\n\t\t\t-141.8,\n\t\t\t-178.1,\n\t\t\t-144.3,\n\t\t\t-178.9,\n\t\t\t-138,\n\t\t\t-182,\n\t\t\t-138.4,\n\t\t\t-183.4,\n\t\t\t-135,\n\t\t\t-181.8,\n\t\t\t-132,\n\t\t\t-178.9,\n\t\t\t-130.5,\n\t\t\t-179.7,\n\t\t\t-126.1,\n\t\t\t-176.6,\n\t\t\t-122.9,\n\t\t\t-175.8,\n\t\t\t-121.6,\n\t\t\t-174.3,\n\t\t\t-120.7,\n\t\t\t-174.3,\n\t\t\t-121.1,\n\t\t\t-176.6,\n\t\t\t-120.4,\n\t\t\t-176.4,\n\t\t\t-118.4,\n\t\t\t-175.1,\n\t\t\t-118.8,\n\t\t\t-174.3,\n\t\t\t-115.6,\n\t\t\t-173.9,\n\t\t\t-113.4,\n\t\t\t-171.7,\n\t\t\t-106.4,\n\t\t\t-169,\n\t\t\t-101.6,\n\t\t\t-168.3,\n\t\t\t-101.6,\n\t\t\t-169.2,\n\t\t\t-107.6,\n\t\t\t-172.2,\n\t\t\t-109.7,\n\t\t\t-172.8,\n\t\t\t-112,\n\t\t\t-172.8,\n\t\t\t-113.1,\n\t\t\t-174.8,\n\t\t\t-117,\n\t\t\t-178.2,\n\t\t\t-117,\n\t\t\t-178.9,\n\t\t\t-115.2,\n\t\t\t-179.6,\n\t\t\t-115.2,\n\t\t\t-180.4,\n\t\t\t-117.7,\n\t\t\t-180.5,\n\t\t\t-119.8,\n\t\t\t-179.6,\n\t\t\t-119.9,\n\t\t\t-181.5,\n\t\t\t-120.7,\n\t\t\t-182.6,\n\t\t\t-122.9,\n\t\t\t-183.4,\n\t\t\t-122,\n\t\t\t-181.2,\n\t\t\t-126.1,\n\t\t\t-182.8,\n\t\t\t-128.1,\n\t\t\t-184.4,\n\t\t\t-129.3,\n\t\t\t-186.4,\n\t\t\t-126.6,\n\t\t\t-186.4,\n\t\t\t-126.6,\n\t\t\t-187.3,\n\t\t\t-129.7,\n\t\t\t-190.4,\n\t\t\t-131.1,\n\t\t\t-191,\n\t\t\t-135.3,\n\t\t\t-191.1,\n\t\t\t-136.1,\n\t\t\t-192.5,\n\t\t\t-134.1,\n\t\t\t-192.7,\n\t\t\t-133.4,\n\t\t\t-195.6,\n\t\t\t-139.3,\n\t\t\t-197.8,\n\t\t\t-140.2,\n\t\t\t-200.1,\n\t\t\t-139.8,\n\t\t\t-200.9,\n\t\t\t-137.1,\n\t\t\t-199,\n\t\t\t-134.1,\n\t\t\t-198.6,\n\t\t\t-131.3,\n\t\t\t-199.4,\n\t\t\t-129.7,\n\t\t\t-198.1,\n\t\t\t-125.6,\n\t\t\t-196.7,\n\t\t\t-124.8,\n\t\t\t-194.9,\n\t\t\t-121.1,\n\t\t\t-192.8,\n\t\t\t-112.7,\n\t\t\t-191.6,\n\t\t\t-110.4,\n\t\t\t-190.6,\n\t\t\t-104.7,\n\t\t\t-189.6,\n\t\t\t-100.6,\n\t\t\t-186.1,\n\t\t\t-99.3,\n\t\t\t-185.8,\n\t\t\t-100,\n\t\t\t-184.6,\n\t\t\t-100.2,\n\t\t\t-181.2,\n\t\t\t-97.9,\n\t\t\t-182.7,\n\t\t\t-97.9,\n\t\t\t-185,\n\t\t\t-95.6,\n\t\t\t-186.4,\n\t\t\t-93.4,\n\t\t\t-185.2,\n\t\t\t-92.5,\n\t\t\t-185.8,\n\t\t\t-93.5,\n\t\t\t-189.7,\n\t\t\t-100.3,\n\t\t\t-192.6,\n\t\t\t-102.5,\n\t\t\t-192.9,\n\t\t\t-103.4,\n\t\t\t-194.3,\n\t\t\t-114.2,\n\t\t\t-199.9,\n\t\t\t-115.2,\n\t\t\t-202,\n\t\t\t-119.3,\n\t\t\t-204.6,\n\t\t\t-115.2,\n\t\t\t-204.3,\n\t\t\t-102.3,\n\t\t\t-197.5,\n\t\t\t-99.3,\n\t\t\t-197.8,\n\t\t\t-104.3,\n\t\t\t-200.9,\n\t\t\t-108.4,\n\t\t\t-205.4,\n\t\t\t-112.2,\n\t\t\t-206.8,\n\t\t\t-115.7,\n\t\t\t-210.1,\n\t\t\t-118.4,\n\t\t\t-211.5,\n\t\t\t-117,\n\t\t\t-213,\n\t\t\t-117.5,\n\t\t\t-216.1,\n\t\t\t-117,\n\t\t\t-215.3,\n\t\t\t-116.6,\n\t\t\t-216.1,\n\t\t\t-114.7,\n\t\t\t-214.3,\n\t\t\t-114.1,\n\t\t\t-214,\n\t\t\t-114.3,\n\t\t\t-215.3,\n\t\t\t-109.7,\n\t\t\t-213,\n\t\t\t-110.7,\n\t\t\t-212.2,\n\t\t\t-106.6,\n\t\t\t-207.9,\n\t\t\t-104.8,\n\t\t\t-209.6,\n\t\t\t-104.8,\n\t\t\t-210.7,\n\t\t\t-103.6,\n\t\t\t-210.8,\n\t\t\t-101.6,\n\t\t\t-209.2,\n\t\t\t-100,\n\t\t\t-209.2,\n\t\t\t-99.4,\n\t\t\t-207.3,\n\t\t\t-94.7,\n\t\t\t-206.2,\n\t\t\t-92.8,\n\t\t\t-205.3,\n\t\t\t-93.4,\n\t\t\t-203.9,\n\t\t\t-92.5,\n\t\t\t-203.5,\n\t\t\t-91.3,\n\t\t\t-203.7,\n\t\t\t-89.7,\n\t\t\t-205,\n\t\t\t-90.5,\n\t\t\t-208.9,\n\t\t\t-89.7,\n\t\t\t-210,\n\t\t\t-87.5,\n\t\t\t-207.3,\n\t\t\t-84.8,\n\t\t\t-205.4,\n\t\t\t-84.3,\n\t\t\t-206.2,\n\t\t\t-87.5,\n\t\t\t-209.2,\n\t\t\t-87.8,\n\t\t\t-211,\n\t\t\t-86.1,\n\t\t\t-210,\n\t\t\t-87,\n\t\t\t-211.9,\n\t\t\t-88.4,\n\t\t\t-213,\n\t\t\t-85.3,\n\t\t\t-212.6,\n\t\t\t-83.1,\n\t\t\t-211.3,\n\t\t\t-82.9,\n\t\t\t-210.4,\n\t\t\t-81.1,\n\t\t\t-209.2,\n\t\t\t-80.6,\n\t\t\t-211.5,\n\t\t\t-79.8,\n\t\t\t-211.1,\n\t\t\t-77.9,\n\t\t\t-211.5,\n\t\t\t-76.6,\n\t\t\t-209.2,\n\t\t\t-75.6,\n\t\t\t-209.2,\n\t\t\t-75.8,\n\t\t\t-207.4,\n\t\t\t-72.6,\n\t\t\t-207.4,\n\t\t\t-70.7,\n\t\t\t-205.9,\n\t\t\t-70.2,\n\t\t\t-204.6,\n\t\t\t-71.1,\n\t\t\t-203.9,\n\t\t\t-71.1,\n\t\t\t-203.1,\n\t\t\t-67.9,\n\t\t\t-204.6,\n\t\t\t-62.5,\n\t\t\t-203.1,\n\t\t\t-59.9,\n\t\t\t-204.6,\n\t\t\t-58.6,\n\t\t\t-206.2,\n\t\t\t-58.3,\n\t\t\t-205,\n\t\t\t-55.6,\n\t\t\t-203.9,\n\t\t\t-53.4,\n\t\t\t-199.5,\n\t\t\t-52,\n\t\t\t-200.1,\n\t\t\t-51.5,\n\t\t\t-199.6,\n\t\t\t-47.5,\n\t\t\t-200.1,\n\t\t\t-46,\n\t\t\t-201.7,\n\t\t\t-45.4,\n\t\t\t-201.3,\n\t\t\t-42.9,\n\t\t\t-201.6,\n\t\t\t-43.1,\n\t\t\t-199.3,\n\t\t\t-42,\n\t\t\t-197.8,\n\t\t\t-43.3,\n\t\t\t-197.1,\n\t\t\t-42.5,\n\t\t\t-196.4,\n\t\t\t-42.5,\n\t\t\t-195.6,\n\t\t\t-44.9,\n\t\t\t-195.6,\n\t\t\t-47,\n\t\t\t-194.1,\n\t\t\t-39,\n\t\t\t-194.9,\n\t\t\t-34.7,\n\t\t\t-194.1,\n\t\t\t-32,\n\t\t\t-197.8,\n\t\t\t-32.5,\n\t\t\t-193.7,\n\t\t\t-31.3,\n\t\t\t-190.4,\n\t\t\t-30.3,\n\t\t\t-189.9,\n\t\t\t-29.7,\n\t\t\t-188.8,\n\t\t\t-30,\n\t\t\t-187.9,\n\t\t\t-31,\n\t\t\t-188.8,\n\t\t\t-33.1,\n\t\t\t-188.4,\n\t\t\t-33.7,\n\t\t\t-188,\n\t\t\t-33.7,\n\t\t\t-187.3,\n\t\t\t-30.7,\n\t\t\t-187.3,\n\t\t\t-29.3,\n\t\t\t-188.1,\n\t\t\t-28.8,\n\t\t\t-190.4,\n\t\t\t-27.8,\n\t\t\t-189.7,\n\t\t\t-27.5,\n\t\t\t-188.5,\n\t\t\t-27.8,\n\t\t\t-187.2,\n\t\t\t-28.8,\n\t\t\t-186.4,\n\t\t\t-26.9,\n\t\t\t-186.6,\n\t\t\t-25.6,\n\t\t\t-188.8,\n\t\t\t-23.9,\n\t\t\t-186.9,\n\t\t\t-19.6,\n\t\t\t-185.2,\n\t\t\t-16.4,\n\t\t\t-180.7,\n\t\t\t-16.9,\n\t\t\t-178.9,\n\t\t\t-15.6,\n\t\t\t-176.6,\n\t\t\t-17.9,\n\t\t\t-176.6,\n\t\t\t-16.1,\n\t\t\t-175.8,\n\t\t\t-16.9,\n\t\t\t-175.1,\n\t\t\t-16.5,\n\t\t\t-173.6,\n\t\t\t-19.7,\n\t\t\t-173.6,\n\t\t\t-18.5,\n\t\t\t-170.1,\n\t\t\t-20.2,\n\t\t\t-168.8,\n\t\t\t-25.2,\n\t\t\t-167.6,\n\t\t\t-23.8,\n\t\t\t-166.8,\n\t\t\t-19.7,\n\t\t\t-166.7,\n\t\t\t-16.1,\n\t\t\t-165.5,\n\t\t\t-15.6,\n\t\t\t-166.7,\n\t\t\t-12.8,\n\t\t\t-166.6,\n\t\t\t-10.6,\n\t\t\t-167.6,\n\t\t\t-9.5,\n\t\t\t-166.4,\n\t\t\t-9.1,\n\t\t\t-166.6,\n\t\t\t-8.8,\n\t\t\t-167.6,\n\t\t\t-10.1,\n\t\t\t-169.8,\n\t\t\t-8.3,\n\t\t\t-170.6,\n\t\t\t-10.1,\n\t\t\t-172.3,\n\t\t\t-12,\n\t\t\t-172.8,\n\t\t\t-11.5,\n\t\t\t-174.3,\n\t\t\t-13.1,\n\t\t\t-175.4,\n\t\t\t-13,\n\t\t\t-176.6,\n\t\t\t-5.6,\n\t\t\t-176.4,\n\t\t\t2,\n\t\t\t-174.3,\n\t\t\t3,\n\t\t\t-173.6,\n\t\t\t1.8,\n\t\t\t-172.1,\n\t\t\t2.8,\n\t\t\t-170.7,\n\t\t\t10.5,\n\t\t\t-167.9,\n\t\t\t11.2,\n\t\t\t-166.7,\n\t\t\t8.5,\n\t\t\t-164.5,\n\t\t\t9.9,\n\t\t\t-164.5,\n\t\t\t12,\n\t\t\t-162.6,\n\t\t\t12.8,\n\t\t\t-161.1,\n\t\t\t13.3,\n\t\t\t-157,\n\t\t\t14,\n\t\t\t-157.5,\n\t\t\t14.6,\n\t\t\t-159.9,\n\t\t\t21.7,\n\t\t\t-160.9,\n\t\t\t22.6,\n\t\t\t-157.7,\n\t\t\t24,\n\t\t\t-157,\n\t\t\t27.5,\n\t\t\t-157.4,\n\t\t\t30.5,\n\t\t\t-155.8,\n\t\t\t31,\n\t\t\t-151.6,\n\t\t\t33.1,\n\t\t\t-150.1,\n\t\t\t33.5,\n\t\t\t-148.7,\n\t\t\t33.4,\n\t\t\t-148.2,\n\t\t\t29.7,\n\t\t\t-146.9,\n\t\t\t28.7,\n\t\t\t-147,\n\t\t\t28.1,\n\t\t\t-147.9,\n\t\t\t27.8,\n\t\t\t-146.1,\n\t\t\t29.9,\n\t\t\t-143.6,\n\t\t\t31,\n\t\t\t-143.3,\n\t\t\t32.2,\n\t\t\t-145.5,\n\t\t\t32.8,\n\t\t\t-145.4,\n\t\t\t33.8,\n\t\t\t-144,\n\t\t\t36.2,\n\t\t\t-143.4,\n\t\t\t40.8,\n\t\t\t-140.9,\n\t\t\t53.5,\n\t\t\t-139.5,\n\t\t\t57.3,\n\t\t\t-140.1,\n\t\t\t58.6,\n\t\t\t-139.5,\n\t\t\t59.8,\n\t\t\t-137.5,\n\t\t\t60.6,\n\t\t\t-137.2,\n\t\t\t62.7,\n\t\t\t-138,\n\t\t\t61.7,\n\t\t\t-136.5,\n\t\t\t61.7,\n\t\t\t-135.8,\n\t\t\t62.6,\n\t\t\t-135.7,\n\t\t\t64.9,\n\t\t\t-136.5,\n\t\t\t62.7,\n\t\t\t-140.3,\n\t\t\t68.5,\n\t\t\t-139.5,\n\t\t\t72.7,\n\t\t\t-135,\n\t\t\t72.7,\n\t\t\t-134.2,\n\t\t\t71,\n\t\t\t-134.2,\n\t\t\t71.7,\n\t\t\t-130.4,\n\t\t\t70.4,\n\t\t\t-127,\n\t\t\t69.9,\n\t\t\t-122.8,\n\t\t\t70.7,\n\t\t\t-124,\n\t\t\t71.7,\n\t\t\t-127.4,\n\t\t\t73.9,\n\t\t\t-129.5,\n\t\t\t74.9,\n\t\t\t-131.3,\n\t\t\t76.1,\n\t\t\t-135.8,\n\t\t\t76.1,\n\t\t\t-136.9,\n\t\t\t73.7,\n\t\t\t-139,\n\t\t\t73.1,\n\t\t\t-140.3,\n\t\t\t74.2,\n\t\t\t-141,\n\t\t\t76.5,\n\t\t\t-138,\n\t\t\t81.3,\n\t\t\t-135,\n\t\t\t80.8,\n\t\t\t-134.2,\n\t\t\t81.7,\n\t\t\t-134.2,\n\t\t\t81.7,\n\t\t\t-133.4,\n\t\t\t80.8,\n\t\t\t-133.4,\n\t\t\t81.7,\n\t\t\t-130.4,\n\t\t\t80.4,\n\t\t\t-131.3,\n\t\t\t80.8,\n\t\t\t-128.2,\n\t\t\t82.1,\n\t\t\t-128.8,\n\t\t\t83.4,\n\t\t\t-128.2,\n\t\t\t85.4,\n\t\t\t-125.9,\n\t\t\t84.6,\n\t\t\t-129,\n\t\t\t82.6,\n\t\t\t-130.4,\n\t\t\t82.6,\n\t\t\t-131.3,\n\t\t\t83.9,\n\t\t\t-131.6,\n\t\t\t88.6,\n\t\t\t-130.8,\n\t\t\t93.5,\n\t\t\t-132.4,\n\t\t\t96.4,\n\t\t\t-134.9,\n\t\t\t97.6,\n\t\t\t-135.1,\n\t\t\t100.4,\n\t\t\t-133.4,\n\t\t\t103.6,\n\t\t\t-132.7,\n\t\t\t104.7,\n\t\t\t-131.9,\n\t\t\t106.3,\n\t\t\t-132.7,\n\t\t\t104.9,\n\t\t\t-132.7,\n\t\t\t104.9,\n\t\t\t-133.4,\n\t\t\t107.8,\n\t\t\t-133.4,\n\t\t\t109.5,\n\t\t\t-131.5,\n\t\t\t110.7,\n\t\t\t-131.4,\n\t\t\t109.5,\n\t\t\t-134.3,\n\t\t\t110.4,\n\t\t\t-135,\n\t\t\t111.5,\n\t\t\t-134.9,\n\t\t\t113,\n\t\t\t-133,\n\t\t\t114.9,\n\t\t\t-128.2,\n\t\t\t111.5,\n\t\t\t-124.7,\n\t\t\t110.2,\n\t\t\t-122.1,\n\t\t\t111.3,\n\t\t\t-119.1,\n\t\t\t108.9,\n\t\t\t-122.8,\n\t\t\t107.9,\n\t\t\t-120.8,\n\t\t\t105.9,\n\t\t\t-120.3,\n\t\t\t106.3,\n\t\t\t-119.1,\n\t\t\t105.8,\n\t\t\t-117.7,\n\t\t\t104.1,\n\t\t\t-115.6,\n\t\t\t103.1,\n\t\t\t-115.2,\n\t\t\t103.1,\n\t\t\t-114.5,\n\t\t\t105.3,\n\t\t\t-113,\n\t\t\t104.9,\n\t\t\t-115,\n\t\t\t106.3,\n\t\t\t-115.4,\n\t\t\t110.2,\n\t\t\t-115.1,\n\t\t\t111.8,\n\t\t\t-116.7,\n\t\t\t111.8,\n\t\t\t-111.3,\n\t\t\t112.4,\n\t\t\t-109.6,\n\t\t\t115,\n\t\t\t-105.3,\n\t\t\t117.3,\n\t\t\t-103.1,\n\t\t\t122.2,\n\t\t\t-94.4,\n\t\t\t122.4,\n\t\t\t-89.7,\n\t\t\t121.4,\n\t\t\t-83.2,\n\t\t\t121.8,\n\t\t\t-81.2,\n\t\t\t126.2,\n\t\t\t-72.3,\n\t\t\t125.8,\n\t\t\t-69.8,\n\t\t\t127.4,\n\t\t\t-64.6,\n\t\t\t128.9,\n\t\t\t-61.9,\n\t\t\t131.8,\n\t\t\t-59.2,\n\t\t\t131.3,\n\t\t\t-58.4,\n\t\t\t133.5,\n\t\t\t-53.1,\n\t\t\t134.6,\n\t\t\t-51.9,\n\t\t\t135.3,\n\t\t\t-49.8,\n\t\t\t136.5,\n\t\t\t-48.9,\n\t\t\t132.6,\n\t\t\t-43.2,\n\t\t\t133.8,\n\t\t\t-37.1,\n\t\t\t133.6,\n\t\t\t-32.6,\n\t\t\t134,\n\t\t\t-32,\n\t\t\t130.9,\n\t\t\t-25.9,\n\t\t\t131.3,\n\t\t\t-23.9,\n\t\t\t129.1,\n\t\t\t-18.9,\n\t\t\t129.1,\n\t\t\t-14.9,\n\t\t\t129.6,\n\t\t\t-12.7,\n\t\t\t125.8,\n\t\t\t-11.1,\n\t\t\t121.6,\n\t\t\t-5.8,\n\t\t\t121.8,\n\t\t\t-4.6,\n\t\t\t127.3,\n\t\t\t-.9,\n\t\t\t127.9,\n\t\t\t-.8,\n\t\t\t131.1,\n\t\t\t-3.7,\n\t\t\t131.9,\n\t\t\t-3.6,\n\t\t\t132.7,\n\t\t\t-1.6,\n\t\t\t131.5,\n\t\t\t-.8,\n\t\t\t127.7,\n\t\t\t-.1,\n\t\t\t128.6,\n\t\t\t1.4,\n\t\t\t127.4,\n\t\t\t4.7,\n\t\t\t123.1,\n\t\t\t6.8,\n\t\t\t125.6,\n\t\t\t8.1,\n\t\t\t126.7,\n\t\t\t7.9,\n\t\t\t127.2,\n\t\t\t6.8\n\t\t],\n\t\t[\n\t\t\t-127,\n\t\t\t62.1,\n\t\t\t-126.4,\n\t\t\t63.4,\n\t\t\t-126.6,\n\t\t\t65.2,\n\t\t\t-125.2,\n\t\t\t65.2,\n\t\t\t-126.6,\n\t\t\t68.1,\n\t\t\t-127.8,\n\t\t\t68.7,\n\t\t\t-133.6,\n\t\t\t68.9,\n\t\t\t-136.7,\n\t\t\t66.8,\n\t\t\t-138.3,\n\t\t\t66.4,\n\t\t\t-139.8,\n\t\t\t68.1,\n\t\t\t-140.9,\n\t\t\t67.3,\n\t\t\t-142,\n\t\t\t68.1,\n\t\t\t-142.8,\n\t\t\t65.9,\n\t\t\t-143.9,\n\t\t\t64.8,\n\t\t\t-147.1,\n\t\t\t64.3,\n\t\t\t-147.1,\n\t\t\t63.6,\n\t\t\t-140.2,\n\t\t\t62.1,\n\t\t\t-135.2,\n\t\t\t63.2,\n\t\t\t-133.8,\n\t\t\t62.8,\n\t\t\t-133.1,\n\t\t\t61.8,\n\t\t\t-133.1,\n\t\t\t56.8,\n\t\t\t-130.6,\n\t\t\t56.7,\n\t\t\t-126.6,\n\t\t\t53.1,\n\t\t\t-125.2,\n\t\t\t54.5,\n\t\t\t-125.3,\n\t\t\t57.9,\n\t\t\t-124.3,\n\t\t\t61.2,\n\t\t\t-125.5,\n\t\t\t61.9,\n\t\t\t-127,\n\t\t\t61.2\n\t\t],\n\t\t[\n\t\t\t-107.6,\n\t\t\t-32.2,\n\t\t\t-107.1,\n\t\t\t-30.6,\n\t\t\t-107.6,\n\t\t\t-29.8,\n\t\t\t-109.3,\n\t\t\t-29.1,\n\t\t\t-113,\n\t\t\t-29.3,\n\t\t\t-114.7,\n\t\t\t-28,\n\t\t\t-116.2,\n\t\t\t-28,\n\t\t\t-116.9,\n\t\t\t-29,\n\t\t\t-114.7,\n\t\t\t-30.6,\n\t\t\t-106.9,\n\t\t\t-34.2,\n\t\t\t-105.7,\n\t\t\t-33.9,\n\t\t\t-105.6,\n\t\t\t-33\n\t\t],\n\t\t[\n\t\t\t-107.6,\n\t\t\t-13.2,\n\t\t\t-109.4,\n\t\t\t-13.2,\n\t\t\t-110.8,\n\t\t\t-14.8,\n\t\t\t-110.2,\n\t\t\t-17.8,\n\t\t\t-109,\n\t\t\t-19.2,\n\t\t\t-106.7,\n\t\t\t-18.5,\n\t\t\t-105.4,\n\t\t\t-16.5\n\t\t],\n\t\t[\n\t\t\t-150.5,\n\t\t\t-163.1,\n\t\t\t-152.8,\n\t\t\t-162.4,\n\t\t\t-156.8,\n\t\t\t-165.4,\n\t\t\t-157.9,\n\t\t\t-167,\n\t\t\t-157.7,\n\t\t\t-167.8,\n\t\t\t-150.8,\n\t\t\t-165.5,\n\t\t\t-149.2,\n\t\t\t-163.8,\n\t\t\t-149.4,\n\t\t\t-163.1\n\t\t],\n\t\t[\n\t\t\t-31.9,\n\t\t\t178.5,\n\t\t\t-32.8,\n\t\t\t178.6,\n\t\t\t-33.3,\n\t\t\t178,\n\t\t\t-32.9,\n\t\t\t177.2,\n\t\t\t-34.2,\n\t\t\t176.4,\n\t\t\t-34.2,\n\t\t\t174.2,\n\t\t\t-33.1,\n\t\t\t173.4,\n\t\t\t-31.7,\n\t\t\t173.3,\n\t\t\t-28.8,\n\t\t\t174.2,\n\t\t\t-29.6,\n\t\t\t177\n\t\t],\n\t\t[\n\t\t\t-117.7,\n\t\t\t-194.7,\n\t\t\t-121.6,\n\t\t\t-194.5,\n\t\t\t-123.8,\n\t\t\t-195.8,\n\t\t\t-124,\n\t\t\t-196.9,\n\t\t\t-122.3,\n\t\t\t-197.8,\n\t\t\t-117,\n\t\t\t-196,\n\t\t\t-116.1,\n\t\t\t-195\n\t\t],\n\t\t[\n\t\t\t-127.9,\n\t\t\t46.8,\n\t\t\t-128.5,\n\t\t\t47,\n\t\t\t-129.7,\n\t\t\t45.8,\n\t\t\t-132.7,\n\t\t\t44.6,\n\t\t\t-132.7,\n\t\t\t43.2,\n\t\t\t-128,\n\t\t\t43.4,\n\t\t\t-126.8,\n\t\t\t44,\n\t\t\t-126,\n\t\t\t45.1\n\t\t],\n\t\t[\n\t\t\t119.5,\n\t\t\t211.2,\n\t\t\t117.2,\n\t\t\t209.8,\n\t\t\t122.1,\n\t\t\t209.6,\n\t\t\t123.6,\n\t\t\t208.3,\n\t\t\t123.1,\n\t\t\t206,\n\t\t\t124.2,\n\t\t\t207.9,\n\t\t\t124.5,\n\t\t\t210.5\n\t\t]\n\t], Ar = {\n\t\tdublin: [118.8, -5.6],\n\t\tcork: [-28.2, -166],\n\t\tgalway: [-66.8, -14.3],\n\t\twicklow: [133.1, -46.4],\n\t\tkildare: [75.7, -26.7],\n\t\tnavan: [90.8, 28],\n\t\tdrogheda: [112.4, 35.2]\n\t};\n})), Mr = /* @__PURE__ */ n({\n\tdefault: () => Nr,\n\tdeviation: () => mi,\n\tflatten: () => gi,\n\trefine: () => _i\n});\nfunction Nr(e, t, n = 2) {\n\tlet r = t && t.length, i = r ? t[0] * n : e.length;\n\tSi.size && Si.clear();\n\tlet a = Pr(e, 0, i, n, !0), o = [];\n\tif (!a || a.next === a.prev) return o;\n\tlet s = 0, c = 0, l = 0;\n\tif (r && (a = Vr(e, t, a, n)), e.length > 80 * n) {\n\t\ts = e[0], c = e[1];\n\t\tlet t = s, r = c;\n\t\tfor (let a = n; a < i; a += n) {\n\t\t\tlet n = e[a], i = e[a + 1];\n\t\t\tn < s && (s = n), i < c && (c = i), n > t && (t = n), i > r && (r = i);\n\t\t}\n\t\tl = Math.max(t - s, r - c), l = l === 0 ? 0 : 32767 / l;\n\t}\n\treturn Ir(a, o, s, c, l), o;\n}\nfunction Pr(e, t, n, r, i) {\n\tlet a = null;\n\tif (i === hi(e, t, n, r) > 0) for (let i = t; i < n; i += r) a = di(i / r | 0, e[i], e[i + 1], a);\n\telse for (let i = n - r; i >= t; i -= r) a = di(i / r | 0, e[i], e[i + 1], a);\n\treturn a && ii(a, a.next) && (fi(a), a = a.next), a;\n}\nfunction Fr(e, t = e) {\n\tlet n = t === e, r = e, i;\n\tdo\n\t\ti = !1, r !== r.next && (Si.size === 0 || !Si.has(r)) && (ii(r, r.next) || K(r.prev, r, r.next) === 0) ? ((n || r === t) && (t = r.prev), Ci = !0, fi(r), r = r.prev, i = !0) : (n || r !== t) && (r = r.next, i = !n);\n\twhile (i || r !== t);\n\treturn t;\n}\nfunction Ir(e, t, n, r, i) {\n\ti && Zr(e, n, r, i);\n\tlet a = e, o = !1;\n\tfor (; e.prev !== e.next;) {\n\t\tlet s = e.prev, c = e.next;\n\t\tif (K(s, e, c) < 0 && (i ? Rr(e, n, r, i) : Lr(e))) t.push(s.i, e.i, c.i), fi(e), e = c, a = c;\n\t\telse if (e = c, e === a) {\n\t\t\tif (Ci = !1, e = Fr(e), Ci) {\n\t\t\t\ta = e;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!o) {\n\t\t\t\te = zr(e, t), a = e, o = !0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tBr(e, t, n, r, i);\n\t\t\tbreak;\n\t\t}\n\t}\n}\nfunction Lr(e) {\n\tlet t = e.prev, n = e, r = e.next, i = t.x, a = n.x, o = r.x, s = t.y, c = n.y, l = r.y, u = Math.min(i, a, o), d = Math.min(s, c, l), f = Math.max(i, a, o), p = Math.max(s, c, l), m = r.next;\n\tfor (; m !== t;) {\n\t\tif (m.x >= u && m.x <= f && m.y >= d && m.y <= p && (i !== m.x || s !== m.y) && ni(i, s, a, c, o, l, m.x, m.y) && K(m.prev, m, m.next) >= 0) return !1;\n\t\tm = m.next;\n\t}\n\treturn !0;\n}\nfunction Rr(e, t, n, r) {\n\tlet i = e.prev, a = e, o = e.next, s = i.x, c = a.x, l = o.x, u = i.y, d = a.y, f = o.y, p = Math.min(s, c, l), m = Math.min(u, d, f), h = Math.max(s, c, l), g = Math.max(u, d, f), _ = ei(p, m, t, n, r), v = ei(h, g, t, n, r), y = e.prevZ;\n\tfor (; y && y.z >= _;) {\n\t\tif (y.x >= p && y.x <= h && y.y >= m && y.y <= g && y !== o && (s !== y.x || u !== y.y) && ni(s, u, c, d, l, f, y.x, y.y) && K(y.prev, y, y.next) >= 0) return !1;\n\t\ty = y.prevZ;\n\t}\n\tlet b = e.nextZ;\n\tfor (; b && b.z <= v;) {\n\t\tif (b.x >= p && b.x <= h && b.y >= m && b.y <= g && b !== o && (s !== b.x || u !== b.y) && ni(s, u, c, d, l, f, b.x, b.y) && K(b.prev, b, b.next) >= 0) return !1;\n\t\tb = b.nextZ;\n\t}\n\treturn !0;\n}\nfunction zr(e, t) {\n\tlet n = e, r = !1;\n\tdo {\n\t\tlet i = n.prev, a = n.next.next;\n\t\tai(i, n, n.next, a, !1) && ci(i, a) && ci(a, i) && (t.push(i.i, n.i, a.i), fi(n), fi(n.next), n = e = a, r = !0), n = n.next;\n\t} while (n !== e);\n\treturn r ? Fr(n) : n;\n}\nfunction Br(e, t, n, r, i) {\n\tlet a = e;\n\tdo {\n\t\tlet e = a.next.next;\n\t\tfor (; e !== a.prev;) {\n\t\t\tif (a.i !== e.i && ri(a, e)) {\n\t\t\t\tlet o = ui(a, e);\n\t\t\t\ta = Fr(a, a.next), o = Fr(o, o.next), Ir(a, t, n, r, i), Ir(o, t, n, r, i);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\te = e.next;\n\t\t}\n\t\ta = a.next;\n\t} while (a !== e);\n}\nfunction Vr(e, t, n, r) {\n\tlet i = [];\n\tfor (let n = 0, a = t.length; n < a; n++) {\n\t\tlet o = Pr(e, t[n] * r, n < a - 1 ? t[n + 1] * r : e.length, r, !1);\n\t\to === o.next && Si.add(o), i.push(ti(o));\n\t}\n\ti.sort(Hr), Wr(e.length / r, t.length), Gr(n, n), wi = !0;\n\tfor (let e = 0; e < i.length; e++) n = Ur(i[e], n);\n\treturn wi = !1, Fr(n);\n}\nfunction Hr(e, t) {\n\treturn e.x - t.x || e.y - t.y || (e.next.y - e.y) / (e.next.x - e.x) - (t.next.y - t.y) / (t.next.x - t.x);\n}\nfunction Ur(e, t) {\n\tlet n = Yr(e, t);\n\tif (!n) return t;\n\tlet r = ui(n, e), i = r.next;\n\treturn Gr(n, i.next), Fr(r, r.next), Fr(n, n.next);\n}\nfunction Wr(e, t) {\n\tlet n = Math.ceil((e + 2 * t) / Ti) + t + 2;\n\tq.length < n * 4 && (q = new Float64Array(n * 4)), Ei = 0;\n}\nfunction Gr(e, t) {\n\tlet n = e;\n\tdo {\n\t\tlet e = Ei++;\n\t\tDi[e] = n;\n\t\tlet r = n.x, i = n.y, a = n.x, o = n.y, s = 0;\n\t\tdo {\n\t\t\tlet t = n.next;\n\t\t\tn.z = e, t.x < r && (r = t.x), t.x > a && (a = t.x), t.y < i && (i = t.y), t.y > o && (o = t.y), n = t;\n\t\t} while (++s < Ti && n !== t);\n\t\tOi[e] = n;\n\t\tlet c = e * 4;\n\t\tq[c] = r, q[c + 1] = i, q[c + 2] = a, q[c + 3] = o;\n\t} while (n !== t);\n}\nfunction Kr(e, t) {\n\tlet n = e.z * 4;\n\tt.x < q[n] && (q[n] = t.x), t.y < q[n + 1] && (q[n + 1] = t.y), t.x > q[n + 2] && (q[n + 2] = t.x), t.y > q[n + 3] && (q[n + 3] = t.y);\n}\nfunction qr(e) {\n\tlet t = Oi[e];\n\tfor (; t.prev.next !== t;) t = t.next;\n\treturn Oi[e] = t, t;\n}\nfunction Jr(e) {\n\tlet t = Di[e];\n\tfor (; t.prev.next !== t;) t = t.next;\n\treturn Di[e] = t, t;\n}\nfunction Yr(e, t) {\n\tlet n = t, r = e.x, i = e.y, a = -Infinity, o;\n\tif (ii(e, n)) return n;\n\tfor (let t = 0, s = 0; t < Ei; t++, s += 4) {\n\t\tif (i < q[s + 1] || i > q[s + 3] || q[s] > r || q[s + 2] <= a) continue;\n\t\tlet c = qr(t);\n\t\tn = Jr(t);\n\t\tdo {\n\t\t\tif (n.prev.next === n) {\n\t\t\t\tif (ii(e, n.next)) return n.next;\n\t\t\t\tif (i <= n.y && i >= n.next.y && n.next.y !== n.y) {\n\t\t\t\t\tlet e = n.x + (i - n.y) * (n.next.x - n.x) / (n.next.y - n.y);\n\t\t\t\t\tif (e <= r && e > a && (a = e, o = n.x < n.next.x ? n : n.next, e === r)) return o;\n\t\t\t\t}\n\t\t\t}\n\t\t\tn = n.next;\n\t\t} while (n !== c);\n\t}\n\tif (!o) return null;\n\tlet s = o.x, c = o.y, l = Math.min(i, c), u = Math.max(i, c), d = Infinity;\n\tfor (let t = 0, f = 0; t < Ei; t++, f += 4) {\n\t\tif (q[f + 2] < s || q[f] > r || q[f + 3] < l || q[f + 1] > u) continue;\n\t\tlet p = qr(t);\n\t\tn = Jr(t);\n\t\tdo {\n\t\t\tif (n.prev.next === n && r >= n.x && n.x >= s && r !== n.x && ni(i < c ? r : a, i, s, c, i < c ? a : r, i, n.x, n.y)) {\n\t\t\t\tlet t = Math.abs(i - n.y) / (r - n.x);\n\t\t\t\t(ci(n, e) || n.y === i && n.next.y === i && n.next.x > r) && (t < d || t === d && (n.x > o.x || n.x === o.x && Xr(o, n))) && (o = n, d = t);\n\t\t\t}\n\t\t\tn = n.next;\n\t\t} while (n !== p);\n\t}\n\treturn o;\n}\nfunction Xr(e, t) {\n\treturn K(e.prev, e, t.prev) < 0 && K(t.next, e, e.next) < 0;\n}\nfunction Zr(e, t, n, r) {\n\tlet i = e, a = 0;\n\tdo\n\t\ti.z = ei(i.x, i.y, t, n, r), J[a++] = i, i = i.next;\n\twhile (i !== e);\n\tQr(a);\n\tlet o = null;\n\tfor (let e = 0; e < a; e++) {\n\t\tlet t = J[e];\n\t\tt.prevZ = o, o && (o.nextZ = t), o = t;\n\t}\n\to.nextZ = null, J.fill(null, 0, a), ki.fill(null, 0, a);\n}\nfunction Qr(e) {\n\tif (e <= 32) for (let t = 1; t < e; t++) {\n\t\tlet e = J[t], n = e.z, r = t - 1;\n\t\tfor (; r >= 0 && J[r].z > n;) J[r + 1] = J[r], r--;\n\t\tJ[r + 1] = e;\n\t}\n\telse {\n\t\tAi.length < e && (Ai = new Uint32Array(e), ji = new Uint32Array(e), ki = Array(e));\n\t\tfor (let t = 0; t < e; t++) Ai[t] = J[t].z;\n\t\t$r(e, J, Ai, ki, ji, 0), $r(e, ki, ji, J, Ai, 8), $r(e, J, Ai, ki, ji, 16), $r(e, ki, ji, J, Ai, 24);\n\t}\n}\nfunction $r(e, t, n, r, i, a) {\n\tMi.fill(0);\n\tfor (let t = 0; t < e; t++) Mi[n[t] >>> a & 255]++;\n\tlet o = 0;\n\tfor (let e = 0; e < 256; e++) {\n\t\tlet t = Mi[e];\n\t\tMi[e] = o, o += t;\n\t}\n\tfor (let o = 0; o < e; o++) {\n\t\tlet e = n[o], s = Mi[e >>> a & 255]++;\n\t\tr[s] = t[o], i[s] = e;\n\t}\n}\nfunction ei(e, t, n, r, i) {\n\treturn e = (e - n) * i | 0, t = (t - r) * i | 0, e = (e | e << 8) & 16711935, e = (e | e << 4) & 252645135, e = (e | e << 2) & 858993459, e = (e | e << 1) & 1431655765, t = (t | t << 8) & 16711935, t = (t | t << 4) & 252645135, t = (t | t << 2) & 858993459, t = (t | t << 1) & 1431655765, e | t << 1;\n}\nfunction ti(e) {\n\tlet t = e, n = e;\n\tdo\n\t\t(t.x < n.x || t.x === n.x && t.y < n.y) && (n = t), t = t.next;\n\twhile (t !== e);\n\treturn n;\n}\nfunction ni(e, t, n, r, i, a, o, s) {\n\treturn (i - o) * (t - s) >= (e - o) * (a - s) && (e - o) * (r - s) >= (n - o) * (t - s) && (n - o) * (a - s) >= (i - o) * (r - s);\n}\nfunction ri(e, t) {\n\tlet n = ii(e, t) && K(e.prev, e, e.next) > 0 && K(t.prev, t, t.next) > 0;\n\treturn e.next.i !== t.i && (n || ci(e, t) && ci(t, e) && (K(e.prev, e, t.prev) !== 0 || K(e, t.prev, t) !== 0)) && !si(e, t) && (n || li(e, t));\n}\nfunction K(e, t, n) {\n\treturn (t.y - e.y) * (n.x - t.x) - (t.x - e.x) * (n.y - t.y);\n}\nfunction ii(e, t) {\n\treturn e.x === t.x && e.y === t.y;\n}\nfunction ai(e, t, n, r, i = !0) {\n\tlet a = K(e, t, n), o = K(e, t, r), s = K(n, r, e), c = K(n, r, t);\n\treturn (a > 0 && o < 0 || a < 0 && o > 0) && (s > 0 && c < 0 || s < 0 && c > 0) ? !0 : i ? !!(a === 0 && oi(e, n, t) || o === 0 && oi(e, r, t) || s === 0 && oi(n, e, r) || c === 0 && oi(n, t, r)) : !1;\n}\nfunction oi(e, t, n) {\n\treturn t.x <= Math.max(e.x, n.x) && t.x >= Math.min(e.x, n.x) && t.y <= Math.max(e.y, n.y) && t.y >= Math.min(e.y, n.y);\n}\nfunction si(e, t) {\n\tlet n = Math.min(e.x, t.x), r = Math.max(e.x, t.x), i = Math.min(e.y, t.y), a = Math.max(e.y, t.y), o = e;\n\tdo {\n\t\tlet s = o.next;\n\t\tif (o.x > r && s.x > r || o.x < n && s.x < n || o.y > a && s.y > a || o.y < i && s.y < i) o = s;\n\t\telse {\n\t\t\tif (o.i !== e.i && s.i !== e.i && o.i !== t.i && s.i !== t.i && ai(o, s, e, t)) return !0;\n\t\t\to = s;\n\t\t}\n\t} while (o !== e);\n\treturn !1;\n}\nfunction ci(e, t) {\n\treturn K(e.prev, e, e.next) < 0 ? K(e, t, e.next) >= 0 && K(e, e.prev, t) >= 0 : K(e, t, e.prev) < 0 || K(e, e.next, t) < 0;\n}\nfunction li(e, t) {\n\tlet n = e, r = !1, i = (e.x + t.x) / 2, a = (e.y + t.y) / 2;\n\tdo {\n\t\tlet e = n.next;\n\t\tn.y > a != e.y > a && i < (e.x - n.x) * (a - n.y) / (e.y - n.y) + n.x && (r = !r), n = e;\n\t} while (n !== e);\n\treturn r;\n}\nfunction ui(e, t) {\n\tlet n = pi(e.i, e.x, e.y), r = pi(t.i, t.x, t.y), i = e.next, a = t.prev;\n\treturn e.next = t, t.prev = e, n.next = i, i.prev = n, r.next = n, n.prev = r, a.next = r, r.prev = a, r;\n}\nfunction di(e, t, n, r) {\n\tlet i = pi(e, t, n);\n\treturn r ? (i.next = r.next, i.prev = r, r.next.prev = i, r.next = i) : (i.prev = i, i.next = i), i;\n}\nfunction fi(e) {\n\te.next.prev = e.prev, e.prev.next = e.next, e.prevZ && (e.prevZ.nextZ = e.nextZ), e.nextZ && (e.nextZ.prevZ = e.prevZ), wi && Kr(e.prev, e.next);\n}\nfunction pi(e, t, n) {\n\treturn {\n\t\ti: e,\n\t\tx: t,\n\t\ty: n,\n\t\tprev: null,\n\t\tnext: null,\n\t\tz: 0,\n\t\tprevZ: null,\n\t\tnextZ: null\n\t};\n}\nfunction mi(e, t, n, r) {\n\tlet i = t && t.length, a = i ? t[0] * n : e.length, o = Math.abs(hi(e, 0, a, n));\n\tif (i) for (let r = 0, i = t.length; r < i; r++) {\n\t\tlet a = t[r] * n, s = r < i - 1 ? t[r + 1] * n : e.length;\n\t\to -= Math.abs(hi(e, a, s, n));\n\t}\n\tlet s = 0;\n\tfor (let t = 0; t < r.length; t += 3) {\n\t\tlet i = r[t] * n, a = r[t + 1] * n, o = r[t + 2] * n;\n\t\ts += Math.abs((e[i] - e[o]) * (e[a + 1] - e[i + 1]) - (e[i] - e[a]) * (e[o + 1] - e[i + 1]));\n\t}\n\tif (s === 0) {\n\t\tlet t = 0;\n\t\tfor (let r = 0; r < e.length; r += n) t = Math.max(t, Math.abs(e[r]), Math.abs(e[r + 1]));\n\t\treturn Math.abs(o) <= e.length * t * t * 2 ** -52 ? 0 : 1;\n\t}\n\treturn Math.abs((s - o) / o);\n}\nfunction hi(e, t, n, r) {\n\tlet i = 0;\n\tfor (let a = t, o = n - r; a < n; a += r) i += (e[o] - e[a]) * (e[a + 1] + e[o + 1]), o = a;\n\treturn i;\n}\nfunction gi(e) {\n\tlet t = [], n = [], r = e[0][0].length, i = 0, a = 0;\n\tfor (let o of e) {\n\t\tfor (let e of o) for (let n = 0; n < r; n++) t.push(e[n]);\n\t\ta && (i += a, n.push(i)), a = o.length;\n\t}\n\treturn {\n\t\tvertices: t,\n\t\tholes: n,\n\t\tdimensions: r\n\t};\n}\nfunction _i(e, t, n = 2) {\n\tlet r = e, i = r.length;\n\tif (i < 6) return;\n\txi(i), Li++, Y.fill(-1, 0, i);\n\tlet a = 0;\n\tfor (let e = 0; e < i; e++) {\n\t\tlet t = r[e], n = r[bi(e)], i = t < n ? t : n, o = t < n ? n : t, s = (Math.imul(i, 2654435761) ^ Math.imul(o, 2246822507)) & Ii;\n\t\tfor (; Fi[s] === Li;) {\n\t\t\tlet t = Pi[s];\n\t\t\tif (t !== -1) {\n\t\t\t\tlet n = r[t], c = r[bi(t)];\n\t\t\t\tif (n === i && c === o || n === o && c === i) {\n\t\t\t\t\tY[e] = t, Y[t] = e, Pi[s] = -1, X[t] = 1, Ni[a++] = t;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\ts = s + 1 & Ii;\n\t\t}\n\t\tFi[s] !== Li && (Pi[s] = e, Fi[s] = Li);\n\t}\n\tfor (; a > 0;) {\n\t\tlet e = Ni[--a];\n\t\tX[e] = 0;\n\t\tlet i = Y[e];\n\t\tif (i === -1) continue;\n\t\tlet o = e - e % 3, s = i - i % 3, c = o + (e + 2) % 3, l = o + (e + 1) % 3, u = s + (i + 2) % 3, d = s + (i + 1) % 3, f = r[c], p = r[e], m = r[l], h = r[u], g = t[f * n], _ = t[f * n + 1], v = t[p * n], y = t[p * n + 1], b = t[m * n], x = t[m * n + 1], S = t[h * n], C = t[h * n + 1];\n\t\tif (!yi(g, _, v, y, b, x, S, C) && vi(g, _, v, y, S, C) > 0 && vi(g, _, S, C, b, x) > 0) {\n\t\t\tr[e] = h, r[i] = f;\n\t\t\tlet t = Y[u], n = Y[c];\n\t\t\tY[e] = t, t !== -1 && (Y[t] = e), Y[i] = n, n !== -1 && (Y[n] = i), Y[c] = u, Y[u] = c, t !== -1 && X[e] === 0 && (X[e] = 1, Ni[a++] = e), n !== -1 && X[i] === 0 && (X[i] = 1, Ni[a++] = i), Y[l] !== -1 && X[l] === 0 && (X[l] = 1, Ni[a++] = l), Y[d] !== -1 && X[d] === 0 && (X[d] = 1, Ni[a++] = d);\n\t\t}\n\t}\n}\nfunction vi(e, t, n, r, i, a) {\n\treturn (n - e) * (a - t) - (r - t) * (i - e);\n}\nfunction yi(e, t, n, r, i, a, o, s) {\n\tlet c = e - o, l = t - s, u = n - o, d = r - s, f = i - o, p = a - s, m = c * c + l * l, h = u * u + d * d, g = f * f + p * p, _ = m + h + g;\n\treturn c * (d * g - h * p) - l * (u * g - h * f) + m * (u * p - d * f) <= 1e-13 * _ * _;\n}\nfunction bi(e) {\n\treturn e - e % 3 + (e + 1) % 3;\n}\nfunction xi(e) {\n\t(!Ni || Ni.length < e) && (Ni = new Int32Array(e)), (!Y || Y.length < e) && (Y = new Int32Array(e)), (!X || X.length < e) && (X = new Uint8Array(e));\n\tlet t = 1;\n\tfor (; t < e * 4;) t <<= 1;\n\t(!Pi || Pi.length < t) && (Pi = new Int32Array(t), Fi = new Uint32Array(t)), Ii = t - 1;\n}\nvar Si, Ci, wi, Ti, q, Ei, Di, Oi, J, ki, Ai, ji, Mi, Ni, Y, Pi, Fi, X, Ii, Li, Ri = t((() => {\n\tSi = /* @__PURE__ */ new Set(), Ci = !1, wi = !1, Ti = 16, q = /* @__PURE__ */ new Float64Array(), Ei = 0, Di = [], Oi = [], J = [], ki = [], Ai = /* @__PURE__ */ new Uint32Array(), ji = /* @__PURE__ */ new Uint32Array(), Mi = /* @__PURE__ */ new Uint32Array(256), Ii = 0, Li = 0;\n})), zi = .01, Bi = .13, Vi = .028, Hi = 2.9, Z = 512, Ui = [\n\t.145,\n\t.533,\n\t.788\n], Wi = [\n\t{\n\t\tkey: \"dublin\",\n\t\tname: \"Dublin\",\n\t\tr: .62,\n\t\tat: 1\n\t},\n\t{\n\t\tkey: \"cork\",\n\t\tname: \"Cork\",\n\t\tr: .46,\n\t\tat: 1.3\n\t},\n\t{\n\t\tkey: \"galway\",\n\t\tname: \"Galway\",\n\t\tr: .46,\n\t\tat: 1.6\n\t}\n], Gi = [\n\t\"drogheda\",\n\t\"navan\",\n\t\"kildare\",\n\t\"wicklow\"\n], Ki = 1.7, qi = [\n\t[\"galway\", \"dublin\"],\n\t[\"dublin\", \"cork\"],\n\t[\"cork\", \"galway\"]\n], Ji = 2.1, Yi = .3, Xi = 3.5, Zi = 1.3, Qi = 78, $i = 54, ea = -7, ta = 3.5, na = [5, 3], ra = (e, t) => [\n\te[0] - t[0],\n\te[1] - t[1],\n\te[2] - t[2]\n], ia = (e, t) => [\n\te[1] * t[2] - e[2] * t[1],\n\te[2] * t[0] - e[0] * t[2],\n\te[0] * t[1] - e[1] * t[0]\n], aa = (e) => {\n\tlet t = Math.hypot(...e) || 1;\n\treturn e.map((e) => e / t);\n}, oa = (e, t) => e[0] * t[0] + e[1] * t[1] + e[2] * t[2], sa = (e, t, n, r) => {\n\tlet i = 1 / Math.tan(e / 2), a = 1 / (n - r);\n\treturn [\n\t\ti / t,\n\t\t0,\n\t\t0,\n\t\t0,\n\t\t0,\n\t\ti,\n\t\t0,\n\t\t0,\n\t\t0,\n\t\t0,\n\t\t(r + n) * a,\n\t\t-1,\n\t\t0,\n\t\t0,\n\t\t2 * r * n * a,\n\t\t0\n\t];\n}, ca = (e, t, n) => {\n\tlet r = aa(ra(e, t)), i = aa(ia(n, r)), a = ia(r, i);\n\treturn [\n\t\ti[0],\n\t\ta[0],\n\t\tr[0],\n\t\t0,\n\t\ti[1],\n\t\ta[1],\n\t\tr[1],\n\t\t0,\n\t\ti[2],\n\t\ta[2],\n\t\tr[2],\n\t\t0,\n\t\t-oa(i, e),\n\t\t-oa(a, e),\n\t\t-oa(r, e),\n\t\t1\n\t];\n}, la = (e, t) => {\n\tlet n = Array(16);\n\tfor (let r = 0; r < 4; r++) for (let i = 0; i < 4; i++) {\n\t\tlet a = 0;\n\t\tfor (let n = 0; n < 4; n++) a += e[r + n * 4] * t[n + i * 4];\n\t\tn[r + i * 4] = a;\n\t}\n\treturn n;\n}, ua = (e, t, n, r) => {\n\tlet i = e[3] * t + e[7] * n + e[11] * r + e[15];\n\treturn [(e[0] * t + e[4] * n + e[8] * r + e[12]) / i, (e[1] * t + e[5] * n + e[9] * r + e[13]) / i];\n}, da = (e) => e < 0 ? 0 : e > 1 ? 1 : e, fa = (e) => 1 - (1 - e) ** 3, pa = (e) => 1 - (1 - e) ** 5, ma = (e) => e < .5 ? 4 * e * e * e : 1 - (-2 * e + 2) ** 3 / 2, ha = (e) => 1 + 2.9 * (e - 1) ** 3 + 1.9 * (e - 1) ** 2, ga = (e, t, n) => da((e - t) / n), _a = \"#version 300 es\\nprecision highp float;\\n\", va = \"\\nuniform sampler2D uSdf;\\nuniform float uD;\\nfloat sdf(vec2 p) {\\n  vec2 uv = vec2(p.x + uD, uD - p.y) / (2. * uD);\\n  if (any(lessThan(uv, vec2(0.))) || any(greaterThan(uv, vec2(1.)))) return 1.;\\n  return texture(uSdf, uv).r;\\n}\\nvec2 outward(vec2 p, float e) {\\n  vec2 g = vec2(sdf(p + vec2(e, 0.)) - sdf(p - vec2(e, 0.)), sdf(p + vec2(0., e)) - sdf(p - vec2(0., e)));\\n  float l = length(g);\\n  return l > 1e-6 ? g / l : vec2(0.);\\n}\", ya = `${_a}\nlayout(location = 0) in vec2 aP;\nuniform mat4 uVP;\nout vec2 vP;\nvoid main() { vP = aP; gl_Position = uVP * vec4(aP, 0., 1.); }`, ba = `${_a}${va}\nin vec2 vP;\nuniform float uH, uGrid;\nuniform vec3 uL;\nuniform vec2 uGridAt, uGridStep;\nout vec4 o;\nfloat line(float v, float step) {\n  float d = abs(fract(v / step + .5) - .5) * step;\n  return 1. - smoothstep(0., fwidth(v), d);\n}\nvoid main() {\n  float d = sdf(vP);\n  // toward the light from here: is the slab in the way?\n  vec2 dir = uL.xy / uL.z;\n  float s1 = sdf(vP + dir * uH * .45), s2 = sdf(vP + dir * uH);\n  float shade = (1. - smoothstep(-.004, .03, s1)) * .5 + (1. - smoothstep(-.01, .11, s2)) * .5;\n  float lift = uH / ${Bi.toFixed(3)};\n  float a = (shade * .2 + (1. - smoothstep(0., .035, d)) * .13 + (1. - smoothstep(0., .6, d)) * .07) * lift;\n  a *= step(0., d + .002);\n  vec2 g = vP - uGridAt;\n  float fade = 1. - smoothstep(1.1, 2.55, length(vP * vec2(1.12, .82)));\n  float ga = max(line(g.x, uGridStep.x), line(g.y, uGridStep.y)) * fade * uGrid * .085 * step(0., d);\n  vec3 sc = vec3(.13, .17, .24);\n  o = vec4(sc * a + sc * ga * (1. - a), a + ga * (1. - a));\n}`, xa = `${_a}\nlayout(location = 0) in vec3 aP;\nlayout(location = 1) in vec2 aN;\nuniform mat4 uVP;\nuniform float uH;\nout vec3 vP;\nflat out vec2 vN;\nvoid main() { vP = vec3(aP.xy, aP.z * uH); vN = aN; gl_Position = uVP * vec4(vP, 1.); }`, Sa = `${_a}${va}\nin vec3 vP;\nflat in vec2 vN;\nuniform float uH, uBevel;\nuniform vec3 uL;\nout vec4 o;\nvoid main() {\n  float r = min(uBevel, uH * .6) + 1e-4, th;\n  bool wall = dot(vN, vN) > .5;\n  vec2 out2;\n  if (wall) {\n    // the coast's general direction, not every rock of it: the field's slope taken wide\n    vec2 g = outward(vP.xy, .035);\n    out2 = length(g) > .5 ? normalize(mix(vN, g, .85)) : vN;\n    th = 1.5708 - .7854 * clamp((uH - vP.z) / r, 0., 1.);\n  } else {\n    out2 = outward(vP.xy, uD / ${Z}.);\n    th = .7854 * clamp(1. + sdf(vP.xy) / r, 0., 1.);\n  }\n  vec3 n = vec3(out2 * sin(th), cos(th));\n  float l = dot(n, uL);\n  float wrap = clamp((l + .5) / 1.5, 0., 1.);\n  vec3 sky = vec3(.9, .92, .955), sun = vec3(1., .99, .97), albedo = vec3(.99, .985, .972);\n  vec3 col = albedo * (sky * (.56 + .2 * n.z) + sun * wrap * .36);\n  if (wall) col *= mix(.86, 1., smoothstep(0., uH * .9, vP.z));\n  o = vec4(min(col, vec3(1.)), 1.);\n}`, Ca = `${_a}\nlayout(location = 0) in vec2 aC;\nlayout(location = 1) in vec4 aI;     // centre, radius, kind (0 disc, 1 pin, 2 town)\nlayout(location = 2) in vec2 aA;     // shown 0\u20261, ripple phase\nuniform mat4 uVP;\nuniform float uH;\nout vec2 vUV;\nflat out float vK;\nflat out vec2 vA;\nvoid main() {\n  vUV = aC; vK = aI.w; vA = aA;\n  vec2 p = aI.xy + aC * aI.z;\n  gl_Position = uVP * vec4(p, uH + (aI.w < .5 ? .004 : .008), 1.);\n}`, wa = `${_a}\nin vec2 vUV;\nflat in float vK;\nflat in vec2 vA;\nuniform float uT;\nout vec4 o;\nconst vec3 BLUE = vec3(${Ui.join(\",\")});\nvoid main() {\n  float r = length(vUV), aa = fwidth(r);\n  if (vK < .5) {\n    // coverage: no disc, only rings running out through it, the first as the city pins in\n    float ring = aa * 1.4 + .006;\n    float rp = fract(uT / 5.2 + vA.y);\n    float a = (1. - smoothstep(0., ring, abs(r - rp))) * (1. - rp) * smoothstep(0., .2, rp) * .55 * step(.999, vA.x);\n    a += (1. - smoothstep(0., ring, abs(r - vA.x))) * (1. - vA.x) * .6 * smoothstep(0., .08, vA.x) * step(vA.x, .999);\n    o = vec4(BLUE * a, a);\n    return;\n  }\n  bool pin = vK < 1.5;\n  float ring = pin ? .42 : .5, core = pin ? .24 : .28;\n  float w = 1. - smoothstep(ring - aa, ring, r);\n  float b = 1. - smoothstep(core - aa, core, r);\n  float halo = 1. - smoothstep(0., 1., r); halo *= halo * (pin ? .32 : .22);\n  vec3 col = mix(vec3(1.), BLUE, b);\n  o = vec4(col * w + BLUE * halo * (1. - w), w + halo * (1. - w)) * vA.x;\n}`, Ta = `${_a}\nlayout(location = 0) in vec2 aP;\nlayout(location = 1) in vec4 aR;     // distance along, 0\u20261 along, -1\u20261 across, which route\nuniform mat4 uVP;\nuniform float uH;\nout vec4 vR;\nvoid main() { vR = aR; gl_Position = uVP * vec4(aP, uH + .003, 1.); }`, Ea = `${_a}\nin vec4 vR;\nuniform vec3 uProg;\nuniform float uW, uGap;\nout vec4 o;\nconst vec3 BLUE = vec3(${Ui.join(\",\")});\nvoid main() {\n  float prog = vR.w < .5 ? uProg.x : vR.w < 1.5 ? uProg.y : uProg.z;\n  if (vR.y > prog) discard;\n  float px = fwidth(vR.x);\n  float r = max(.0085, px * 1.1);\n  float d = length(vec2((fract(vR.x / uGap) - .5) * uGap, vR.z * uW));\n  float a = (1. - smoothstep(r - px * .7, r + px * .7, d)) * .72;\n  o = vec4(BLUE * a, a);\n}`, Da = `${_a}\nlayout(location = 0) in vec3 aC;\nuniform mat4 uVP;\nuniform vec2 uPos;\nuniform float uRot, uS, uH;\nout vec3 vL;\nvoid main() {\n  vL = vec3(aC.xy * .9, (aC.z * .5 + .5) * .6);\n  float c = cos(uRot), s = sin(uRot);\n  vec2 w = uPos + mat2(c, s, -s, c) * vL.xy * uS;\n  gl_Position = uVP * vec4(w, uH + vL.z * uS, 1.);\n}`, Oa = `${_a}\nin vec3 vL;\nuniform vec3 uEyeL, uLL;\nout vec4 o;\nconst vec3 BLUE = vec3(${Ui.join(\",\")});\nconst vec3 SCREEN = vec3(.781, 0., .625);   // the windscreen's slope\nfloat box(vec3 p, vec3 b, float r) { vec3 q = abs(p) - b + r; return length(max(q, 0.)) + min(max(q.x, max(q.y, q.z)), 0.) - r; }\nfloat smin(float a, float b, float k) { float h = clamp(.5 + .5 * (b - a) / k, 0., 1.); return mix(b, a, h) - k * h * (1. - h); }\nfloat smax(float a, float b, float k) { return -smin(-a, -b, k); }\nvec3 wheel(vec3 p) { return vec3(p.x - (p.x > 0. ? .3 : -.28), abs(p.y) - .158, p.z - .085); }\nvec2 map(vec3 p) {\n  float cargo = smax(box(p - vec3(-.03, 0., .31), vec3(.45, .2, .19), .075), dot(p - vec3(.42, 0., .3), SCREEN), .04);\n  float b = smin(cargo, box(p - vec3(.36, 0., .2), vec3(.13, .195, .09), .06), .05);\n  vec3 w = wheel(p);\n  b = smax(b, .105 - length(w.xz), .02);                       // the wheel arches\n  vec2 tw = vec2(length(w.xz) - .072, abs(w.y) - .026);\n  float wh = min(max(tw.x, tw.y), 0.) + length(max(tw, 0.)) - .012;\n  return wh < b ? vec2(wh, 1.) : vec2(b, 0.);\n}\nvec3 normalAt(vec3 p) {\n  vec2 e = vec2(.002, 0.);\n  return normalize(vec3(map(p + e.xyy).x - map(p - e.xyy).x, map(p + e.yxy).x - map(p - e.yxy).x, map(p + e.yyx).x - map(p - e.yyx).x));\n}\nvec3 shade(vec3 p, vec3 rd) {\n  vec3 n = normalAt(p), V = -rd;\n  vec3 col = vec3(.1, .12, .165);\n  float glass = 0., lamp = 0.;\n  if (map(p).y > .5) {\n    float r = length(wheel(p).xz);\n    col = abs(n.y) > .6 && r < .045 ? vec3(.7, .73, .77) : vec3(.045, .05, .06);\n  } else {\n    float side = abs(n.y);\n    float pillar = .42 - (p.z - .3) * .8;                      // where the windscreen meets the side\n    if ((dot(n, SCREEN) > .8 && p.z > .31) || (side > .7 && p.x > .1 && p.x < pillar - .035 && p.z > .335 && p.z < .465)) glass = 1.;\n    else if (side > .6) {\n      // the livery: a blue sweep rising toward the back, a paler streak over it, the round white \"a\"\n      float sweep = .14 + .19 * smoothstep(.3, -.48, p.x);\n      if (p.x < .28 && p.z < sweep) col = BLUE;\n      else if (p.x < .22 && p.z < sweep + .028) col = vec3(.5, .76, .93);\n      vec2 q = p.xz - vec2(-.1, .335);\n      float rr = length(q), stem = -sign(p.y) * .079;\n      if ((rr < .098 && rr > .06) || (abs(q.x - stem) < .019 && q.y > -.098 && q.y < .07)) col = vec3(.96, .97, .98);\n    }\n    if (n.x > .55 && p.z > .17 && p.z < .245 && abs(p.y) > .1) lamp = 1.;\n    if (n.x < -.6 && p.z > .22 && p.z < .34 && abs(p.y) > .14) col = vec3(.75, .1, .09);\n  }\n  if (lamp > 0.) return vec3(1., .97, .88);\n  vec3 Hh = normalize(uLL + V);\n  float l = dot(n, uLL), wrap = clamp((l + .35) / 1.35, 0., 1.);\n  float fres = pow(1. - clamp(dot(n, V), 0., 1.), 3.);\n  vec3 c;\n  if (glass > 0.) {\n    // dark glass with the sky in it\n    c = vec3(.09, .12, .17) + vec3(.55, .66, .8) * (.18 + .8 * fres) * (.6 + .4 * n.z);\n  } else c = col * (vec3(.82, .86, .93) * (.42 + .3 * n.z) + vec3(1., .98, .95) * wrap * .72);\n  // a highlight on the glass only: on a van this small the body's rounded edges are a pixel wide,\n  // and a highlight on one (the back of the roof, facing the light) reads as a stray hairline;\n  // the roof gets an even lift instead\n  c += pow(max(dot(n, Hh), 0.), 60.) * .9 * glass;\n  c += vec3(.05, .06, .08) * smoothstep(.97, 1., n.z) * (1. - glass);\n  return c * mix(.62, 1., smoothstep(0., .15, p.z));\n}\nvoid main() {\n  vec3 rd = normalize(vL - uEyeL);\n  // a pixel's width in van units, per unit of distance: the ray's own spread (not the box face's,\n  // which seen edge-on would smear the soft edge below into a line); taken before any discard\n  float spread = length(fwidth(rd)) * .5;\n  // only the face the ray comes in by; march from there\n  vec3 inv = 1. / rd, t0 = (vec3(-.9, -.9, 0.) - uEyeL) * inv, t1 = (vec3(.9, .9, .6) - uEyeL) * inv;\n  float tn = max(max(min(t0.x, t1.x), min(t0.y, t1.y)), min(t0.z, t1.z));\n  if (length(vL - uEyeL) > tn + .02) discard;\n  vec3 ro = uEyeL + rd * tn;\n  float t = 0., dmin = 1e9, tmin = 0.;\n  bool hit = false;\n  for (int i = 0; i < 96; i++) {\n    float d = map(ro + rd * t).x;\n    if (d < dmin) { dmin = d; tmin = t; }\n    // within half a pixel is a hit: a ray skimming along a side creeps in tiny steps and would\n    // otherwise run out of them and be taken for a near miss, a pale line just inside the edge\n    if (d < max(.0008, spread * (tn + t) * .5)) { hit = true; break; }\n    t += d * .9;\n    if (t > 3.) break;\n  }\n  // its shadow on the map, falling away from the light, and darker right under it\n  vec4 sh = vec4(0.);\n  if (rd.z < 0.) {\n    vec2 g = (ro + rd * (-ro.z / rd.z)).xy;\n    vec2 q = g + uLL.xy / uLL.z * .2;\n    float a = (1. - smoothstep(-.06, .16, length(max(abs(q) - vec2(.4, .15), 0.)) - .06)) * .3;\n    a = max(a, (1. - smoothstep(0., .07, length(max(abs(g) - vec2(.42, .16), 0.)))) * .38);\n    sh = vec4(vec3(.1, .13, .19) * a, a);\n  }\n  if (hit) { o = vec4(shade(ro + rd * t, rd), 1.); return; }\n  // a soft edge one pixel wide where the ray only just missed\n  // (from the ray's own spread, not the box face's: a face seen edge-on would smear it into a line)\n  float px = clamp(spread * (tn + tmin), .001, .03);\n  float cov = 1. - smoothstep(0., px, dmin);\n  o = cov > 0. ? vec4(shade(ro + rd * tmin, rd), 1.) * cov + sh * (1. - cov) : sh;\n  if (o.a < .002) discard;\n}`;\nfunction ka(e, t, n) {\n\tlet r = e.createProgram();\n\tfor (let [i, a] of [[e.VERTEX_SHADER, t], [e.FRAGMENT_SHADER, n]]) {\n\t\tlet t = e.createShader(i);\n\t\te.shaderSource(t, a), e.compileShader(t), e.attachShader(r, t);\n\t}\n\treturn e.linkProgram(r), r;\n}\nfunction Aa(e, t, n, r, i, a) {\n\tfor (let o = 0; o < t; o++) ja(e, o, t, n, r, i, a);\n\tfor (let o = 0; o < n; o++) ja(e, o * t, 1, t, r, i, a);\n}\nfunction ja(e, t, n, r, i, a, o) {\n\ta[0] = 0, o[0] = -0x56bc75e2d63100000, o[1] = 0x56bc75e2d63100000, i[0] = e[t];\n\tfor (let s = 1, c = 0, l = 0; s < r; s++) {\n\t\ti[s] = e[t + s * n];\n\t\tlet r = s * s;\n\t\tdo {\n\t\t\tlet e = a[c];\n\t\t\tl = (i[s] - i[e] + r - e * e) / (s - e) / 2;\n\t\t} while (l <= o[c] && --c > -1);\n\t\tc++, a[c] = s, o[c] = l, o[c + 1] = 0x56bc75e2d63100000;\n\t}\n\tfor (let s = 0, c = 0; s < r; s++) {\n\t\tfor (; o[c + 1] < s;) c++;\n\t\tlet r = a[c], l = s - r;\n\t\te[t + s * n] = i[r] + l * l;\n\t}\n}\nfunction Ma(e) {\n\tlet t = document.createElement(\"canvas\");\n\tt.width = t.height = Z;\n\tlet n = t.getContext(\"2d\", { willReadFrequently: !0 }), r = Z / (2 * Hi);\n\tn.beginPath();\n\tfor (let t of e) for (let e = 0; e < t.length; e += 2) n[e ? \"lineTo\" : \"moveTo\"]((t[e] + Hi) * r, (Hi - t[e + 1]) * r);\n\tn.fill();\n\tlet i = n.getImageData(0, 0, Z, Z).data, a = new Float64Array(Z * Z), o = new Float64Array(Z * Z);\n\tfor (let e = 0; e < Z * Z; e++) {\n\t\tlet t = i[e * 4 + 3] / 255;\n\t\tif (t >= 1) a[e] = 0, o[e] = 0x56bc75e2d63100000;\n\t\telse if (t <= 0) a[e] = 0x56bc75e2d63100000, o[e] = 0;\n\t\telse {\n\t\t\tlet n = .5 - t;\n\t\t\ta[e] = n > 0 ? n * n : 0, o[e] = n < 0 ? n * n : 0;\n\t\t}\n\t}\n\tlet s = new Float64Array(Z), c = new Uint16Array(Z), l = /* @__PURE__ */ new Float64Array(513);\n\tAa(a, Z, Z, s, c, l), Aa(o, Z, Z, s, c, l);\n\tlet u = new Float32Array(Z * Z);\n\tfor (let e = 0; e < Z * Z; e++) u[e] = (Math.sqrt(a[e]) - Math.sqrt(o[e])) / r;\n\treturn u;\n}\nvar Na = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.reduced = document.documentElement.classList.contains(\"reduce\") || matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.touch = matchMedia(\"(hover: none)\").matches, this.loop = this.loop.bind(this), this.play = this.play.bind(this), this.near = new IntersectionObserver(([e]) => {\n\t\t\te.isIntersecting && this.start();\n\t\t}, { rootMargin: \"100% 0px\" }), this.near.observe(this);\n\t\tlet e = () => Tr(() => this.start(), 4e3);\n\t\tdocument.readyState === \"complete\" ? e() : addEventListener(\"load\", e, { once: !0 });\n\t}\n\tstart() {\n\t\t!this.started && this.isConnected && (this.started = !0, this.near.disconnect(), this.make());\n\t}\n\tpause() {\n\t\treturn Dr(() => {\n\t\t\tlet e = this.getBoundingClientRect();\n\t\t\treturn e.top < innerHeight && e.bottom > 0;\n\t\t});\n\t}\n\tdisconnectedCallback() {\n\t\tthis.near?.disconnect(), this.io?.disconnect(), this.ro?.disconnect(), document.removeEventListener(\"visibilitychange\", this.play), removeEventListener(\"scroll\", this.onScroll), this.host?.removeEventListener(\"pointermove\", this.onPointer), this.host?.removeEventListener(\"pointerleave\", this.onPointer), cancelAnimationFrame(this.raf), this.raf = 0;\n\t}\n\tasync make() {\n\t\tlet e;\n\t\ttry {\n\t\t\te = await Promise.all([Promise.resolve().then(() => (jr(), Or)), Promise.resolve().then(() => (Ri(), Mr))]);\n\t\t} catch {\n\t\t\te = null;\n\t\t}\n\t\tawait this.pause();\n\t\tlet t = document.createElement(\"canvas\"), n = t.getContext(\"webgl2\", {\n\t\t\talpha: !0,\n\t\t\tpremultipliedAlpha: !0,\n\t\t\tantialias: !0,\n\t\t\tpowerPreference: \"low-power\"\n\t\t});\n\t\tif (!n || !e) {\n\t\t\tthis.still();\n\t\t\treturn;\n\t\t}\n\t\tlet r = [\n\t\t\t[ya, ba],\n\t\t\t[xa, Sa],\n\t\t\t[Ca, wa],\n\t\t\t[Ta, Ea],\n\t\t\t[Da, Oa]\n\t\t].map(([e, t]) => ka(n, e, t)), i = n.getExtension(\"KHR_parallel_shader_compile\");\n\t\tif (i) for (; !r.every((e) => n.getProgramParameter(e, i.COMPLETION_STATUS_KHR));) await new Promise(requestAnimationFrame);\n\t\tif (await this.pause(), !this.setup(n, r, ...e)) {\n\t\t\tthis.still();\n\t\t\treturn;\n\t\t}\n\t\tif (await this.pause(), this.field(n), await this.pause(), !this.isConnected) return;\n\t\tthis.canvas = t, this.gl = n, this.labels = Wi.map((e) => Object.assign(document.createElement(\"span\"), {\n\t\t\tclassName: \"aura-map__label\",\n\t\t\ttextContent: e.name\n\t\t}));\n\t\tlet a = document.createElement(\"div\");\n\t\ta.className = \"aura-map__labels\", a.setAttribute(\"aria-hidden\", \"true\"), a.append(...this.labels), this.append(t, a), this.ready = !0, this.t0 = null, this.pointer = [0, 0], this.lean = [0, 0], this.ro = new ResizeObserver(() => this.resize()), this.ro.observe(this), this.io = new IntersectionObserver(([e]) => {\n\t\t\tthis.onScreen = e.isIntersecting, e.intersectionRatio >= .3 && this.t0 == null && (this.t0 = performance.now()), this.play();\n\t\t}, { threshold: [0, .3] }), this.io.observe(this), document.addEventListener(\"visibilitychange\", this.play), this.touch ? (this.onScroll = () => {\n\t\t\tthis.movedAt = performance.now();\n\t\t}, addEventListener(\"scroll\", this.onScroll, { passive: !0 })) : this.reduced || (this.host = this.closest(\"section\") || this, this.onPointer = (e) => {\n\t\t\tif (e.type === \"pointerleave\") {\n\t\t\t\tthis.pointer = [0, 0];\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet t = this.getBoundingClientRect();\n\t\t\tthis.pointer = [Math.max(-1, Math.min(1, (e.clientX - t.left) / t.width * 2 - 1)), Math.max(-1, Math.min(1, (e.clientY - t.top) / t.height * 2 - 1))], this.play();\n\t\t}, this.host.addEventListener(\"pointermove\", this.onPointer, { passive: !0 }), this.host.addEventListener(\"pointerleave\", this.onPointer, { passive: !0 })), t.addEventListener(\"webglcontextlost\", (e) => {\n\t\t\te.preventDefault(), this.ready = !1, this.play(), this.still();\n\t\t}), this.resize();\n\t}\n\tstill() {\n\t\tthis.querySelector(\"img\") || (this.replaceChildren(Object.assign(new Image(), {\n\t\t\tsrc: window.AURA.asset(\"assets/img/install-ireland.webp\"),\n\t\t\talt: \"\",\n\t\t\tclassName: \"aura-map__still\"\n\t\t})), this.classList.add(\"is-still\"));\n\t}\n\tsetup(e, t, { RINGS: n, PLACES: r }, { default: i }) {\n\t\tlet a = (t) => {\n\t\t\tif (!e.getProgramParameter(t, e.LINK_STATUS)) return console.warn(e.getProgramInfoLog(t)), null;\n\t\t\tlet n = {}, r = e.getProgramParameter(t, e.ACTIVE_UNIFORMS);\n\t\t\tfor (let i = 0; i < r; i++) {\n\t\t\t\tlet r = e.getActiveUniform(t, i).name;\n\t\t\t\tn[r] = e.getUniformLocation(t, r);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tp: t,\n\t\t\t\tu: n\n\t\t\t};\n\t\t};\n\t\tif ([this.ground, this.land, this.mark, this.route, this.van] = t.map(a), !this.ground || !this.land || !this.mark || !this.route || !this.van) return !1;\n\t\tlet o = this.rings = n.map((e) => e.map((e) => e * zi));\n\t\tthis.places = Object.fromEntries(Object.entries(r).map(([e, t]) => [e, t.map((e) => e * zi)])), this.fitPts = [];\n\t\tfor (let e = 0; e < o[0].length; e += 16) this.fitPts.push([o[0][e], o[0][e + 1]]);\n\t\tlet s = [], c = [], l = [];\n\t\tfor (let e of o) {\n\t\t\tlet t = s.length / 3, n = i(e);\n\t\t\tfor (let t = 0; t < e.length; t += 2) s.push(e[t], e[t + 1], 1), c.push(0, 0);\n\t\t\tfor (let e of n) l.push(t + e);\n\t\t\tlet r = e.length / 2;\n\t\t\tfor (let t = 0; t < r; t++) {\n\t\t\t\tlet n = (t + 1) % r, i = e[t * 2], a = e[t * 2 + 1], o = e[n * 2], u = e[n * 2 + 1], d = Math.hypot(o - i, u - a) || 1, f = (u - a) / d, p = -(o - i) / d, m = s.length / 3;\n\t\t\t\ts.push(i, a, 0, o, u, 0, o, u, 1, i, a, 1), c.push(f, p, f, p, f, p, f, p), l.push(m, m + 1, m + 2, m, m + 2, m + 3);\n\t\t\t}\n\t\t}\n\t\tthis.landVao = e.createVertexArray(), e.bindVertexArray(this.landVao);\n\t\tlet u = (t, n, r) => {\n\t\t\te.bindBuffer(e.ARRAY_BUFFER, e.createBuffer()), e.bufferData(e.ARRAY_BUFFER, new Float32Array(t), e.STATIC_DRAW), e.enableVertexAttribArray(n), e.vertexAttribPointer(n, r, e.FLOAT, !1, 0, 0);\n\t\t};\n\t\tu(s, 0, 3), u(c, 1, 2), e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, e.createBuffer()), e.bufferData(e.ELEMENT_ARRAY_BUFFER, new Uint32Array(l), e.STATIC_DRAW), this.landCount = l.length, this.groundVao = e.createVertexArray(), e.bindVertexArray(this.groundVao);\n\t\tlet d = 4.5;\n\t\tu([\n\t\t\t-4.5,\n\t\t\t-4.5,\n\t\t\td,\n\t\t\t-4.5,\n\t\t\td,\n\t\t\td,\n\t\t\t-4.5,\n\t\t\t-4.5,\n\t\t\td,\n\t\t\td,\n\t\t\t-4.5,\n\t\t\td\n\t\t], 0, 2), this.marks = [\n\t\t\t...Wi.map((e, t) => ({\n\t\t\t\tc: this.places[e.key],\n\t\t\t\tr: e.r,\n\t\t\t\tk: 0,\n\t\t\t\tphase: t * .31\n\t\t\t})),\n\t\t\t...Wi.map((e) => ({\n\t\t\t\tc: this.places[e.key],\n\t\t\t\tr: .1,\n\t\t\t\tk: 1\n\t\t\t})),\n\t\t\t...Gi.map((e) => ({\n\t\t\t\tc: this.places[e],\n\t\t\t\tr: .055,\n\t\t\t\tk: 2\n\t\t\t}))\n\t\t], this.markVao = e.createVertexArray(), e.bindVertexArray(this.markVao), u([\n\t\t\t-1,\n\t\t\t-1,\n\t\t\t1,\n\t\t\t-1,\n\t\t\t1,\n\t\t\t1,\n\t\t\t-1,\n\t\t\t-1,\n\t\t\t1,\n\t\t\t1,\n\t\t\t-1,\n\t\t\t1\n\t\t], 0, 2), e.bindBuffer(e.ARRAY_BUFFER, e.createBuffer()), e.bufferData(e.ARRAY_BUFFER, new Float32Array(this.marks.flatMap((e) => [\n\t\t\te.c[0],\n\t\t\te.c[1],\n\t\t\te.r,\n\t\t\te.k\n\t\t])), e.STATIC_DRAW), e.enableVertexAttribArray(1), e.vertexAttribPointer(1, 4, e.FLOAT, !1, 0, 0), e.vertexAttribDivisor(1, 1), this.markBuf = e.createBuffer(), this.markData = new Float32Array(this.marks.length * 2), e.bindBuffer(e.ARRAY_BUFFER, this.markBuf), e.bufferData(e.ARRAY_BUFFER, this.markData, e.DYNAMIC_DRAW), e.enableVertexAttribArray(2), e.vertexAttribPointer(2, 2, e.FLOAT, !1, 0, 0), e.vertexAttribDivisor(2, 1);\n\t\tlet f = Wi.map((e) => this.places[e.key]), p = [0, 1].map((e) => f.reduce((t, n) => t + n[e], 0) / f.length);\n\t\tthis.routes = qi.map(([e, t]) => {\n\t\t\tlet n = this.places[e], r = this.places[t], i = Math.hypot(r[0] - n[0], r[1] - n[1]), a = [(n[0] + r[0]) / 2, (n[1] + r[1]) / 2], o = [-(r[1] - n[1]) / i, (r[0] - n[0]) / i];\n\t\t\treturn o[0] * (a[0] - p[0]) + o[1] * (a[1] - p[1]) < 0 && (o = [-o[0], -o[1]]), {\n\t\t\t\tA: n,\n\t\t\t\tB: r,\n\t\t\t\tC: [a[0] + o[0] * i * .13, a[1] + o[1] * i * .13],\n\t\t\t\tdur: 1.5 + i * 1.4\n\t\t\t};\n\t\t});\n\t\tlet m = .02, h = [], g = [], _ = [];\n\t\tthis.routes.forEach((e, t) => {\n\t\t\tlet n = 0, r = null;\n\t\t\tfor (let i = 0; i <= 64; i++) {\n\t\t\t\tlet a = i / 64, o = this.bez(e, a), s = this.tangent(e, a), c = Math.hypot(s[0], s[1]);\n\t\t\t\tr && (n += Math.hypot(o[0] - r[0], o[1] - r[1])), r = o;\n\t\t\t\tlet l = -s[1] / c * m, u = s[0] / c * m, d = h.length / 2;\n\t\t\t\th.push(o[0] + l, o[1] + u, o[0] - l, o[1] - u), g.push(n, a, 1, t, n, a, -1, t), i && _.push(d - 2, d - 1, d, d - 1, d + 1, d);\n\t\t\t}\n\t\t}), this.routeVao = e.createVertexArray(), e.bindVertexArray(this.routeVao), u(h, 0, 2), u(g, 1, 4), e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, e.createBuffer()), e.bufferData(e.ELEMENT_ARRAY_BUFFER, new Uint16Array(_), e.STATIC_DRAW), this.routeCount = _.length;\n\t\tlet v = [];\n\t\tfor (let [e, t, n] of [\n\t\t\t[\n\t\t\t\t0,\n\t\t\t\t1,\n\t\t\t\t2\n\t\t\t],\n\t\t\t[\n\t\t\t\t1,\n\t\t\t\t2,\n\t\t\t\t0\n\t\t\t],\n\t\t\t[\n\t\t\t\t2,\n\t\t\t\t0,\n\t\t\t\t1\n\t\t\t]\n\t\t]) for (let r of [-1, 1]) for (let [i, a] of [\n\t\t\t[-1, -1],\n\t\t\t[1, -1],\n\t\t\t[1, 1],\n\t\t\t[-1, -1],\n\t\t\t[1, 1],\n\t\t\t[-1, 1]\n\t\t]) {\n\t\t\tlet o = [];\n\t\t\to[e] = r, o[t] = i, o[n] = a, v.push(...o);\n\t\t}\n\t\treturn this.vanVao = e.createVertexArray(), e.bindVertexArray(this.vanVao), u(v, 0, 3), e.bindVertexArray(null), e.useProgram(this.route.p), e.uniform1f(this.route.u.uW, m), e.uniform1f(this.route.u.uGap, .05), !0;\n\t}\n\tfield(e) {\n\t\te.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, e.createTexture()), e.pixelStorei(e.UNPACK_ALIGNMENT, 1), e.texImage2D(e.TEXTURE_2D, 0, e.R16F, Z, Z, 0, e.RED, e.FLOAT, Ma(this.rings));\n\t\tfor (let [t, n] of [\n\t\t\t[e.TEXTURE_MIN_FILTER, e.LINEAR],\n\t\t\t[e.TEXTURE_MAG_FILTER, e.LINEAR],\n\t\t\t[e.TEXTURE_WRAP_S, e.CLAMP_TO_EDGE],\n\t\t\t[e.TEXTURE_WRAP_T, e.CLAMP_TO_EDGE]\n\t\t]) e.texParameteri(e.TEXTURE_2D, t, n);\n\t\tlet t = 111.32 * Math.cos(53.4 * Math.PI / 180) * zi, n = 110.57 * zi, r = this.L = aa([\n\t\t\t-.5,\n\t\t\t.55,\n\t\t\t.78\n\t\t]);\n\t\tfor (let { p: t, u: n } of [this.ground, this.land]) e.useProgram(t), e.uniform1i(n.uSdf, 0), e.uniform1f(n.uD, Hi), e.uniform3f(n.uL, ...r);\n\t\te.useProgram(this.ground.p), e.uniform2f(this.ground.u.uGridAt, .05 * t, -.4 * n), e.uniform2f(this.ground.u.uGridStep, t, n * .5), e.useProgram(this.land.p), e.uniform1f(this.land.u.uBevel, Vi), e.clearColor(0, 0, 0, 0), e.blendFunc(e.ONE, e.ONE_MINUS_SRC_ALPHA);\n\t}\n\tresize() {\n\t\tif (!this.ready) return;\n\t\tlet e = Math.min(devicePixelRatio || 1, 2);\n\t\tthis.w = this.clientWidth, this.h = this.clientHeight;\n\t\tlet t = Math.max(1, Math.round(this.w * e)), n = Math.max(1, Math.round(this.h * e));\n\t\t(t !== this.canvas.width || n !== this.canvas.height) && (this.canvas.width = t, this.canvas.height = n), this.fit(), this.draw(performance.now());\n\t}\n\tcamera(e, t, n) {\n\t\tlet r = e * Math.PI / 180, i = t * Math.PI / 180, a = [\n\t\t\t0,\n\t\t\t-.08,\n\t\t\t0\n\t\t], o = [\n\t\t\ta[0] + n * Math.cos(r) * Math.sin(i),\n\t\t\ta[1] - n * Math.cos(r) * Math.cos(i),\n\t\t\ta[2] + n * Math.sin(r)\n\t\t];\n\t\treturn this.eye = o, la(sa(26 * Math.PI / 180, this.w / this.h, n * .5, n * 1.6), ca(o, a, [\n\t\t\t0,\n\t\t\t0,\n\t\t\t1\n\t\t]));\n\t}\n\tfit() {\n\t\tlet e = (e, t) => {\n\t\t\tlet n = 10;\n\t\t\tfor (let r = 0; r < 4; r++) {\n\t\t\t\tlet r = 0;\n\t\t\t\tfor (let [t, i] of e) {\n\t\t\t\t\tlet e = this.camera(t, i, n);\n\t\t\t\t\tfor (let [t, n] of this.fitPts) for (let i of [0, Bi]) {\n\t\t\t\t\t\tlet [a, o] = ua(e, t, n, i);\n\t\t\t\t\t\tr = Math.max(r, Math.abs(a), Math.abs(o));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tn *= r / t;\n\t\t\t}\n\t\t\treturn n;\n\t\t}, t = this.reduced ? 0 : ta + na[0], n = this.reduced ? 0 : na[1];\n\t\tthis.distIn = e([\n\t\t\t[Qi - n, -na[0]],\n\t\t\t[Qi - n, na[0]],\n\t\t\t[Qi + n, -na[0]],\n\t\t\t[Qi + n, na[0]]\n\t\t], .86), this.dist = e([\n\t\t\t[$i - n, ea - t],\n\t\t\t[$i - n, ea + t],\n\t\t\t[$i + n, ea - t],\n\t\t\t[$i + n, ea + t]\n\t\t], .86);\n\t}\n\tbez({ A: e, B: t, C: n }, r) {\n\t\tlet i = 1 - r;\n\t\treturn [i * i * e[0] + 2 * i * r * n[0] + r * r * t[0], i * i * e[1] + 2 * i * r * n[1] + r * r * t[1]];\n\t}\n\ttangent({ A: e, B: t, C: n }, r) {\n\t\treturn [2 * (1 - r) * (n[0] - e[0]) + 2 * r * (t[0] - n[0]), 2 * (1 - r) * (n[1] - e[1]) + 2 * r * (t[1] - n[1])];\n\t}\n\theading(e, t) {\n\t\tlet n = this.tangent(e, t);\n\t\treturn Math.atan2(n[1], n[0]);\n\t}\n\tvanAt(e) {\n\t\tlet t = this.routes, n = t.reduce((e, t) => e + Zi + t.dur, 0);\n\t\tif (this.reduced) return {\n\t\t\tpos: this.bez(t[0], .62),\n\t\t\trot: this.heading(t[0], .62)\n\t\t};\n\t\tlet r = e % n;\n\t\tfor (let [i, a] of t.entries()) {\n\t\t\tif (r < Zi) {\n\t\t\t\tlet o = this.heading(a, 0), s = e < n && i === 0 ? o : this.heading(t[(i + t.length - 1) % t.length], 1), c = (o - s + Math.PI * 3) % (Math.PI * 2) - Math.PI;\n\t\t\t\treturn {\n\t\t\t\t\tpos: a.A,\n\t\t\t\t\trot: s + c * ma(ga(r, .25, .9500000000000001))\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (r -= Zi, r < a.dur) {\n\t\t\t\tlet e = .5 - .5 * Math.cos(Math.PI * r / a.dur);\n\t\t\t\treturn {\n\t\t\t\t\tpos: this.bez(a, e),\n\t\t\t\t\trot: this.heading(a, e)\n\t\t\t\t};\n\t\t\t}\n\t\t\tr -= a.dur;\n\t\t}\n\t\treturn {\n\t\t\tpos: t[0].A,\n\t\t\trot: this.heading(t[0], 0)\n\t\t};\n\t}\n\tplay() {\n\t\t!this.ready || !this.onScreen || document.hidden || this.t0 == null || this.reduced ? (cancelAnimationFrame(this.raf), this.raf = 0) : this.raf ||= requestAnimationFrame(this.loop);\n\t}\n\tloop(e) {\n\t\tthis.raf = 0;\n\t\tlet t = this.t0 != null && e - this.t0 > 4e3;\n\t\t(!this.touch || !t || e - (this.last ?? 0) >= 31 && e - (this.movedAt ?? -1e9) > 180) && (this.last = e, this.draw(e)), this.play();\n\t}\n\tdraw(e) {\n\t\tif (!this.ready || !this.w) return;\n\t\tlet t = this.gl, n = this.reduced ? 99 : this.t0 == null ? 0 : (e - this.t0) / 1e3, r = this.reduced ? 0 : e / 1e3, i = .02 + .98 * pa(ga(n, 0, 1.6)), a = ma(ga(n, 0, 2.1));\n\t\tthis.lean[0] += (this.pointer[0] - this.lean[0]) * .06, this.lean[1] += (this.pointer[1] - this.lean[1]) * .06;\n\t\tlet o = this.reduced ? 0 : Math.sin(r * Math.PI * 2 / 26) * ta * a, s = Qi + -24 * a + this.lean[1] * na[1], c = ea * a + o + this.lean[0] * na[0], l = this.camera(s, c, this.distIn + (this.dist - this.distIn) * a), u = Bi * i, d = Wi.map((e) => ga(n, e.at, 1.1)), f = qi.map((e, t) => ga(n, Ji + t * .3, 1.2));\n\t\t[\n\t\t\t...d.map(fa),\n\t\t\t...Wi.map((e) => da(ha(ga(n, e.at, .7)))),\n\t\t\t...Gi.map((e, t) => da(ha(ga(n, Ki + t * .12, .5))))\n\t\t].forEach((e, t) => {\n\t\t\tthis.markData[t * 2] = e, this.markData[t * 2 + 1] = this.marks[t].phase ?? 0;\n\t\t}), t.viewport(0, 0, this.canvas.width, this.canvas.height), t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT), t.enable(t.BLEND), t.disable(t.DEPTH_TEST), t.useProgram(this.ground.p), t.uniformMatrix4fv(this.ground.u.uVP, !1, l), t.uniform1f(this.ground.u.uH, u), t.uniform1f(this.ground.u.uGrid, fa(ga(n, .3, 1.6))), t.bindVertexArray(this.groundVao), t.drawArrays(t.TRIANGLES, 0, 6), t.disable(t.BLEND), t.enable(t.DEPTH_TEST), t.depthMask(!0), t.useProgram(this.land.p), t.uniformMatrix4fv(this.land.u.uVP, !1, l), t.uniform1f(this.land.u.uH, u), t.bindVertexArray(this.landVao), t.drawElements(t.TRIANGLES, this.landCount, t.UNSIGNED_INT, 0), t.enable(t.BLEND), t.depthMask(!1), t.useProgram(this.mark.p), t.uniformMatrix4fv(this.mark.u.uVP, !1, l), t.uniform1f(this.mark.u.uH, u), t.uniform1f(this.mark.u.uT, r % 5200), t.bindVertexArray(this.markVao), t.bindBuffer(t.ARRAY_BUFFER, this.markBuf), t.bufferSubData(t.ARRAY_BUFFER, 0, this.markData), t.drawArraysInstanced(t.TRIANGLES, 0, 6, this.marks.length), t.useProgram(this.route.p), t.uniformMatrix4fv(this.route.u.uVP, !1, l), t.uniform1f(this.route.u.uH, u), t.uniform3f(this.route.u.uProg, ...f.map(ma)), t.bindVertexArray(this.routeVao), t.drawElements(t.TRIANGLES, this.routeCount, t.UNSIGNED_SHORT, 0);\n\t\tlet p = this.reduced ? 1 : da(ha(ga(n, Xi, .6)));\n\t\tif (p > .01) {\n\t\t\tlet { pos: e, rot: r } = this.vanAt(Math.max(0, n - Xi)), i = Yi * p, a = u + .002, o = Math.cos(-r), s = Math.sin(-r), c = (e, t) => [o * e - s * t, s * e + o * t], d = c(this.eye[0] - e[0], this.eye[1] - e[1]), f = c(this.L[0], this.L[1]);\n\t\t\tt.useProgram(this.van.p), t.uniformMatrix4fv(this.van.u.uVP, !1, l), t.uniform2f(this.van.u.uPos, ...e), t.uniform1f(this.van.u.uRot, r), t.uniform1f(this.van.u.uS, i), t.uniform1f(this.van.u.uH, a), t.uniform3f(this.van.u.uEyeL, d[0] / i, d[1] / i, (this.eye[2] - a) / i), t.uniform3f(this.van.u.uLL, f[0], f[1], this.L[2]), t.bindVertexArray(this.vanVao), t.drawArrays(t.TRIANGLES, 0, 36);\n\t\t}\n\t\tt.depthMask(!0), t.bindVertexArray(null);\n\t\tlet m = (e, t, n) => {\n\t\t\tlet [r, i] = ua(l, e, t, n);\n\t\t\treturn [(r + 1) / 2 * this.w, (1 - i) / 2 * this.h];\n\t\t};\n\t\tWi.forEach((e, t) => {\n\t\t\tlet [n, r] = m(...this.places[e.key], u), i = this.labels[t];\n\t\t\ti.style.transform = `translate(${n.toFixed(1)}px, ${r.toFixed(1)}px)`, i.classList.toggle(\"is-on\", d[t] > .25);\n\t\t}), this.classList.add(\"is-on\");\n\t}\n};\ncustomElements.define(\"aura-map\", Na);\n//#endregion\n//#region src/install/aura-coverage.js\nvar Pa = ([e, t]) => [280 + e * .98, 310 - t * .98], Fa, Ia = () => Fa ||= Promise.resolve().then(() => (jr(), Or)).then(({ RINGS: e, PLACES: t }) => {\n\tlet n = e.map((e) => {\n\t\tlet t = [];\n\t\tfor (let n = 0; n < e.length; n += 2) t.push(Pa(e.slice(n, n + 2)));\n\t\treturn `M${t.map((e) => e.map((e) => e.toFixed(2)).join(\",\")).join(\"L\")}Z`;\n\t});\n\treturn {\n\t\tcoast: n,\n\t\toutline: n.join(\"\"),\n\t\tPLACES: t\n\t};\n}), La = 0, Ra = \"\\n  :host {\\n    display: block;\\n    width: 100%;\\n    aspect-ratio: 1;\\n    container-type: inline-size;\\n    border-radius: var(--r-xl, 44px);\\n    overflow: hidden;\\n    background: #fff;\\n    color: var(--ink, #0D1116);\\n    isolation: isolate;\\n  }\\n  svg { display: block; width: 100%; height: 100%; overflow: hidden; }\\n  text { font-family: var(--f-body, Inter, sans-serif); fill: var(--ink, #0D1116); }\\n  .micro { font-size: 13px; font-weight: 400; fill: var(--muted, #5F6871); }\\n  .heading { font-size: 13.5px; font-weight: 400; fill: var(--muted, #5F6871); }\\n  .city-name { font-family: var(--f-display, 'Inter Tight', sans-serif); font-size: 16px; font-weight: 500; letter-spacing: -.15px; }\\n  .town-name { font-size: 12.5px; font-weight: 400; fill: var(--muted, #5F6871); }\\n  .land { fill: var(--canvas, #F3F1EC); }\\n  .coast { fill: none; stroke: var(--ink, #0D1116); stroke-opacity: .28; stroke-width: .8; stroke-linejoin: round; stroke-linecap: round; }\\n  .area-fill { fill: var(--blue-soft, #DDEBF6); fill-opacity: .72; }\\n  .area-edge { fill: none; stroke: var(--blue, #2588C9); stroke-opacity: .33; stroke-width: .8; }\\n  .hub { fill: var(--blue, #2588C9); stroke: #fff; stroke-width: 2; }\\n  .town { fill: var(--ink-2, #2A3038); stroke: #fff; stroke-width: 1.4; }\\n  .leader { fill: none; stroke: var(--ink, #0D1116); stroke-opacity: .25; stroke-width: .7; stroke-linecap: round; stroke-linejoin: round; }\\n  .rule { stroke: var(--line-2, rgba(13,17,22,.16)); stroke-width: .7; }\\n  .blue { fill: var(--blue, #2588C9); }\\n  .quiet { fill: var(--muted, #5F6871); }\\n  @container (max-width: 479px) {\\n    .town-detail { display: none; }\\n    .city-name { font-size: 23px; }\\n    .micro { font-size: 17px; }\\n    .heading { font-size: 18px; }\\n    .legend-nearby { transform: translate(178px, 0); }\\n  }\\n\", za = class extends HTMLElement {\n\tconstructor() {\n\t\tsuper(), this.attachShadow({ mode: \"open\" }).innerHTML = `<style>${Ra}</style>`, this.animations = [], this.started = !1, this.inView = !1, this.motion = matchMedia(\"(prefers-reduced-motion: reduce)\"), this.onVisibility = () => this.syncPlayback(), this.onMotion = () => {\n\t\t\tthis.motion.matches && this.finish();\n\t\t};\n\t}\n\tconnectedCallback() {\n\t\tdocument.addEventListener(\"visibilitychange\", this.onVisibility), this.motion.addEventListener(\"change\", this.onMotion), \"IntersectionObserver\" in window ? (this.near = new IntersectionObserver(([e]) => {\n\t\t\te.isIntersecting && (this.near.disconnect(), this.load());\n\t\t}, { rootMargin: \"100% 0px\" }), this.near.observe(this), this.observer = new IntersectionObserver((e) => {\n\t\t\tthis.inView = e[0].isIntersecting, this.inView && this.ready && !this.started && this.start(), this.syncPlayback();\n\t\t}, { threshold: .18 }), this.observer.observe(this)) : (this.inView = !0, this.load());\n\t}\n\tasync load() {\n\t\tif (this.ready) return;\n\t\tlet e = await Ia();\n\t\t!this.ready && this.isConnected && (this.render(e), this.ready = !0, this.motion.matches ? this.finish() : this.inView && this.start());\n\t}\n\tdisconnectedCallback() {\n\t\tthis.near?.disconnect(), this.observer?.disconnect(), document.removeEventListener(\"visibilitychange\", this.onVisibility), this.motion.removeEventListener(\"change\", this.onMotion), this.animations.forEach((e) => e.pause());\n\t}\n\trender({ coast: e, outline: t, PLACES: n }) {\n\t\tlet r = `aura-coverage-${++La}`, i = [\n\t\t\t{\n\t\t\t\tkey: \"dublin\",\n\t\t\t\tname: \"Dublin\",\n\t\t\t\tradius: 67,\n\t\t\t\tlabel: [480, 321]\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"cork\",\n\t\t\t\tname: \"Cork\",\n\t\t\t\tradius: 43,\n\t\t\t\tlabel: [320, 491]\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"galway\",\n\t\t\t\tname: \"Galway\",\n\t\t\t\tradius: 42,\n\t\t\t\tlabel: [147, 351],\n\t\t\t\tanchor: \"end\"\n\t\t\t}\n\t\t], a = [\n\t\t\t{\n\t\t\t\tkey: \"navan\",\n\t\t\t\tname: \"Navan\",\n\t\t\t\tlabel: [329, 266],\n\t\t\t\tanchor: \"end\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"drogheda\",\n\t\t\t\tname: \"Drogheda\",\n\t\t\t\tlabel: [475, 241]\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"kildare\",\n\t\t\t\tname: \"Kildare\",\n\t\t\t\tlabel: [326, 356],\n\t\t\t\tanchor: \"end\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"wicklow\",\n\t\t\t\tname: \"Wicklow\",\n\t\t\t\tlabel: [478, 404]\n\t\t\t}\n\t\t], o = (e, t, n, r) => {\n\t\t\tlet i = [t[0] + (n === \"end\" ? 9 : -9), t[1] - 5], a = Math.hypot(i[0] - e[0], i[1] - e[1]);\n\t\t\treturn `<path class=\"leader\" d=\"M${e.map((e, t) => e + (i[t] - e) * r / a)}L${i}\"/>`;\n\t\t}, s = document.createElement(\"template\");\n\t\ts.innerHTML = `\n      <svg viewBox=\"0 0 620 620\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n        <defs>\n          <clipPath id=\"${r}-land\"><path d=\"${t}\"/></clipPath>\n        </defs>\n        <g>\n          <path d=\"M38 43H56\" stroke=\"var(--blue, #2588C9)\" stroke-width=\"1.5\"/>\n          <text class=\"heading\" x=\"66\" y=\"47\">Installation coverage</text>\n          <text class=\"micro\" x=\"582\" y=\"47\" text-anchor=\"end\">Ireland</text>\n        </g>\n        <path class=\"land\" d=\"${t}\"/>\n        ${i.map((e) => {\n\t\t\tlet [t, i] = Pa(n[e.key]);\n\t\t\treturn `<g clip-path=\"url(#${r}-land)\"><g class=\"coverage\" style=\"transform-origin:${t}px ${i}px\"><circle class=\"area-fill\" cx=\"${t}\" cy=\"${i}\" r=\"${e.radius}\"/></g></g>\n            <g class=\"coverage\" style=\"transform-origin:${t}px ${i}px\"><circle class=\"area-edge\" cx=\"${t}\" cy=\"${i}\" r=\"${e.radius}\"/></g>`;\n\t\t}).join(\"\")}\n        <g>${e.map((e) => `<path class=\"coast\" d=\"${e}\" pathLength=\"1\"/>`).join(\"\")}</g>\n        ${i.map((e) => {\n\t\t\tlet t = Pa(n[e.key]);\n\t\t\treturn `<g class=\"hub-dot\" style=\"transform-origin:${t[0]}px ${t[1]}px\"><circle class=\"hub\" cx=\"${t[0]}\" cy=\"${t[1]}\" r=\"4\"/></g>\n            <g class=\"city-label\">${o(t, e.label, e.anchor, 8)}<text class=\"city-name\" x=\"${e.label[0]}\" y=\"${e.label[1]}\" text-anchor=\"${e.anchor || \"start\"}\">${e.name}</text></g>`;\n\t\t}).join(\"\")}\n        ${a.map((e) => {\n\t\t\tlet t = Pa(n[e.key]);\n\t\t\treturn `<g class=\"town-dot\"><circle class=\"town\" cx=\"${t[0]}\" cy=\"${t[1]}\" r=\"2.7\"/></g>\n            <g class=\"town-detail\">${o(t, e.label, e.anchor, 5)}<text class=\"town-name\" x=\"${e.label[0]}\" y=\"${e.label[1]}\" text-anchor=\"${e.anchor || \"start\"}\">${e.name}</text></g>`;\n\t\t}).join(\"\")}\n        <g class=\"legend\">\n          <path class=\"rule\" d=\"M38 559H582\"/>\n          <circle class=\"blue\" cx=\"43\" cy=\"585\" r=\"3.5\"/><text class=\"micro\" x=\"55\" y=\"589\">Key regions</text>\n          <g class=\"legend-nearby\" transform=\"translate(156 0)\"><circle class=\"quiet\" cx=\"2.5\" cy=\"585\" r=\"2.5\"/><text class=\"micro\" x=\"14\" y=\"589\">Nearby areas</text></g>\n        </g>\n      </svg>`, this.shadowRoot.append(s.content), this.motion.matches || this.prepare();\n\t}\n\tprepare() {\n\t\tlet e = this.shadowRoot, t = (e, t, n, r, i = \"cubic-bezier(.16, 1, .3, 1)\") => {\n\t\t\tlet a = e.animate(t, {\n\t\t\t\tdelay: n,\n\t\t\t\tduration: r,\n\t\t\t\teasing: i,\n\t\t\t\tfill: \"both\"\n\t\t\t});\n\t\t\ta.pause(), this.animations.push(a);\n\t\t};\n\t\te.querySelectorAll(\".coast\").forEach((e, n) => {\n\t\t\tt(e, [{\n\t\t\t\tstrokeDasharray: \"1 1\",\n\t\t\t\tstrokeDashoffset: 1,\n\t\t\t\topacity: 0\n\t\t\t}, {\n\t\t\t\tstrokeDasharray: \"1 1\",\n\t\t\t\tstrokeDashoffset: 0,\n\t\t\t\topacity: 1\n\t\t\t}], n ? 400 : 0, n ? 650 : 1100);\n\t\t}), t(e.querySelector(\".land\"), [{ opacity: 0 }, { opacity: 1 }], 650, 650), e.querySelectorAll(\".hub-dot\").forEach((e, n) => {\n\t\t\tt(e, [{\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: \"scale(.3)\"\n\t\t\t}, {\n\t\t\t\topacity: 1,\n\t\t\t\ttransform: \"scale(1)\"\n\t\t\t}], 1150 + n * 240, 430);\n\t\t}), e.querySelectorAll(\".coverage\").forEach((e, n) => {\n\t\t\tt(e, [{\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: \"scale(.05)\"\n\t\t\t}, {\n\t\t\t\topacity: 1,\n\t\t\t\ttransform: \"scale(1)\"\n\t\t\t}], 1330 + Math.floor(n / 2) * 240, 750);\n\t\t}), e.querySelectorAll(\".town-dot\").forEach((e, n) => {\n\t\t\tt(e, [{ opacity: 0 }, { opacity: 1 }], 2070 + n * 90, 300);\n\t\t}), e.querySelectorAll(\".city-label, .town-detail\").forEach((e, n) => {\n\t\t\tt(e, [{\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: \"translateY(4px)\"\n\t\t\t}, {\n\t\t\t\topacity: 1,\n\t\t\t\ttransform: \"translateY(0)\"\n\t\t\t}], 2260 + n * 65, 430);\n\t\t}), t(e.querySelector(\".legend\"), [{ opacity: 0 }, { opacity: 1 }], 2640, 460), Promise.all(this.animations.map((e) => e.finished)).then(() => {\n\t\t\tthis.animations.forEach((e) => e.cancel()), this.animations = [];\n\t\t}).catch(() => {});\n\t}\n\tstart() {\n\t\tthis.started = !0, this.syncPlayback();\n\t}\n\tsyncPlayback() {\n\t\tlet e = this.started && this.inView && !document.hidden;\n\t\tthis.animations.forEach((t) => e ? t.play() : t.pause());\n\t}\n\tfinish() {\n\t\tthis.started = !0, this.animations.forEach((e) => e.cancel()), this.animations = [];\n\t}\n};\ncustomElements.get(\"aura-coverage\") || customElements.define(\"aura-coverage\", za);\n//#endregion\n//#region src/blinds/aura-blinds.js\nvar Ba = {\n\tsize: [1536, 1024],\n\tpxPerM: 318,\n\tcassette: {\n\t\tx0: 481,\n\t\tx1: 1053,\n\t\ttop: 95,\n\t\tbottom: 125\n\t},\n\tbarRest: {\n\t\ttop: 123,\n\t\tbottom: 133\n\t},\n\tfabric: {\n\t\tx0: 491,\n\t\tx1: 1043,\n\t\ttop: 125,\n\t\tstop: 562\n\t},\n\tglass: {\n\t\ttop: 160,\n\t\tbottom: 536\n\t},\n\tfocus: [.49, .4],\n\tsrc: {\n\t\tday: window.AURA_ASSETS ? window.AURA_ASSETS + \"blinds-plate-day\" : \"assets/img/blinds-plate-day\",\n\t\tshut: window.AURA_ASSETS ? window.AURA_ASSETS + \"blinds-plate-shut\" : \"assets/img/blinds-plate-shut\",\n\t\teve: window.AURA_ASSETS ? window.AURA_ASSETS + \"blinds-plate-evening\" : \"assets/img/blinds-plate-evening\"\n\t},\n\twidths: [1024, 1536]\n}, Va = {\n\tscreen: {\n\t\tname: \"Sheer screen\",\n\t\tweave: window.AURA_ASSETS ? window.AURA_ASSETS + \"blinds-weave-screen.webp\" : \"assets/img/blinds-weave-screen.webp\",\n\t\tcontrast: .55,\n\t\ttrans: .16,\n\t\topen: .26,\n\t\tblock: .5,\n\t\tcolours: [\n\t\t\t[\"Chalk\", \"#E8E5DF\"],\n\t\t\t[\"Stone\", \"#BDB5A8\"],\n\t\t\t[\"Graphite\", \"#63666B\"],\n\t\t\t[\"Charcoal\", \"#36393D\"]\n\t\t]\n\t},\n\tlinen: {\n\t\tname: \"Light filtering\",\n\t\tweave: window.AURA_ASSETS ? window.AURA_ASSETS + \"blinds-weave-linen.webp\" : \"assets/img/blinds-weave-linen.webp\",\n\t\tcontrast: .9,\n\t\ttrans: .3,\n\t\topen: 0,\n\t\tblock: .74,\n\t\tcolours: [\n\t\t\t[\"Linen\", \"#D3CABC\"],\n\t\t\t[\"Oat\", \"#BBAE9A\"],\n\t\t\t[\"Sage\", \"#A2A690\"],\n\t\t\t[\"Slate\", \"#868D94\"]\n\t\t]\n\t},\n\tblackout: {\n\t\tname: \"Blackout\",\n\t\tweave: window.AURA_ASSETS ? window.AURA_ASSETS + \"blinds-weave-blackout.webp\" : \"assets/img/blinds-weave-blackout.webp\",\n\t\tcontrast: .35,\n\t\ttrans: 0,\n\t\topen: 0,\n\t\tblock: .98,\n\t\tcolours: [\n\t\t\t[\"White\", \"#ECEAE5\"],\n\t\t\t[\"Dove\", \"#C8C4BD\"],\n\t\t\t[\"Mist\", \"#9BA5AC\"],\n\t\t\t[\"Charcoal\", \"#3E4248\"]\n\t\t]\n\t}\n}, Ha = 2.8, Ua = .22, Wa = \"\\nattribute vec2 aP;\\nvarying vec2 vUv;\\nvoid main() { vUv = vec2(aP.x * .5 + .5, .5 - aP.y * .5); gl_Position = vec4(aP, 0., 1.); }\", Ga = \"\\n#ifdef GL_FRAGMENT_PRECISION_HIGH\\nprecision highp float;\\n#else\\nprecision mediump float;\\n#endif\\nvarying vec2 vUv;\\nuniform sampler2D uDay, uShut, uEve;   // the plates: open by day, blind down by day, evening\\nuniform sampler2D uBack;               // day | evening, blurred: the light coming through the cloth\\nuniform sampler2D uView2;              // day | evening, softened: the garden seen through a weave\\nuniform sampler2D uRows;               // 256 x 3: wall light left, right (by height); cassette white (across)\\nuniform sampler2D uWeaveA, uWeaveB;\\nuniform vec4 uView;                    // plate uv = uView.xy + vUv * uView.zw\\nuniform vec4 uFab;                     // cloth x0, x1, top, stop\\nuniform vec4 uBar;                     // hem bar bottom at rest, bar height, -, one metre (uv y)\\nuniform float uDrop, uBlock, uEvening, uMix, uHover, uAspect;\\nuniform vec3 uColA, uColB;             // linear albedo\\nuniform vec4 uPropA, uPropB;           // trans, open, weave contrast, 1 / weave mean\\nuniform vec2 uTile;                    // plate uv per weave tile\\nuniform vec2 uPx;                      // plate uv per canvas pixel\\n\\n// gamma 2 in and out: close to sRGB, and a multiply instead of a pow\\nvec3 lin(vec3 c) { return c * c; }\\nfloat aa(float d, float w) { return clamp(d / w + .5, 0., 1.); }\\nfloat hash(vec2 p) { p = fract(p * vec2(123.34, 456.21)); p += dot(p, p + 45.32); return fract(p.x * p.y); }\\n// day on the left half of an atlas, evening on the right: only what is showing is read\\nvec3 pair(sampler2D t, vec2 p) {\\n  vec2 q = vec2(clamp(p.x, .004, .996) * .5, p.y);\\n  if (uEvening <= 0.) return lin(texture2D(t, q).rgb);\\n  vec3 e = lin(texture2D(t, q + vec2(.5, 0.)).rgb);\\n  if (uEvening >= 1.) return e;\\n  return mix(lin(texture2D(t, q).rgb), e, uEvening);\\n}\\n\\nvoid main() {\\n  vec2 p = uView.xy + vUv * uView.zw;\\n  float barBot = mix(uBar.x, uFab.w, uDrop), barTop = barBot - uBar.y;\\n  float inX = aa(p.x - uFab.x, uPx.x) * aa(uFab.y - p.x, uPx.x);\\n\\n  // the room. By day it takes on the light the cloth takes away, except in the recess,\\n  // where the glass keeps its own light (the cloth is drawn over it)\\n  vec3 room;\\n  if (uEvening < 1.) {\\n    room = lin(texture2D(uDay, p).rgb);\\n    if (uBlock > 0.) {\\n      float inRecess = inX * aa(p.y - uFab.z, uPx.y) * aa(uFab.w + uBar.w * .01 - p.y, uPx.y);\\n      room = mix(room, lin(texture2D(uShut, p).rgb), uBlock * (1. - inRecess));\\n    }\\n    if (uEvening > 0.) room = mix(room, lin(texture2D(uEve, p).rgb), uEvening);\\n  } else room = lin(texture2D(uEve, p).rgb);\\n\\n  // under the hem bar a soft shadow, deepening as it nears the window board\\n  float below = p.y - barBot;\\n  if (uDrop > .002 && below > 0. && inX > 0.) {\\n    float near = 1. - smoothstep(0., uBar.w * .06, uFab.w - barBot);\\n    room *= 1. - inX * exp(-below / (uBar.w * (.008 + near * .01))) * (.22 + near * .3);\\n  }\\n\\n  float inCloth = inX * aa(p.y - uFab.z, uPx.y) * aa(barTop - p.y, uPx.y);\\n  float inBar = inX * aa(p.y - barTop, uPx.y) * aa(barBot - p.y, uPx.y);\\n  // the weave hangs from the hem, so it travels with the cloth (read outside any branch: it is mipmapped)\\n  vec2 tuv = vec2(p.x - uFab.x, p.y - barTop) / uTile;\\n  float wv = texture2D(uWeaveB, tuv).r * uPropB.w;\\n  if (uMix < 1.) wv = mix(texture2D(uWeaveA, tuv).r * uPropA.w, wv, uMix);\\n  vec3 col = room;\\n\\n  if (inCloth + inBar > 0.) {\\n    float tx = clamp((p.x - uFab.x) / (uFab.y - uFab.x), 0., 1.);\\n    if (inCloth > 0.) {\\n      // light on the room side: as on the wall beside the window at this height, either side\\n      float wy = clamp((p.y - uFab.z) / (uFab.w - uFab.z), 0., 1.);\\n      vec3 E = mix(lin(texture2D(uRows, vec2(wy, 1. / 6.)).rgb), lin(texture2D(uRows, vec2(wy, .5)).rgb), tx) * 1.25;\\n      vec3 alb = mix(uColA, uColB, uMix);\\n      vec4 pr = mix(uPropA, uPropB, uMix);\\n      float w = 1. + (wv - 1.) * pr.z;\\n      vec3 cloth = alb * w * E * (1. - pr.y);\\n      if (pr.x > 0.) cloth += pr.x * alb * w * pair(uBack, p);\\n      if (pr.y > 0.) cloth += pr.y * pair(uView2, p);\\n      // the cassette's shadow at the top, the edges turning a touch, a faint grain like the photo's\\n      cloth *= 1. - .2 * exp(-max(p.y - uFab.z, 0.) / (uBar.w * .012));\\n      float edge = min(p.x - uFab.x, uFab.y - p.x) / uBar.w * uAspect;\\n      cloth *= 1. - .05 * (1. - smoothstep(0., .02, edge));\\n      cloth *= 1. + (hash(floor(vUv * uView.zw / uPx)) - .5) * .018;\\n      col = mix(col, cloth, inCloth);\\n    }\\n    if (inBar > 0.) {\\n      // the hem bar: the cassette's own white, as lit, on a rounded aluminium profile\\n      vec3 cas = lin(texture2D(uRows, vec2(tx, 5. / 6.)).rgb);\\n      float yb = clamp((p.y - barTop) / uBar.y, 0., 1.);\\n      float prof = mix(1.06, .74, smoothstep(.2, 1., yb)) * (1. - .3 * (1. - smoothstep(0., .14, yb)));\\n      col = mix(col, cas * prof * (1. + uHover * .05), inBar);\\n    }\\n  }\\n  gl_FragColor = vec4(sqrt(max(col, 0.)), 1.);\\n}\", Ka = (e, t, n) => e + (t - e) * n, qa = (e) => e * e * (3 - 2 * e), Ja = (e) => [\n\t1,\n\t3,\n\t5\n].map((t) => (parseInt(e.slice(t, t + 2), 16) / 255) ** 2);\nfunction Ya(e) {\n\tlet t = new Image();\n\treturn t.decoding = \"async\", t.src = e, t.decode().then(() => t);\n}\nfunction Xa(e, t) {\n\tlet n = e, r = e.naturalWidth || e.width, i = e.naturalHeight || e.height;\n\tfor (; r / 2 >= t;) {\n\t\tr = Math.round(r / 2), i = Math.round(i / 2);\n\t\tlet e = document.createElement(\"canvas\");\n\t\te.width = r, e.height = i;\n\t\tlet t = e.getContext(\"2d\");\n\t\tt.imageSmoothingQuality = \"high\", t.drawImage(n, 0, 0, r, i), n = e;\n\t}\n\treturn n;\n}\nfunction Za(e, t) {\n\tlet n = e.width, r = e.height;\n\tfor (; n < t;) {\n\t\tn *= 2, r *= 2;\n\t\tlet t = document.createElement(\"canvas\");\n\t\tt.width = n, t.height = r;\n\t\tlet i = t.getContext(\"2d\");\n\t\ti.imageSmoothingQuality = \"high\", i.drawImage(e, 0, 0, n, r), e = t;\n\t}\n\treturn e;\n}\nfunction Qa(e, t) {\n\tlet n = document.createElement(\"canvas\");\n\tn.width = e.width * 2, n.height = e.height;\n\tlet r = n.getContext(\"2d\");\n\treturn r.drawImage(e, 0, 0), r.drawImage(t, e.width, 0, e.width, e.height), n;\n}\nvar $a = 256;\nfunction eo(e, t) {\n\tlet [n, r] = t.size, i = document.createElement(\"canvas\");\n\ti.width = n, i.height = r;\n\tlet a = i.getContext(\"2d\", { willReadFrequently: !0 }), o = t.pxPerM, s = (e, t, n, r, i, a) => {\n\t\tlet o = [\n\t\t\t0,\n\t\t\t0,\n\t\t\t0\n\t\t], s = 0;\n\t\tfor (let c = n; c < r; c++) for (let n = e; n < t; n++) {\n\t\t\tlet e = (c * a + n) * 4;\n\t\t\to[0] += (i[e] / 255) ** 2, o[1] += (i[e + 1] / 255) ** 2, o[2] += (i[e + 2] / 255) ** 2, s++;\n\t\t}\n\t\treturn o.map((e) => e / Math.max(1, s));\n\t};\n\treturn e.map((e) => {\n\t\ta.drawImage(e, 0, 0, n, r);\n\t\tlet i = new Float32Array($a * 3 * 3), c = t.fabric.top, l = t.fabric.stop;\n\t\t[[t.cassette.x0 - .2 * o, t.cassette.x0 - .06 * o], [t.cassette.x1 + .06 * o, t.cassette.x1 + .2 * o]].forEach(([e, t], r) => {\n\t\t\tlet u = Math.max(0, Math.round(e)), d = Math.min(n, Math.round(t)) - u, f = a.getImageData(u, c, d, l - c).data;\n\t\t\tfor (let e = 0; e < $a; e++) {\n\t\t\t\tlet t = (e + .5) / $a * (l - c), n = Math.max(2, .03 * o), a = s(0, d, Math.max(0, Math.floor(t - n)), Math.min(l - c, Math.ceil(t + n)), f, d);\n\t\t\t\ti.set(a, (r * $a + e) * 3);\n\t\t\t}\n\t\t});\n\t\tlet u = Math.round(t.cassette.top + (t.cassette.bottom - t.cassette.top) * .3), d = Math.round(t.cassette.bottom - (t.cassette.bottom - t.cassette.top) * .3), f = t.fabric.x0, p = t.fabric.x1 - t.fabric.x0, m = a.getImageData(f, u, p, d - u).data;\n\t\tfor (let e = 0; e < $a; e++) {\n\t\t\tlet t = Math.floor(e / $a * p), n = Math.max(t + 1, Math.floor((e + 1) / $a * p));\n\t\t\ti.set(s(t, n, 0, d - u, m, p), (2 * $a + e) * 3);\n\t\t}\n\t\treturn i;\n\t});\n}\nfunction to(e) {\n\tlet t = Xa(e, 32), n = t.getContext(\"2d\", { willReadFrequently: !0 }).getImageData(0, 0, t.width, t.height).data, r = 0;\n\tfor (let e = 0; e < n.length; e += 4) r += n[e];\n\treturn r / (n.length / 4) / 255;\n}\nvar no = class {\n\tconstructor(e) {\n\t\tthis.canvas = e;\n\t\tlet t = this.gl = e.getContext(\"webgl\", {\n\t\t\talpha: !1,\n\t\t\tantialias: !1,\n\t\t\tdepth: !1,\n\t\t\tstencil: !1,\n\t\t\tpremultipliedAlpha: !1,\n\t\t\tpreserveDrawingBuffer: !1,\n\t\t\tpowerPreference: \"low-power\"\n\t\t});\n\t\tif (!t) throw Error(\"no webgl\");\n\t\tif (t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS) < 8) throw Error(\"too few texture units\");\n\t\tlet n = (e, n) => {\n\t\t\tlet r = t.createShader(e);\n\t\t\tif (t.shaderSource(r, n), t.compileShader(r), !t.getShaderParameter(r, t.COMPILE_STATUS)) throw Error(t.getShaderInfoLog(r));\n\t\t\treturn r;\n\t\t}, r = this.pr = t.createProgram();\n\t\tif (t.attachShader(r, n(t.VERTEX_SHADER, Wa)), t.attachShader(r, n(t.FRAGMENT_SHADER, Ga)), t.linkProgram(r), !t.getProgramParameter(r, t.LINK_STATUS)) throw Error(t.getProgramInfoLog(r));\n\t\tt.useProgram(r);\n\t\tlet i = t.createBuffer();\n\t\tt.bindBuffer(t.ARRAY_BUFFER, i), t.bufferData(t.ARRAY_BUFFER, new Float32Array([\n\t\t\t-1,\n\t\t\t-1,\n\t\t\t3,\n\t\t\t-1,\n\t\t\t-1,\n\t\t\t3\n\t\t]), t.STATIC_DRAW);\n\t\tlet a = t.getAttribLocation(r, \"aP\");\n\t\tt.enableVertexAttribArray(a), t.vertexAttribPointer(a, 2, t.FLOAT, !1, 0, 0), this.u = {}, [\n\t\t\t\"uDay\",\n\t\t\t\"uShut\",\n\t\t\t\"uEve\",\n\t\t\t\"uBack\",\n\t\t\t\"uView2\",\n\t\t\t\"uRows\",\n\t\t\t\"uWeaveA\",\n\t\t\t\"uWeaveB\"\n\t\t].forEach((e, n) => t.uniform1i(this.loc(e), n));\n\t}\n\tloc(e) {\n\t\treturn this.u[e] ??= this.gl.getUniformLocation(this.pr, e);\n\t}\n\ttexture(e, t, { repeat: n = !1, data: r = null, w: i = 0, h: a = 0 } = {}) {\n\t\tlet o = this.gl, s = o.createTexture();\n\t\to.activeTexture(o.TEXTURE0 + e), o.bindTexture(o.TEXTURE_2D, s), o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL, !1), r ? o.texImage2D(o.TEXTURE_2D, 0, o.RGBA, i, a, 0, o.RGBA, o.UNSIGNED_BYTE, r) : o.texImage2D(o.TEXTURE_2D, 0, o.RGBA, o.RGBA, o.UNSIGNED_BYTE, t);\n\t\tlet c = n ? o.REPEAT : o.CLAMP_TO_EDGE;\n\t\treturn o.texParameteri(o.TEXTURE_2D, o.TEXTURE_WRAP_S, c), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_WRAP_T, c), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_MAG_FILTER, o.LINEAR), n ? (o.generateMipmap(o.TEXTURE_2D), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_MIN_FILTER, o.LINEAR_MIPMAP_LINEAR)) : o.texParameteri(o.TEXTURE_2D, o.TEXTURE_MIN_FILTER, o.LINEAR), s;\n\t}\n\tupdate(e, t, n, r, i) {\n\t\tlet a = this.gl;\n\t\ta.activeTexture(a.TEXTURE0 + e), a.bindTexture(a.TEXTURE_2D, t), a.texSubImage2D(a.TEXTURE_2D, 0, 0, 0, r, i, a.RGBA, a.UNSIGNED_BYTE, n);\n\t}\n\tbind(e, t) {\n\t\tlet n = this.gl;\n\t\tn.activeTexture(n.TEXTURE0 + e), n.bindTexture(n.TEXTURE_2D, t);\n\t}\n\tset(e, ...t) {\n\t\tlet n = this.gl, r = this.loc(e);\n\t\tt.length === 1 ? n.uniform1f(r, t[0]) : t.length === 2 ? n.uniform2f(r, ...t) : t.length === 3 ? n.uniform3f(r, ...t) : n.uniform4f(r, ...t);\n\t}\n\tdraw(e, t) {\n\t\tlet n = this.gl;\n\t\tn.viewport(0, 0, e, t), n.drawArrays(n.TRIANGLES, 0, 3);\n\t}\n};\nfunction ro(e) {\n\tlet t = Ba, [n, r] = t.size, i = e.querySelector(\"[data-blind-media]\"), a = i.querySelector(\"img\"), o = e.querySelector(\"[data-blind-handle]\"), s = e.querySelector(\"[data-blind-range]\"), c = e.querySelector(\"[data-blind-pct]\"), l = e.querySelector(\"[data-blind-status]\"), u = e.querySelector(\"[data-blind-light]\"), d = e.querySelector(\"[data-blind-privacy]\"), f = e.querySelector(\"[data-blind-note]\"), p = e.querySelector(\"[data-blind-colour]\"), m = e.querySelector(\"[data-blind-swatches]\"), h = [...e.querySelectorAll(\"[data-blind-to]\")], g = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, _ = matchMedia(\"(hover: hover) and (pointer: fine)\").matches, v = {\n\t\tdrop: 0,\n\t\ttarget: 0,\n\t\tvel: 0,\n\t\ttype: \"linen\",\n\t\tcolour: 1,\n\t\teve: 0,\n\t\teveTo: 0,\n\t\tmix: 1,\n\t\tfrom: null,\n\t\thover: 0,\n\t\ttouched: !1,\n\t\tsched: \"\"\n\t}, y = null, b = 0, x = 0, S = [\n\t\t0,\n\t\t0,\n\t\t1,\n\t\t1\n\t], C = 0, w = 0, T = null, E = {}, D = {}, O = {}, ee = null, k = null, te = new Uint8Array($a * 3 * 4).fill(255), ne = () => {\n\t\tif (C = i.clientWidth, w = i.clientHeight, !C || !w) return;\n\t\tlet e = C / w, o = n / r, s = 1, c = 1;\n\t\te < o ? s = e / o : c = o / e, C < 600 && (s *= .84, c *= .84);\n\t\tlet [l, u] = t.focus;\n\t\tS = [\n\t\t\tMath.min(Math.max(l - s / 2, 0), 1 - s),\n\t\t\tMath.min(Math.max(u - c / 2, 0), 1 - c),\n\t\t\ts,\n\t\t\tc\n\t\t];\n\t\tlet d = C / S[2], f = w / S[3];\n\t\tObject.assign(a.style, {\n\t\t\twidth: `${d}px`,\n\t\t\theight: `${f}px`,\n\t\t\tleft: `${-S[0] * d}px`,\n\t\t\ttop: `${-S[1] * f}px`,\n\t\t\tobjectFit: \"fill\"\n\t\t}), y && ie(), ce(), L();\n\t}, re = !1, j = !1, M = 0, ie = () => {\n\t\tlet e = Math.min(devicePixelRatio || 1, 2, S[2] * n / C) * (j && re ? .5 : 1), t = Math.round(C * e), r = Math.round(w * e);\n\t\t(y.canvas.width !== t || y.canvas.height !== r) && (y.canvas.width = t, y.canvas.height = r);\n\t}, ae = (e, t) => [(e / n - S[0]) / S[2] * C, (t / r - S[1]) / S[3] * w], oe = (e) => (S[1] + e / w * S[3]) * r, se = (e) => Ka(t.barRest.bottom, t.fabric.stop, e), ce = () => {\n\t\tlet [e, n] = ae(t.fabric.x0, se(v.drop)), [r] = ae(t.fabric.x1, 0);\n\t\to.style.transform = `translate(${e}px, ${n}px)`, o.style.width = `${r - e}px`;\n\t}, N = () => Va[v.type], le = (e) => Math.min(1, Math.max(0, (se(e) - t.glass.top) / (t.glass.bottom - t.glass.top))), P = (e, t) => le(t) * Va[e].block, ue = (e) => e <= 0 ? \"Fully open\" : e >= 100 ? \"Fully closed\" : `${e}% closed`, de = () => {\n\t\tlet e = le(v.drop), t = v.eveTo > 0;\n\t\treturn e < .5 ? \"Open to view\" : e < .97 ? \"Partial\" : v.type === \"screen\" ? t ? \"Low once lamps are on\" : \"Good by day\" : v.type === \"linen\" && t ? \"Shapes may show\" : \"Full\";\n\t}, fe = {\n\t\tscreen: [\"Keeps the view of the garden and takes the glare off it.\", \"After dark, with lamps on, a sheer can be seen through from outside.\"],\n\t\tlinen: [\"Lets soft daylight through and keeps the room private.\", \"Shuts out the view. Lamplit shapes can show faintly from outside.\"],\n\t\tblackout: [\"Blocks nearly all daylight: for bedrooms and screens.\", \"Blocks the view both ways, and the street light.\"]\n\t}, pe = {}, me = (e, t, n, r = !1) => {\n\t\tpe[t] !== n && (pe[t] = n, e[r ? \"innerHTML\" : \"textContent\"] = n);\n\t}, F = () => {\n\t\tlet e = Math.round(v.drop * 100);\n\t\tme(c, \"pct\", `${e}<small>%</small>`, !0), me(l, \"status\", v.sched && Math.abs(v.target - v.drop) < .002 ? v.sched : ue(e));\n\t\tlet t = Math.round((1 - P(v.type, v.drop)) * 100 / 5) * 5;\n\t\tme(u, \"light\", v.eveTo > 0 ? \"Evening\" : `${t}%`), (pe.v !== t || pe.eve !== v.eveTo) && (pe.v = t, pe.eve = v.eveTo, u.parentElement.style.setProperty(\"--v\", v.eveTo > 0 ? 0 : t / 100)), me(d, \"priv\", de()), me(f, \"note\", fe[v.type][+(v.eveTo > 0)]), Ee();\n\t}, I = e.querySelector(\"[data-blind-fallback]\"), L = () => {\n\t\tF(), ce();\n\t\tlet e = N().colours[v.colour][1];\n\t\tif (!y) {\n\t\t\tif (!I) return;\n\t\t\tlet [n, r] = ae(t.fabric.x0, t.fabric.top), [i] = ae(t.fabric.x1, 0), [, a] = ae(0, se(v.drop));\n\t\t\tObject.assign(I.style, {\n\t\t\t\tleft: `${n}px`,\n\t\t\t\ttop: `${r}px`,\n\t\t\t\twidth: `${i - n}px`,\n\t\t\t\theight: `${Math.max(0, a - r)}px`,\n\t\t\t\tbackground: e\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tlet i = y, { width: a, height: o } = y.canvas, s = N(), c = v.from ? Va[v.from.type] : s, l = Ja(v.from ? c.colours[v.from.colour][1] : e), u = Ja(e), d = Ka(v.from ? P(v.from.type, v.drop) : P(v.type, v.drop), P(v.type, v.drop), v.mix), f = qa(v.eve);\n\t\tif (O.block !== d || O.eve !== f) {\n\t\t\tO.block = d, O.eve = f;\n\t\t\tlet [e, t, n] = ee;\n\t\t\tfor (let r = 0; r < e.length; r++) {\n\t\t\t\tlet i = (e[r] + (t[r] - e[r]) * d) * (1 - f) + n[r] * f;\n\t\t\t\tte[(r / 3 | 0) * 4 + r % 3] = Math.min(255, Math.round(Math.sqrt(i) * 255));\n\t\t\t}\n\t\t\ti.update(5, k, te, $a, 3);\n\t\t}\n\t\ti.set(\"uView\", ...S), i.set(\"uFab\", t.fabric.x0 / n, t.fabric.x1 / n, t.fabric.top / r, t.fabric.stop / r), i.set(\"uBar\", t.barRest.bottom / r, (t.barRest.bottom - t.barRest.top) / r, 0, t.pxPerM / r), i.set(\"uDrop\", v.drop), i.set(\"uBlock\", d), i.set(\"uEvening\", f), i.set(\"uMix\", v.from ? qa(v.mix) : 1), i.set(\"uHover\", v.hover), i.set(\"uColA\", ...l), i.set(\"uColB\", ...u);\n\t\tlet p = (e, t) => [\n\t\t\te.trans,\n\t\t\te.open,\n\t\t\te.contrast,\n\t\t\t1 / (D[t] || .6)\n\t\t];\n\t\ti.set(\"uPropA\", ...p(c, v.from?.type ?? v.type)), i.set(\"uPropB\", ...p(s, v.type)), i.bind(6, E[v.from?.type ?? v.type]), i.bind(7, E[v.type]), i.set(\"uTile\", .3 * t.pxPerM / n, .3 * t.pxPerM / r), i.set(\"uPx\", S[2] / a, S[3] / o), i.set(\"uAspect\", n / r), i.draw(a, o);\n\t}, he = (e) => {\n\t\tlet t = (e - (x || e)) / 1e3, n = Math.min(.05, t);\n\t\tx = e, j ? y && !re && (M = t > .03 ? M + 1 : 0, M > 5 && (re = !0, ie())) : (j = !0, y && re && ie());\n\t\tlet r = !1, i = 1 / (T ? Ha * .45 : Ha), a = i / Ua, o = v.target - v.drop;\n\t\tif (Math.abs(o) < 5e-4 && Math.abs(v.vel) < a * n * 1.5) v.drop = v.target, v.vel = 0;\n\t\telse {\n\t\t\tlet e = Math.sign(o) * Math.min(i, Math.sqrt(2 * a * Math.abs(o)));\n\t\t\tv.vel += Math.max(-a * n, Math.min(a * n, e - v.vel)), v.drop = Math.min(1, Math.max(0, v.drop + v.vel * n)), r = !0;\n\t\t}\n\t\tv.eve !== v.eveTo && (v.eve += Math.sign(v.eveTo - v.eve) * n / 1.6, v.eve = Math.min(1, Math.max(0, v.eve)), Math.abs(v.eve - v.eveTo) < .001 && (v.eve = v.eveTo), r = !0), v.mix < 1 && (v.mix = Math.min(1, v.mix + n / .45), v.mix >= 1 && (v.from = null), r = !0), r || (j = !1, y && re && ie()), (De || !r) && L(), r ? b = requestAnimationFrame(he) : (b = 0, x = 0);\n\t}, R = () => {\n\t\tb ||= requestAnimationFrame(he);\n\t}, ge = () => {\n\t\ts.value = Math.round(v.target * 100), s.style.setProperty(\"--fill\", `${v.target * 100}%`), h.forEach((e) => e.setAttribute(\"aria-pressed\", String(Number(e.dataset.blindTo) === Math.round(v.target * 100))));\n\t}, z = (e, { instant: t = !1, sched: n = \"\" } = {}) => {\n\t\tv.target = Math.min(1, Math.max(0, e)), v.sched = n, ge(), g || t ? (v.drop = v.target, v.vel = 0, L()) : R();\n\t}, B = () => {\n\t\tv.touched = !0;\n\t};\n\ts.addEventListener(\"input\", () => {\n\t\tB(), z(s.value / 100);\n\t}), h.forEach((e) => e.addEventListener(\"click\", () => {\n\t\tB(), z(e.dataset.blindTo / 100);\n\t}));\n\tlet _e = () => {\n\t\tm.innerHTML = N().colours.map(([e, t], n) => `<button type=\"button\" class=\"swatch\" style=\"--c:${t}\" aria-label=\"${e}\" aria-pressed=\"${n === v.colour}\"></button>`).join(\"\"), p.textContent = N().colours[v.colour][0];\n\t}, ve = (e, t) => {\n\t\t(e !== v.type || t !== v.colour) && (v.from = {\n\t\t\ttype: v.type,\n\t\t\tcolour: v.colour\n\t\t}, v.mix = +!!g, g && (v.from = null), v.type = e, v.colour = t, v.target < .3 && z(.62), R(), L());\n\t};\n\te.querySelectorAll(\"input[name=\\\"blind-fabric\\\"]\").forEach((e) => e.addEventListener(\"change\", () => {\n\t\te.checked && (B(), ve(e.value, Math.min(v.colour, Va[e.value].colours.length - 1)), _e());\n\t})), m.addEventListener(\"click\", (e) => {\n\t\tlet t = e.target.closest(\".swatch\");\n\t\tt && (B(), ve(v.type, [...m.children].indexOf(t)), _e());\n\t});\n\tlet ye = 0;\n\te.querySelectorAll(\"input[name=\\\"blind-time\\\"]\").forEach((t) => t.addEventListener(\"change\", () => {\n\t\tif (!t.checked) return;\n\t\tB();\n\t\tlet n = t.value === \"evening\";\n\t\tv.eveTo = +!!n, e.classList.toggle(\"is-evening\", n), clearTimeout(ye), g && (v.eve = v.eveTo), ye = setTimeout(() => z(+!!n, { sched: n ? \"Closed at sunset\" : \"Opened at 7:30\" }), g ? 0 : 900), R(), F();\n\t}));\n\tlet be = (e) => {\n\t\tlet n = i.getBoundingClientRect();\n\t\treturn (oe((e - n.top) * w / n.height) - t.barRest.bottom) / (t.fabric.stop - t.barRest.bottom);\n\t}, V = (e) => {\n\t\tlet n = i.getBoundingClientRect(), [r, a] = ae(t.cassette.x0, t.cassette.bottom), [o, s] = ae(t.cassette.x1, t.fabric.stop), c = (e.clientX - n.left) * C / n.width, l = (e.clientY - n.top) * w / n.height;\n\t\treturn c > r && c < o && l > a - 10 && l < s + 16;\n\t}, xe = (t) => {\n\t\tt.button > 0 || (T = { id: t.pointerId }, i.setPointerCapture(t.pointerId), e.classList.add(\"is-dragging\"), B(), z(be(t.clientY)), t.preventDefault());\n\t};\n\to.addEventListener(\"pointerdown\", xe), _ && i.addEventListener(\"pointerdown\", (e) => {\n\t\te.target !== o && V(e) && xe(e);\n\t}), i.addEventListener(\"pointermove\", (e) => {\n\t\tif (T && e.pointerId === T.id) {\n\t\t\tz(be(e.clientY));\n\t\t\treturn;\n\t\t}\n\t\tif (!_) return;\n\t\tlet t = V(e);\n\t\ti.classList.toggle(\"is-over\", t);\n\t\tlet n = +!!t;\n\t\tn !== v.hover && (v.hover = n, L());\n\t});\n\tlet Se = (t) => {\n\t\tT && t.pointerId === T.id && (T = null, e.classList.remove(\"is-dragging\"));\n\t};\n\ti.addEventListener(\"pointerup\", Se), i.addEventListener(\"pointercancel\", Se), i.addEventListener(\"pointerleave\", () => {\n\t\tv.hover && (v.hover = 0, i.classList.remove(\"is-over\"), L());\n\t});\n\tlet Ce = {\n\t\tscreen: \"sheer screen\",\n\t\tlinen: \"light-filtering\",\n\t\tblackout: \"blackout\"\n\t}, we = document.querySelector(\"[data-blind-sum]\"), Te = \"\", Ee = () => {\n\t\tlet e = `<span>We\u2019ll bring samples of <b>${Ce[v.type]}</b> fabric in <b>${N().colours[v.colour][0]}</b>, and the full catalogue.</span>`;\n\t\twe && e !== Te && (we.innerHTML = Te = e);\n\t};\n\tdocument.querySelectorAll(\"[data-blind-try]\").forEach((t) => t.addEventListener(\"click\", () => {\n\t\tlet n = e.querySelector(`input[name=\"blind-fabric\"][value=\"${t.dataset.blindTry}\"]`), r = e.getBoundingClientRect().top + scrollY - (innerHeight - e.offsetHeight) / 2;\n\t\twindow.A?.lenis ? window.A.lenis.scrollTo(Math.max(0, r), { duration: g ? 0 : 1.1 }) : scrollTo({\n\t\t\ttop: Math.max(0, r),\n\t\t\tbehavior: g ? \"auto\" : \"smooth\"\n\t\t}), setTimeout(() => {\n\t\t\tn.checked || (n.checked = !0, n.dispatchEvent(new Event(\"change\", { bubbles: !0 }))), v.target < .5 && z(.75);\n\t\t}, g ? 0 : 650);\n\t}));\n\tlet De = !0;\n\tnew IntersectionObserver((e) => {\n\t\tlet t = De;\n\t\tDe = e[0].isIntersecting, De && !t && L();\n\t}).observe(i), e.blinds = {\n\t\tst: v,\n\t\tview: () => S,\n\t\tmoveTo: z,\n\t\tpaint: L\n\t}, _e(), ge(), F(), new ResizeObserver(ne).observe(i), ne();\n\tlet Oe = (e) => `${e}-${t.widths.find((e) => e >= Math.min(devicePixelRatio || 1, 2) * C * (1 / S[2])) || t.widths.at(-1)}.webp`;\n\t(window.requestIdleCallback || ((e) => setTimeout(e, 200)))(async () => {\n\t\tlet n;\n\t\ttry {\n\t\t\tlet r = document.createElement(\"canvas\");\n\t\t\tr.className = \"blinds-cfg__gl\", r.setAttribute(\"aria-hidden\", \"true\"), n = new no(r);\n\t\t\tlet [a, s, c, ...l] = await Promise.all([\n\t\t\t\tYa(Oe(t.src.day)),\n\t\t\t\tYa(Oe(t.src.shut)),\n\t\t\t\tYa(Oe(t.src.eve)),\n\t\t\t\t...Object.values(Va).map((e) => Ya(e.weave))\n\t\t\t]);\n\t\t\tn.texture(0, a), n.texture(1, s), n.texture(2, c), n.texture(3, Qa(Za(Xa(a, 48), 384), Za(Xa(c, 48), 384))), n.texture(4, Qa(Xa(a, 768), Xa(c, 768))), ee = eo([\n\t\t\t\ta,\n\t\t\t\ts,\n\t\t\t\tc\n\t\t\t], t), k = n.texture(5, null, {\n\t\t\t\tdata: te,\n\t\t\t\tw: $a,\n\t\t\t\th: 3\n\t\t\t}), Object.keys(Va).forEach((e, t) => {\n\t\t\t\tE[e] = n.texture(6, l[t], { repeat: !0 }), D[e] = to(l[t]);\n\t\t\t}), r.addEventListener(\"webglcontextlost\", (t) => {\n\t\t\t\tt.preventDefault(), y = null, r.remove(), e.classList.remove(\"has-gl\"), L();\n\t\t\t}), y = n;\n\t\t\tlet u = n.gl.getExtension(\"WEBGL_debug_renderer_info\");\n\t\t\tre = /swiftshader|llvmpipe|software|basic render/i.test(u ? n.gl.getParameter(u.UNMASKED_RENDERER_WEBGL) : \"\"), i.insertBefore(r, o), e.classList.add(\"has-gl\"), ne();\n\t\t} catch (t) {\n\t\t\tconsole.warn(\"blinds: drawn flat\", t), y = null, e.classList.add(\"no-gl\"), L();\n\t\t}\n\t\tif (!g && \"IntersectionObserver\" in window) {\n\t\t\tlet e = 0, t = () => {\n\t\t\t\te = performance.now();\n\t\t\t};\n\t\t\taddEventListener(\"scroll\", t, { passive: !0 });\n\t\t\tlet n = new IntersectionObserver((r) => {\n\t\t\t\tif (!r[0].isIntersecting) return;\n\t\t\t\tn.disconnect();\n\t\t\t\tlet i = () => {\n\t\t\t\t\tif (v.touched) return removeEventListener(\"scroll\", t);\n\t\t\t\t\tif (performance.now() - e < 450) return setTimeout(i, 200);\n\t\t\t\t\tremoveEventListener(\"scroll\", t), z(.62);\n\t\t\t\t};\n\t\t\t\tsetTimeout(i, 900);\n\t\t\t}, { threshold: .5 });\n\t\t\tn.observe(i);\n\t\t}\n\t}, { timeout: 1200 });\n}\ndocument.querySelectorAll(\"[data-blinds]\").forEach(ro);\n//#endregion\n//#region src/guard/guard-window.js\nvar io = 1.3, ao = 1.45, oo = .025, so = .033, co = [.024, .028], lo = .09, uo = 62, fo = 8, po = .013, mo = io / 2, ho = -.033 / 2, go = [-.625, .625], _o = [oo, 1.425], vo = go[1] - go[0] - lo - co[0], yo = (e) => go[1] - (1 - e) * vo, bo = {\n\tgraphite: [\n\t\t.03,\n\t\t.032,\n\t\t.031\n\t],\n\tnavy: [\n\t\t.045,\n\t\t.062,\n\t\t.1\n\t],\n\ttitanium: [\n\t\t.33,\n\t\t.335,\n\t\t.32\n\t],\n\tquartz: [\n\t\t.8,\n\t\t.8,\n\t\t.79\n\t]\n}, xo = {\n\tgraphite: {\n\t\tf0: [\n\t\t\t.05,\n\t\t\t.05,\n\t\t\t.052\n\t\t],\n\t\tdif: [\n\t\t\t.03,\n\t\t\t.031,\n\t\t\t.034\n\t\t],\n\t\tgloss: 64\n\t},\n\tnavy: {\n\t\tf0: [\n\t\t\t.05,\n\t\t\t.055,\n\t\t\t.07\n\t\t],\n\t\tdif: [\n\t\t\t.022,\n\t\t\t.028,\n\t\t\t.062\n\t\t],\n\t\tgloss: 58\n\t},\n\ttitanium: {\n\t\tf0: [\n\t\t\t.5,\n\t\t\t.51,\n\t\t\t.53\n\t\t],\n\t\tdif: [\n\t\t\t.07,\n\t\t\t.072,\n\t\t\t.075\n\t\t],\n\t\tgloss: 46\n\t},\n\tquartz: {\n\t\tf0: [\n\t\t\t.05,\n\t\t\t.05,\n\t\t\t.05\n\t\t],\n\t\tdif: [\n\t\t\t.74,\n\t\t\t.735,\n\t\t\t.72\n\t\t],\n\t\tgloss: 30\n\t}\n}, So = [\n\t\"graphite\",\n\t\"navy\",\n\t\"titanium\",\n\t\"quartz\"\n], Co = {\n\tstrip: .03,\n\tkey: .9,\n\trim: .35,\n\tfill: .012,\n\texpo: 1.2,\n\taperture: 1.6,\n\tblur: .02\n}, wo = (e, t, n, r) => ({\n\tp: e,\n\teye: t,\n\tat: n,\n\tfov: r\n}), To = [\n\two(0, [\n\t\t-.36,\n\t\t.78,\n\t\t.2\n\t], [\n\t\t-.24,\n\t\t.74,\n\t\tho\n\t], 30),\n\two(.18, [\n\t\t-.06,\n\t\t.74,\n\t\t.2\n\t], [\n\t\t.06,\n\t\t.71,\n\t\tho\n\t], 30),\n\two(.22, [\n\t\t.1,\n\t\t.7,\n\t\t.21\n\t], [\n\t\t.22,\n\t\t.7,\n\t\tho\n\t], 30),\n\two(.3, [\n\t\t.32,\n\t\t.72,\n\t\t.23\n\t], [\n\t\t.43,\n\t\t.74,\n\t\tho\n\t], 30),\n\two(.38, [\n\t\t.5,\n\t\t.92,\n\t\t.25\n\t], [\n\t\t.6,\n\t\t1.02,\n\t\tho\n\t], 30),\n\two(.46, [\n\t\t.44,\n\t\t1.32,\n\t\t.25\n\t], [\n\t\t.6,\n\t\t1.42,\n\t\t-.01\n\t], 30),\n\two(.55, [\n\t\t.95,\n\t\t1.5,\n\t\t.18\n\t], [\n\t\t.62,\n\t\t1.42,\n\t\t-.015\n\t], 30),\n\two(.62, [\n\t\t.25,\n\t\t.16,\n\t\t.17\n\t], [\n\t\t.15,\n\t\t.52,\n\t\tho\n\t], 34),\n\two(.72, [\n\t\t-.02,\n\t\t.12,\n\t\t.16\n\t], [\n\t\t-.05,\n\t\t.56,\n\t\tho\n\t], 34),\n\two(.82, [\n\t\t-.75,\n\t\t.95,\n\t\t2\n\t], [\n\t\t0,\n\t\t.72,\n\t\t0\n\t], 40),\n\two(1, [\n\t\t-.3,\n\t\t.78,\n\t\t2.65\n\t], [\n\t\t0,\n\t\t.72,\n\t\t0\n\t], 40)\n], Eo = [\n\t{\n\t\tp: [0, .2],\n\t\tfrom: .55,\n\t\tto: .55\n\t},\n\t{\n\t\tp: [.2, .37],\n\t\tfrom: .55,\n\t\tto: 1,\n\t\tsnap: !0\n\t},\n\t{\n\t\tp: [.37, .58],\n\t\tfrom: 1,\n\t\tto: 1\n\t},\n\t{\n\t\tp: [.58, .72],\n\t\tfrom: 1,\n\t\tto: .72\n\t},\n\t{\n\t\tp: [.72, .89],\n\t\tfrom: .72,\n\t\tto: 1,\n\t\tsnap: !0\n\t},\n\t{\n\t\tp: [.89, 1],\n\t\tfrom: 1,\n\t\tto: 1\n\t}\n], Do = [\n\t[.25, .35],\n\t[.46, .54],\n\t[.6, .7]\n], Oo = [\n\t[\n\t\t0,\n\t\t-.44,\n\t\t.1\n\t],\n\t[\n\t\t.18,\n\t\t-.06,\n\t\t.1\n\t],\n\t[\n\t\t.3,\n\t\t.3,\n\t\t.11\n\t],\n\t[\n\t\t.38,\n\t\t.5,\n\t\t.13\n\t],\n\t[\n\t\t.55,\n\t\t.88,\n\t\t.2\n\t],\n\t[\n\t\t.6,\n\t\t.5,\n\t\t.12\n\t],\n\t[\n\t\t.72,\n\t\t-.3,\n\t\t.12\n\t],\n\t[\n\t\t.85,\n\t\t-1,\n\t\t.6\n\t],\n\t[\n\t\t1,\n\t\t-1,\n\t\t.6\n\t]\n], ko = [.74, .84], Ao = [.9, .98], jo = {\n\tmetal: 0,\n\tcloth: 1,\n\tcap: 2\n}, Mo = 7, No = \"\\nattribute vec3 aPos; attribute vec3 aNor; attribute float aAux;\\nuniform mat4 uVP; uniform vec3 uOff;\\nvarying vec3 vPos; varying vec3 vNor; varying float vAux;\\nvoid main() { vPos = aPos + uOff; vNor = aNor; vAux = aAux; gl_Position = uVP * vec4(vPos, 1.0); }\", Po = `\n#extension GL_OES_standard_derivatives : enable\nprecision highp float;\nvarying vec3 vPos; varying vec3 vNor; varying float vAux;\nuniform vec3 uEye; uniform float uMat;\nuniform vec3 uStrip; uniform float uStripK; uniform vec3 uKeyDir; uniform vec3 uKey; uniform vec3 uRimDir; uniform vec3 uRim; uniform vec3 uAmb;\nuniform vec3 uDark; uniform float uExpo; uniform vec2 uLens; uniform vec4 uIn;\nuniform vec3 uClothA; uniform vec3 uClothB; uniform vec3 uMetF0; uniform vec4 uMetDif; uniform vec3 uPleat;\nuniform sampler2D uNoise;\n\nvec3 aces(vec3 x) { return clamp((x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14), 0.0, 1.0); }\nfloat ign(vec2 p) { return fract(52.9829189 * fract(dot(p, vec2(0.06711056, 0.00583715)))); }\n\n// how far light wraps round a surface: the cloth's soft fibres carry it a little past the turn\nfloat gWrap = 0.0;\nvec3 shine(vec3 N, vec3 V, vec3 l, vec3 C, vec3 alb, vec3 F0, float gloss) {\n  vec3 H = normalize(l + V);\n  float nl = max((dot(N, l) + gWrap) / (1.0 + gWrap), 0.0);\n  float sp = pow(max(dot(N, H), 0.0), gloss) * (gloss + 8.0) / 25.0 * smoothstep(-0.2, 0.3, dot(N, l));\n  return C * (alb * nl + F0 * sp);\n}\n\nvoid main() {\n  vec3 P = vPos, V = normalize(uEye - P);\n  vec3 N = normalize(vNor); if (dot(N, V) < 0.0) N = -N;\n  // pleats counted from the bar (uPleat: the bar's edge, a pleat's width, where the turn has got to)\n  float q = (uPleat.x - P.x) / uPleat.y;\n  // pleats finer than a few pixels fade to the flat cloth they'd blur into, so they never shimmer\n  float fine = smoothstep(0.2, 0.45, fwidth(q));\n  // the non-woven's fibres: fine noise, fading out where it'd be finer than the pixels\n  vec2 fp = P.xy * vec2(620.0, 410.0);\n  float fade = 1.0 - smoothstep(0.3, 0.8, length(fwidth(fp)) / 128.0 * 3.0);\n  // every texture read up here, outside any branch: under ANGLE on Windows, Direct3D's compiler\n  // can take minutes over a texture read inside flow control\n  float f1 = texture2D(uNoise, fp / 128.0).r, f2 = texture2D(uNoise, fp / 37.0).g;\n  vec4 nz = texture2D(uNoise, P.xy * 3.1 + P.z * 1.7);\n\n  vec3 alb, F0; float gloss, sheen = 0.0;\n  if (uMat < 0.5) {             // anodised aluminium: matte, its highlights soft and wide\n    alb = uMetDif.rgb; F0 = uMetF0 * (0.96 + 0.04 * nz.g); gloss = uMetDif.a;\n  } else if (uMat < 1.5) {      // the cloth's room side\n    float fib = (f1 * 0.6 + f2 * 0.4) - 0.5;\n    N = normalize(mix(N + vec3(fib * 0.22, (f2 - 0.5) * 0.12, 0.0) * fade, vec3(0.0, 0.0, 1.0), fine)); if (dot(N, V) < 0.0) N = -N;\n    // each face of a pleat turns over to the next colour as the ripple passes it\n    float turn = smoothstep(0.0, 1.0, (uPleat.z - floor(q * 2.0) * 0.5) / 2.5);\n    alb = mix(uClothA, uClothB, turn) * (1.0 + fib * 0.22 * fade);\n    alb *= mix(mix(0.35, 1.0, smoothstep(0.0, 0.35, vAux)), 0.8, fine);  // deep in the crease, where the layers are bonded\n    float edge = min(P.y - uIn.z, uIn.w - P.y);                          // into the rails' tracks\n    alb *= mix(0.4, 1.0, smoothstep(0.0, 0.03, edge));\n    F0 = vec3(0.05); gloss = 14.0; sheen = 1.0; gWrap = 0.35;\n  } else {                      // the corner caps: moulded in the frame's colour, a little less glossy\n    alb = uMetDif.rgb * 1.15 + 0.008; F0 = vec3(0.045); gloss = 24.0;\n  }\n\n  vec3 col = alb * uAmb;\n  // the strip light: tall, low at the side, from its nearest point, so it rakes across the folds at\n  // every height and falls off away from it\n  {\n    vec3 lp = vec3(uStrip.x, clamp(P.y, -0.3, ${1.75.toFixed(2)}), uStrip.z);\n    vec3 d = lp - P; float d2 = dot(d, d);\n    col += shine(N, V, d * inversesqrt(d2), vec3(1.0, 0.98, 0.95) * uStripK / (d2 + 0.012), alb, F0, gloss);\n  }\n  // the softbox, for the whole blind\n  col += shine(N, V, uKeyDir, uKey, alb, F0, gloss * 0.35);\n  // the rim, from behind and above: the frame's edges and the tops of the crests\n  col += shine(N, V, uRimDir, uRim, alb, F0, gloss);\n  // sheen where the cloth turns from the eye\n  col += sheen * pow(1.0 - max(dot(N, V), 0.0), 5.0) * uStripK * 0.6 * alb;\n\n  col = uDark + aces(col * uExpo) * (1.0 - uDark);\n  col += (ign(gl_FragCoord.xy + 17.0) - 0.5) / 255.0;                     // no banding in the dark\n  // the alpha carries the lens's blur for this pixel: 0.5 in focus, less nearer, more further\n  float dist = length(uEye - P);\n  float coc = clamp((dist - uLens.x) / dist * uLens.y, -1.0, 1.0);\n  gl_FragColor = vec4(pow(col, vec3(1.0 / 2.2)), 0.5 + 0.5 * coc);\n}`, Fo = \"attribute vec2 aXY; void main() { gl_Position = vec4(aXY, 0.0, 1.0); }\", Io = \"\\nprecision highp float;\\nuniform sampler2D uImg; uniform vec2 uRes; uniform vec2 uDir; uniform float uMax; uniform float uLast;\\nvoid main() {\\n  vec2 uv = gl_FragCoord.xy / uRes;\\n  vec4 c = texture2D(uImg, uv);\\n  float cs = c.a * 2.0 - 1.0, rc = abs(cs) * uMax;\\n  vec3 acc = c.rgb; float ws = 1.0;\\n  for (int i = -9; i <= 9; i++) {\\n    float o = float(i) / 9.0 * uMax, d = abs(o);\\n    vec4 s = texture2D(uImg, uv + uDir * o / uRes);\\n    float ss = s.a * 2.0 - 1.0;\\n    float cover = smoothstep(d - 1.0, d + 1.0, abs(ss) * uMax);\\n    float lim = mix(1.0, smoothstep(d - 1.0, d + 1.0, rc), step(cs, ss));\\n    float w = cover * lim * (1.0 - step(abs(float(i)), 0.0));\\n    acc += s.rgb * w; ws += w;\\n  }\\n  vec3 col = acc / ws;\\n  // the last pass: a lens's faint fall-off at the corners\\n  vec2 v = uv - 0.5;\\n  col *= 1.0 - uLast * 0.22 * smoothstep(0.2, 0.75, dot(v, v) * 2.0);\\n  gl_FragColor = vec4(col, c.a);\\n}\";\nfunction Lo(e, t) {\n\treturn [\n\t\te[0] - t[0],\n\t\te[1] - t[1],\n\t\te[2] - t[2]\n\t];\n}\nfunction Ro(e, t) {\n\treturn [\n\t\te[0] + t[0],\n\t\te[1] + t[1],\n\t\te[2] + t[2]\n\t];\n}\nfunction zo(e, t) {\n\treturn [\n\t\te[0] * t,\n\t\te[1] * t,\n\t\te[2] * t\n\t];\n}\nvar Bo = (e, t, n) => e.map((e, r) => e + (t[r] - e) * n), Vo = (e, t) => e[0] * t[0] + e[1] * t[1] + e[2] * t[2], Ho = (e, t) => [\n\te[1] * t[2] - e[2] * t[1],\n\te[2] * t[0] - e[0] * t[2],\n\te[0] * t[1] - e[1] * t[0]\n], Uo = (e) => zo(e, 1 / (Math.hypot(...e) || 1)), Wo = {\n\tmul(e, t) {\n\t\tlet n = /* @__PURE__ */ new Float32Array(16);\n\t\tfor (let r = 0; r < 4; r++) for (let i = 0; i < 4; i++) {\n\t\t\tlet a = 0;\n\t\t\tfor (let n = 0; n < 4; n++) a += e[n * 4 + i] * t[r * 4 + n];\n\t\t\tn[r * 4 + i] = a;\n\t\t}\n\t\treturn n;\n\t},\n\tpersp(e, t, n, r) {\n\t\tlet i = 1 / Math.tan(e / 2), a = /* @__PURE__ */ new Float32Array(16);\n\t\treturn a[0] = i / t, a[5] = i, a[10] = (r + n) / (n - r), a[11] = -1, a[14] = 2 * r * n / (n - r), a;\n\t},\n\tlook(e, t) {\n\t\tlet n = Uo(Lo(e, t)), r = Uo(Ho([\n\t\t\t0,\n\t\t\t1,\n\t\t\t0\n\t\t], n)), i = Ho(n, r);\n\t\treturn new Float32Array([\n\t\t\tr[0],\n\t\t\ti[0],\n\t\t\tn[0],\n\t\t\t0,\n\t\t\tr[1],\n\t\t\ti[1],\n\t\t\tn[1],\n\t\t\t0,\n\t\t\tr[2],\n\t\t\ti[2],\n\t\t\tn[2],\n\t\t\t0,\n\t\t\t-Vo(r, e),\n\t\t\t-Vo(i, e),\n\t\t\t-Vo(n, e),\n\t\t\t1\n\t\t]);\n\t}\n};\nfunction Go(e, t = 0, n = 1) {\n\treturn Math.min(n, Math.max(t, e));\n}\nvar Ko = (e) => e * e * (3 - 2 * e), qo = (e) => e < .5 ? 4 * e * e * e : 1 - (-2 * e + 2) ** 3 / 2, Jo = ([e, t], n) => Go((n - e) / (t - e)), Yo = (e, t, n, r, i) => e.map((a, o) => {\n\tlet s = e[o], c = t[o], l = n[o], u = r[o], d = i * i, f = d * i;\n\treturn .5 * (2 * c + (l - s) * i + (2 * s - 5 * c + 4 * l - u) * d + (3 * c - s - 3 * l + u) * f);\n}), Xo = (e) => {\n\tlet t = Math.sin(e * 127.1 + 311.7) * 43758.5453;\n\treturn t - Math.floor(t);\n};\nfunction Zo(e) {\n\tlet t = Eo.find((t) => e <= t.p[1]) || Eo[Eo.length - 1], n = Jo(t.p, e);\n\tif (!t.snap) return t.from + (t.to - t.from) * qo(n);\n\tlet r = t.to - (t.to - t.from) * .05;\n\treturn n < .9 ? t.from + (r - t.from) * Math.sin(n / .9 * Math.PI / 2) : r + (t.to - r) * ((n - .9) / .1) ** 2;\n}\nfunction Qo(e) {\n\tlet t = Math.max(1, Oo.findIndex((t) => t[0] >= e)), n = Oo[t - 1], r = Oo[t] || n, i = Ko(Jo([n[0], r[0]], e));\n\treturn [n[1] + (r[1] - n[1]) * i, n[2] + (r[2] - n[2]) * i];\n}\nvar $o = class {\n\tconstructor() {\n\t\tthis.v = [], this.i = [];\n\t}\n\tvert(e, t, n = 1) {\n\t\treturn this.v.push(e[0], e[1], e[2], t[0], t[1], t[2], n), this.v.length / Mo - 1;\n\t}\n\trail(e, t, n, r, i, a, o, s, c = !1) {\n\t\tlet l = [];\n\t\t[\n\t\t\t[\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\t0\n\t\t\t],\n\t\t\t[\n\t\t\t\t-1,\n\t\t\t\t1,\n\t\t\t\t1\n\t\t\t],\n\t\t\t[\n\t\t\t\t-1,\n\t\t\t\t-1,\n\t\t\t\t2\n\t\t\t],\n\t\t\t[\n\t\t\t\t1,\n\t\t\t\t-1,\n\t\t\t\t3\n\t\t\t]\n\t\t].forEach(([e, t, n]) => {\n\t\t\tfor (let c = 0; c <= 3; c++) {\n\t\t\t\tlet u = (n + c / 3) * Math.PI / 2;\n\t\t\t\tl.push([\n\t\t\t\t\tr + e * (i / 2 - s) + s * Math.cos(u),\n\t\t\t\t\ta + t * (o / 2 - s) + s * Math.sin(u),\n\t\t\t\t\tMath.cos(u),\n\t\t\t\t\tMath.sin(u)\n\t\t\t\t]);\n\t\t\t}\n\t\t});\n\t\tlet u = (t, n, r) => e === 0 ? [\n\t\t\tt,\n\t\t\tn,\n\t\t\tr\n\t\t] : [\n\t\t\tn,\n\t\t\tt,\n\t\t\tr\n\t\t], d = this.v.length / Mo;\n\t\tl.forEach(([e, r, i, a]) => {\n\t\t\tthis.vert(u(t, e, r), u(0, i, a)), this.vert(u(n, e, r), u(0, i, a));\n\t\t});\n\t\tlet f = l.length;\n\t\tfor (let e = 0; e < f; e++) {\n\t\t\tlet t = d + e * 2, n = d + (e + 1) % f * 2;\n\t\t\tthis.i.push(t, t + 1, n + 1, t, n + 1, n);\n\t\t}\n\t\tc && [t, n].forEach((e, t) => {\n\t\t\tlet n = this.vert(u(e, r, a), u(t ? 1 : -1, 0, 0)), i = l.map(([n, r]) => this.vert(u(e, n, r), u(t ? 1 : -1, 0, 0)));\n\t\t\ti.forEach((e, t) => this.i.push(n, e, i[(t + 1) % f]));\n\t\t});\n\t}\n};\nfunction es() {\n\tlet e = new $o(), t = .0035, n = -.033 / 2;\n\treturn e.rail(0, -.62, .62, ao - oo / 2, oo, n, so, t), e.rail(0, -.62, .62, oo / 2, oo, n, so, t), e.rail(1, .03, 1.42, -.6375000000000001, oo, n, so, t), e.rail(1, .03, 1.42, mo - oo / 2, oo, n, so, t), e;\n}\nfunction ts() {\n\tlet e = new $o();\n\treturn [\n\t\t[-1, -1],\n\t\t[1, -1],\n\t\t[-1, 1],\n\t\t[1, 1]\n\t].forEach(([t, n]) => {\n\t\tlet r = t < 0 ? -.6512 : .614, i = t < 0 ? -.614 : .6512, a = n < 0 ? -.0012 : 1.414, o = n < 0 ? .036 : 1.4512;\n\t\te.rail(1, a, o, (r + i) / 2, i - r, -.015700000000000002, .036500000000000005, .004, !0);\n\t}), e;\n}\nfunction ns() {\n\tlet e = new $o();\n\treturn e.rail(1, _o[0], _o[1], co[0] / 2, co[0], ho, co[1], .005, !0), e;\n}\nvar rs = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.ready || (this.ready = !0, this.canvas = this.querySelector(\"canvas\"), (this.gl = this.canvas.getContext(\"webgl\", {\n\t\t\tantialias: !1,\n\t\t\talpha: !1,\n\t\t\tdepth: !1,\n\t\t\tpowerPreference: \"high-performance\"\n\t\t})) && (this.reduced = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.p = 0, this.lean = [0, 0], this.leanTo = [0, 0], this.scale = 1, this.slow = 0, this.t0 = performance.now(), this.build(), this.frame = this.frame.bind(this), new ResizeObserver(() => this.resize()).observe(this), matchMedia(\"(hover: hover) and (pointer: fine)\").matches && addEventListener(\"pointermove\", (e) => {\n\t\t\tthis.leanTo = [e.clientX / innerWidth - .5, e.clientY / innerHeight - .5], this.wake();\n\t\t}, { passive: !0 }), this.io = new IntersectionObserver(([e]) => {\n\t\t\tthis.on = e.isIntersecting, this.wake();\n\t\t}), this.io.observe(this), document.addEventListener(\"visibilitychange\", () => this.wake())));\n\t}\n\tdisconnectedCallback() {\n\t\tthis.io?.disconnect(), cancelAnimationFrame(this.raf), this.raf = 0;\n\t}\n\tdrive(e) {\n\t\te !== this.p && (this.p = e, this.wake());\n\t}\n\tget live() {\n\t\treturn this.on && !document.hidden && !this.reduced && !(this.p >= .9999 && this.drewAt === this.p);\n\t}\n\twake() {\n\t\tthis.live && !this.raf && (this.raf = requestAnimationFrame(this.frame));\n\t}\n\tbuild() {\n\t\tlet e = this.gl, t = (t, n, r) => {\n\t\t\tlet i = (t, n) => {\n\t\t\t\tlet r = e.createShader(t);\n\t\t\t\treturn e.shaderSource(r, n), e.compileShader(r), e.getShaderParameter(r, e.COMPILE_STATUS) || console.error(e.getShaderInfoLog(r)), r;\n\t\t\t}, a = e.createProgram();\n\t\t\te.attachShader(a, i(e.VERTEX_SHADER, t)), e.attachShader(a, i(e.FRAGMENT_SHADER, n)), e.linkProgram(a);\n\t\t\tlet o = {};\n\t\t\treturn r.forEach((t) => {\n\t\t\t\to[t] = e.getUniformLocation(a, t);\n\t\t\t}), {\n\t\t\t\tp: a,\n\t\t\t\tu: o\n\t\t\t};\n\t\t};\n\t\te.getExtension(\"OES_standard_derivatives\"), this.main = t(No, Po, [\n\t\t\t\"uVP\",\n\t\t\t\"uOff\",\n\t\t\t\"uEye\",\n\t\t\t\"uMat\",\n\t\t\t\"uStrip\",\n\t\t\t\"uStripK\",\n\t\t\t\"uKeyDir\",\n\t\t\t\"uKey\",\n\t\t\t\"uRimDir\",\n\t\t\t\"uRim\",\n\t\t\t\"uAmb\",\n\t\t\t\"uDark\",\n\t\t\t\"uExpo\",\n\t\t\t\"uLens\",\n\t\t\t\"uIn\",\n\t\t\t\"uClothA\",\n\t\t\t\"uClothB\",\n\t\t\t\"uMetF0\",\n\t\t\t\"uMetDif\",\n\t\t\t\"uPleat\",\n\t\t\t\"uNoise\"\n\t\t]), this.main.a = [\n\t\t\t\"aPos\",\n\t\t\t\"aNor\",\n\t\t\t\"aAux\"\n\t\t].map((t) => e.getAttribLocation(this.main.p, t)), this.lens = t(Fo, Io, [\n\t\t\t\"uImg\",\n\t\t\t\"uRes\",\n\t\t\t\"uDir\",\n\t\t\t\"uMax\",\n\t\t\t\"uLast\"\n\t\t]), this.lens.a = e.getAttribLocation(this.lens.p, \"aXY\");\n\t\tlet n = (t, n) => {\n\t\t\tlet r = e.createBuffer();\n\t\t\te.bindBuffer(e.ARRAY_BUFFER, r), e.bufferData(e.ARRAY_BUFFER, new Float32Array(t.v), n ? e.DYNAMIC_DRAW : e.STATIC_DRAW);\n\t\t\tlet i = e.createBuffer();\n\t\t\treturn e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, i), e.bufferData(e.ELEMENT_ARRAY_BUFFER, new Uint16Array(t.i), e.STATIC_DRAW), {\n\t\t\t\tvb: r,\n\t\t\t\tib: i,\n\t\t\t\tn: t.i.length\n\t\t\t};\n\t\t};\n\t\tthis.meshes = {\n\t\t\tframe: n(es()),\n\t\t\tcaps: n(ts()),\n\t\t\tbar: n(ns())\n\t\t}, this.cols = 497, this.clothV = new Float32Array(this.cols * 2 * Mo), this.clothZ = new Float32Array(this.cols);\n\t\tlet r = [];\n\t\tfor (let e = 0; e < this.cols - 1; e++) {\n\t\t\tlet t = e * 2;\n\t\t\tr.push(t, t + 1, t + 3, t, t + 3, t + 2);\n\t\t}\n\t\tthis.meshes.cloth = n({\n\t\t\tv: this.clothV,\n\t\t\ti: r\n\t\t}, !0), this.clothAt = \"\", this.depth = Float32Array.from({ length: uo }, (e, t) => 1 + (Xo(t) - .5) * .14), this.triB = e.createBuffer(), e.bindBuffer(e.ARRAY_BUFFER, this.triB), e.bufferData(e.ARRAY_BUFFER, new Float32Array([\n\t\t\t-1,\n\t\t\t-1,\n\t\t\t3,\n\t\t\t-1,\n\t\t\t-1,\n\t\t\t3\n\t\t]), e.STATIC_DRAW);\n\t\tlet i = /* @__PURE__ */ new Uint8Array(65536), a = Float32Array.from({ length: 65536 }, Math.random), o = new Float32Array(a.length);\n\t\tfor (let e = 0; e < 128; e++) for (let t = 0; t < 128; t++) for (let n = 0; n < 4; n++) {\n\t\t\tlet r = 0;\n\t\t\tfor (let i = -1; i <= 1; i++) r += a[(e * 128 + (t + i + 128) % 128) * 4 + n] + a[((e + i + 128) % 128 * 128 + t) * 4 + n];\n\t\t\to[(e * 128 + t) * 4 + n] = r / 6;\n\t\t}\n\t\ta = o;\n\t\tfor (let e = 0; e < 4; e++) {\n\t\t\tlet t = 1, n = 0;\n\t\t\tfor (let r = e; r < a.length; r += 4) t = Math.min(t, a[r]), n = Math.max(n, a[r]);\n\t\t\tfor (let r = e; r < a.length; r += 4) i[r] = (a[r] - t) / (n - t) * 255;\n\t\t}\n\t\tthis.noise = this.texture(128, 128, i, !0), e.clearColor(18 / 255, 19 / 255, 20 / 255, 1);\n\t}\n\ttexture(e, t, n, r) {\n\t\tlet i = this.gl, a = i.createTexture();\n\t\ti.bindTexture(i.TEXTURE_2D, a), i.texImage2D(i.TEXTURE_2D, 0, i.RGBA, e, t, 0, i.RGBA, i.UNSIGNED_BYTE, n), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_MIN_FILTER, i.LINEAR), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_MAG_FILTER, i.LINEAR);\n\t\tlet o = r ? i.REPEAT : i.CLAMP_TO_EDGE;\n\t\treturn i.texParameteri(i.TEXTURE_2D, i.TEXTURE_WRAP_S, o), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_WRAP_T, o), a;\n\t}\n\ttargets() {\n\t\tlet e = this.gl, t = this.canvas.width, n = this.canvas.height;\n\t\t(this.rt || []).forEach((t) => {\n\t\t\te.deleteTexture(t.tex), e.deleteFramebuffer(t.fb), t.depth && e.deleteRenderbuffer(t.depth);\n\t\t}), this.rt = [0, 1].map((r) => {\n\t\t\tlet i = this.texture(t, n, null, !1), a = e.createFramebuffer();\n\t\t\te.bindFramebuffer(e.FRAMEBUFFER, a), e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, i, 0);\n\t\t\tlet o = null;\n\t\t\treturn r === 0 && (o = e.createRenderbuffer(), e.bindRenderbuffer(e.RENDERBUFFER, o), e.renderbufferStorage(e.RENDERBUFFER, e.DEPTH_COMPONENT16, t, n), e.framebufferRenderbuffer(e.FRAMEBUFFER, e.DEPTH_ATTACHMENT, e.RENDERBUFFER, o)), {\n\t\t\t\ttex: i,\n\t\t\t\tfb: a,\n\t\t\t\tdepth: o\n\t\t\t};\n\t\t}), e.bindFramebuffer(e.FRAMEBUFFER, null);\n\t}\n\tcloth(e, t, n) {\n\t\tlet r = go[0], i = (e - co[0] - r) / uo, a = Math.sqrt(Math.max(po * po - i * i / 4, 0)), o = this.clothV, s = this.clothZ;\n\t\tfor (let e = 0; e < this.cols; e++) {\n\t\t\tlet r = e / fo, i = Math.min(61, Math.floor(r)), o = 2 * Math.sin(Math.PI * (r - i)) ** .62 - 1, c = (uo - r - t) / 2.2;\n\t\t\ts[e] = ho + a / 2 * o * this.depth[i] + n * Math.exp(-c * c);\n\t\t}\n\t\tfor (let e = 0; e < this.cols; e++) {\n\t\t\tlet t = Math.max(0, e - 1), n = Math.min(this.cols - 1, e + 1), a = Uo([\n\t\t\t\t-(s[n] - s[t]) / ((n - t) / fo * i),\n\t\t\t\t0,\n\t\t\t\t1\n\t\t\t]), c = e / fo, l = r + c * i, u = 2 * Math.sin(Math.PI * (c - Math.floor(c))) ** .62 - 1;\n\t\t\t[_o[0] - .004, _o[1] + .004].forEach((t, n) => {\n\t\t\t\to.set([\n\t\t\t\t\tl,\n\t\t\t\t\tt,\n\t\t\t\t\ts[e],\n\t\t\t\t\ta[0],\n\t\t\t\t\ta[1],\n\t\t\t\t\ta[2],\n\t\t\t\t\t.5 + .5 * u\n\t\t\t\t], (e * 2 + n) * Mo);\n\t\t\t});\n\t\t}\n\t}\n\tresize() {\n\t\tlet e = this.getBoundingClientRect();\n\t\tthis.W = e.width, this.H = e.height, this.fit(), this.draw(performance.now());\n\t}\n\tfit() {\n\t\tlet e = Math.min(devicePixelRatio || 1, 1.5) * this.scale;\n\t\tthis.canvas.width = Math.round(this.W * e), this.canvas.height = Math.round(this.H * e), this.targets();\n\t}\n\tframe(e) {\n\t\tthis.raf = 0, this.last && e - this.last < 200 && (this.slow = this.slow * .92 + (e - this.last > 36 ? .08 : 0), this.slow > .6 && this.scale > .75 && (this.scale *= .85, this.slow = 0, this.fit())), this.last = e, this.draw(e), this.p < .06 && this.wake();\n\t}\n\ttake(e) {\n\t\tlet t = Zo(e), n = 0, r = -1;\n\t\tfor (let t of Do) if (e >= t[1]) n++;\n\t\telse if (e > t[0]) {\n\t\t\tr = Jo(t, e);\n\t\t\tbreak;\n\t\t} else break;\n\t\tlet i = To.findIndex((t) => t.p >= e), a = Math.max(1, i < 0 ? To.length - 1 : i) - 1, o = To[Math.max(0, a - 1)], s = To[a], c = To[a + 1], l = To[Math.min(To.length - 1, a + 2)], u = Jo([s.p, c.p], e), d = (e) => Yo(o[e], s[e], c[e], l[e], u);\n\t\treturn {\n\t\t\tcover: t,\n\t\t\tturn: r,\n\t\t\ta: So[n],\n\t\t\tb: So[Math.min(n + 1, So.length - 1)],\n\t\t\tview: {\n\t\t\t\teye: d(\"eye\"),\n\t\t\t\tat: d(\"at\"),\n\t\t\t\tfov: s.fov + (c.fov - s.fov) * Ko(u)\n\t\t\t}\n\t\t};\n\t}\n\tdraw(e) {\n\t\tlet t = this.gl;\n\t\tif (!t || !this.W || !this.rt) return;\n\t\tlet n = this.p, r = (e - this.t0) / 1e3;\n\t\tthis.lean[0] += (this.leanTo[0] - this.lean[0]) * .04, this.lean[1] += (this.leanTo[1] - this.lean[1]) * .04;\n\t\tlet i = this.take(n), a = yo(i.cover), o = i.turn < 0 ? -9 : -3 + i.turn * 70, s = i.turn < 0 ? 0 : .005 * (1 - i.turn), c = [\n\t\t\ta,\n\t\t\to,\n\t\t\ts\n\t\t].join();\n\t\tc !== this.clothAt && (this.cloth(a, o, s), this.clothAt = c, t.bindBuffer(t.ARRAY_BUFFER, this.meshes.cloth.vb), t.bufferSubData(t.ARRAY_BUFFER, 0, this.clothV));\n\t\tlet l = i.turn < 0 ? 0 : 1, u = Go((o + 3) / 3) * l, d = Ko(Go((i.turn - .15) / .6)) * l, f = (e) => {\n\t\t\tlet t = xo[i.a], n = xo[i.b];\n\t\t\treturn {\n\t\t\t\tf0: Bo(t.f0, n.f0, e),\n\t\t\t\tdif: [...Bo(t.dif, n.dif, e), t.gloss + (n.gloss - t.gloss) * e]\n\t\t\t};\n\t\t}, p = 1 - Ko(Jo(Ao, n));\n\t\tthis.light = p;\n\t\tlet [m, h] = Qo(n), g = this.H > this.W * 1.05, _ = this.W / this.H, { eye: v, at: y, fov: b } = i.view;\n\t\tg && (v = Ro(y, zo(Lo(v, y), 1.3)), b += 10);\n\t\tlet x = this.reduced ? 0 : 1 - Ko(Go(n / .05));\n\t\tv = Ro(v, zo([\n\t\t\tMath.sin(r * .21) * .012 + this.lean[0] * .03,\n\t\t\tMath.sin(r * .17) * .006 - this.lean[1] * .02,\n\t\t\tMath.sin(r * .13) * .008\n\t\t], x));\n\t\tlet S = Math.hypot(...Lo(y, v));\n\t\tb *= Math.PI / 180;\n\t\tlet C = Wo.mul(Wo.persp(b, _, .01, 30), Wo.look(v, y)), w = this.canvas.width, T = this.canvas.height;\n\t\tt.bindFramebuffer(t.FRAMEBUFFER, this.rt[0].fb), t.viewport(0, 0, w, T), t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT), t.enable(t.DEPTH_TEST), t.disable(t.BLEND);\n\t\tlet E = this.main, D = E.u;\n\t\tt.useProgram(E.p), t.uniformMatrix4fv(D.uVP, !1, C), t.uniform3fv(D.uEye, v), t.uniform3fv(D.uStrip, [\n\t\t\tm,\n\t\t\t0,\n\t\t\th\n\t\t]), t.uniform1f(D.uStripK, Co.strip * p), t.uniform3fv(D.uKeyDir, Uo([\n\t\t\t-.6,\n\t\t\t.45,\n\t\t\t.65\n\t\t])), t.uniform3fv(D.uKey, zo([\n\t\t\t.97,\n\t\t\t.98,\n\t\t\t1\n\t\t], Co.key * Ko(Jo(ko, n)) * p)), t.uniform3fv(D.uRimDir, Uo([\n\t\t\t.35,\n\t\t\t.75,\n\t\t\t-.55\n\t\t])), t.uniform3fv(D.uRim, zo([\n\t\t\t1,\n\t\t\t.98,\n\t\t\t.96\n\t\t], Co.rim * p)), t.uniform3fv(D.uAmb, zo([\n\t\t\t.6,\n\t\t\t.62,\n\t\t\t.66\n\t\t], Co.fill * p)), t.uniform3fv(D.uDark, [\n\t\t\t18 / 255,\n\t\t\t19 / 255,\n\t\t\t20 / 255\n\t\t].map((e) => e ** 2.2)), t.uniform1f(D.uExpo, Co.expo), t.uniform2fv(D.uLens, [S, Co.aperture]), t.uniform4fv(D.uIn, [\n\t\t\tgo[0],\n\t\t\tgo[1],\n\t\t\t_o[0],\n\t\t\t_o[1]\n\t\t]), t.uniform3fv(D.uClothA, bo[i.a]), t.uniform3fv(D.uClothB, bo[i.b]), t.uniform3fv(D.uPleat, [\n\t\t\ta - co[0],\n\t\t\t(a - co[0] - go[0]) / uo,\n\t\t\to\n\t\t]), t.activeTexture(t.TEXTURE0), t.bindTexture(t.TEXTURE_2D, this.noise), t.uniform1i(D.uNoise, 0);\n\t\tlet O = (e, n, r = [\n\t\t\t0,\n\t\t\t0,\n\t\t\t0\n\t\t], i = 0) => {\n\t\t\tif (t.bindBuffer(t.ARRAY_BUFFER, e.vb), t.bindBuffer(t.ELEMENT_ARRAY_BUFFER, e.ib), [\n\t\t\t\t3,\n\t\t\t\t3,\n\t\t\t\t1\n\t\t\t].reduce((e, n, r) => (t.enableVertexAttribArray(E.a[r]), t.vertexAttribPointer(E.a[r], n, t.FLOAT, !1, 28, e * 4), e + n), 0), t.uniform1f(D.uMat, n), t.uniform3fv(D.uOff, r), n !== jo.cloth) {\n\t\t\t\tlet e = f(i);\n\t\t\t\tt.uniform3fv(D.uMetF0, e.f0), t.uniform4fv(D.uMetDif, e.dif);\n\t\t\t}\n\t\t\tt.drawElements(t.TRIANGLES, e.n, t.UNSIGNED_SHORT, 0);\n\t\t}, ee = this.meshes;\n\t\tO(ee.cloth, jo.cloth), O(ee.bar, jo.metal, [\n\t\t\ta - co[0],\n\t\t\t0,\n\t\t\t0\n\t\t], u), O(ee.frame, jo.metal, void 0, d), O(ee.caps, jo.cap, void 0, d), E.a.forEach((e) => t.disableVertexAttribArray(e)), t.disable(t.DEPTH_TEST);\n\t\tlet k = this.lens;\n\t\tt.useProgram(k.p), t.bindBuffer(t.ARRAY_BUFFER, this.triB), t.enableVertexAttribArray(k.a), t.vertexAttribPointer(k.a, 2, t.FLOAT, !1, 0, 0), t.uniform2fv(k.u.uRes, [w, T]), t.uniform1f(k.u.uMax, Co.blur * T), t.uniform1i(k.u.uImg, 0), [[\n\t\t\tthis.rt[0].tex,\n\t\t\tthis.rt[1].fb,\n\t\t\t[1, 0],\n\t\t\t0\n\t\t], [\n\t\t\tthis.rt[1].tex,\n\t\t\tnull,\n\t\t\t[0, 1],\n\t\t\t1\n\t\t]].forEach(([e, n, r, i]) => {\n\t\t\tt.bindFramebuffer(t.FRAMEBUFFER, n), t.bindTexture(t.TEXTURE_2D, e), t.uniform2fv(k.u.uDir, r), t.uniform1f(k.u.uLast, i), t.drawArrays(t.TRIANGLES, 0, 3);\n\t\t}), t.disableVertexAttribArray(k.a), this.drewAt = n;\n\t}\n};\ncustomElements.define(\"guard-window\", rs);\n//#endregion\n//#region src/guard/guard-close.js\nvar is = {\n\thero: .1,\n\tread: [.1, .2],\n\tframe: [.02, .16],\n\ttravel: [.12, .62],\n\tlatch: .63,\n\tunlatch: .61\n}, as = {\n\tquote: [.07, .14],\n\tlatch: .14,\n\tunlatch: .16,\n\ttravel: [.16, .45],\n\tframe: [.52, .73],\n\tline: [.52, .82]\n}, os = {\n\thero: .03,\n\tread: [.84, .9],\n\tshut: .965\n}, ss = 180, cs = .985, ls = [\n\t18,\n\t19,\n\t20\n], us = [\n\t241,\n\t239,\n\t234\n], ds = [\n\t143,\n\t146,\n\t150\n], fs = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), ps = ([e, t], n) => fs((n - e) / (t - e)), ms = (e) => e < .5 ? 4 * e * e * e : 1 - (-2 * e + 2) ** 3 / 2, hs = (e) => 1 - (1 - e) ** 3, gs = (e) => e * e * (3 - 2 * e), _s = (e, t, n) => `rgb(${e.map((e, r) => Math.round(ls[r] + (Math.min(255, e * t) - ls[r]) * n)).join(\" \")})`;\nfunction vs(e = /* @__PURE__ */ new Date()) {\n\tlet t = Math.PI / 180, n = 53.35, r = (Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate()) - Date.UTC(e.getUTCFullYear(), 0, 0)) / 864e5, i = -23.44 * Math.cos(2 * Math.PI / 365 * (r + 10)), a = (e.getUTCHours() + e.getUTCMinutes() / 60 + -6.26 / 15 - 12) * 15, o = Math.sin(n * t) * Math.sin(i * t) + Math.cos(n * t) * Math.cos(i * t) * Math.cos(a * t), s = Math.asin(o) / t;\n\treturn s > 2 ? {\n\t\tlux: Math.round(fs(11e4 * o * .35 * .025, 90, 2400) / 10) * 10,\n\t\twhen: \"day\"\n\t} : s > -6 ? {\n\t\tlux: Math.round(fs(8 + s * 6, 4, 60)),\n\t\twhen: \"dusk\"\n\t} : {\n\t\tlux: 3,\n\t\twhen: \"night\"\n\t};\n}\nvar ys = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.ready || (this.ready = !0, this.open = this.dataset.mode === \"open\", this.stage = this.querySelector(\".g-close__stage\"), this.blind = this.querySelector(\".g-blind\"), this.hero = this.querySelector(\".g-close__hero\"), this.scene = this.querySelector(\"guard-window\"), !((window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches) || !this.stage || !this.blind) && (this.drawn = !this.open && !!this.scene?.gl, this.classList.toggle(\"is-drawn\", this.drawn), this.latched = this.open, this.snapAt = 0, this.last = \"\", this.open || this.setTime(), this.measure = this.measure.bind(this), this.frame = this.frame.bind(this), this.measure(), addEventListener(\"resize\", this.measure, { passive: !0 }), this.io = new IntersectionObserver(([e]) => {\n\t\t\tthis.on = e.isIntersecting, this.on && !this.raf && (this.raf = requestAnimationFrame(this.frame));\n\t\t}, { rootMargin: \"10% 0px\" }), this.io.observe(this)));\n\t}\n\tdisconnectedCallback() {\n\t\tthis.io?.disconnect(), removeEventListener(\"resize\", this.measure), cancelAnimationFrame(this.raf), this.raf = 0;\n\t}\n\tsetTime() {\n\t\tlet e = /* @__PURE__ */ new Date(), { lux: t, when: n } = vs(e), r = e.toLocaleTimeString(\"en-IE\", {\n\t\t\thour: \"2-digit\",\n\t\t\tminute: \"2-digit\",\n\t\t\thour12: !1\n\t\t});\n\t\tthis.lux = t, this.luxOut = this.querySelector(\"[data-lux]\");\n\t\tlet i = this.querySelector(\"[data-clock]\");\n\t\ti && (i.textContent = `${r} \u00B7 ${{\n\t\t\tday: \"daylight\",\n\t\t\tdusk: \"dusk\",\n\t\t\tnight: \"street light\"\n\t\t}[n]} outside`);\n\t}\n\tmeasure() {\n\t\tlet e = this.stage.clientWidth;\n\t\tthis.H = this.stage.clientHeight, this.f = parseFloat(getComputedStyle(this.blind.querySelector(\".g-blind__frame\")).borderTopWidth) || 12, this.inner = e - this.f * 2, this.stack = fs(this.inner * .055, 34, 84), this.pleats = Math.max(24, Math.round(this.inner / fs(e * .014, 15, 24)));\n\t\tlet t = this.f * 2 + this.stack + 4;\n\t\tthis.out = Math.max(e / (e - t * 2), this.H / (this.H - this.f * 2 - 4)), this.last = \"\";\n\t}\n\tframe(e) {\n\t\tthis.raf = this.on ? requestAnimationFrame(this.frame) : 0;\n\t\tlet t = this.getBoundingClientRect(), n = this.H, r = t.height - n, i = r > 0 ? fs(-t.top / r) : 0, a = fs(t.top / n), o, s, c = 0;\n\t\tif (this.drawn) {\n\t\t\tlet e = [i.toFixed(5), n].join();\n\t\t\treturn e === this.last ? void 0 : (this.last = e, this.drawnFrame(i, 1 - gs(fs(scrollY / (t.top + scrollY + os.hero * r)))));\n\t\t}\n\t\tif (this.open) o = 1 - hs(ps(as.frame, i)), s = cs * (1 - ms(ps(as.travel, i))), this.latched && i > as.unlatch ? this.latched = !1 : !this.latched && i <= as.latch && (this.latched = !0, this.snapAt = e);\n\t\telse {\n\t\t\tlet n = t.top + scrollY;\n\t\t\tc = 1 - gs(fs(scrollY / (n + is.hero * r))), o = hs(ps(is.frame, i)), s = cs * ms(ps(is.travel, i)), !this.latched && i >= is.latch ? (this.latched = !0, this.snapAt = e) : this.latched && i < is.unlatch && (this.latched = !1);\n\t\t}\n\t\tif (this.latched) {\n\t\t\tlet t = fs((e - this.snapAt) / ss);\n\t\t\ts += (1 - s) * t * t;\n\t\t}\n\t\tlet l = [\n\t\t\ti.toFixed(4),\n\t\t\ta.toFixed(4),\n\t\t\ts.toFixed(4),\n\t\t\tthis.inner,\n\t\t\tn\n\t\t].join();\n\t\tif (l === this.last) return;\n\t\tthis.last = l;\n\t\tlet u = this.stack + s * (this.inner - this.stack - this.f), d = u / this.pleats, f = (1 - s) ** .32, p = this.stage.style, m = (e, t) => p.setProperty(e, t);\n\t\tm(\"--fr\", o.toFixed(4)), m(\"--cw\", u.toFixed(1) + \"px\"), m(\"--pp\", d.toFixed(2) + \"px\"), m(\"--po\", gs(fs((d - 3) / 3)).toFixed(3)), m(\"--c-v\", _s(us, .74, f)), m(\"--c-m\", _s(us, .9, f)), m(\"--c-r\", _s(us, 1.02, f)), m(\"--fc\", _s(ds, 1, f)), m(\"--bh\", (.14 * f).toFixed(3)), m(\"--lit\", f.toFixed(3)), this.open && m(\"--dk\", s > .6 ? \"100%\" : \"0px\");\n\t\tlet h = o < .002;\n\t\tif (this.blind.style.visibility = h ? \"hidden\" : \"\", this.blind.style.transform = !h && o < 1 ? `scale(${(1 + (1 - o) * (this.out - 1)).toFixed(4)})` : \"\", this.open) {\n\t\t\tlet e = gs(ps(as.quote, i));\n\t\t\tm(\"--qo\", ((1 - e) * (1 - gs(fs((a - .3) / .4)))).toFixed(3)), m(\"--qy\", (e * -24).toFixed(1) + \"px\"), m(\"--by\", (gs(ps(as.line, i)) * -.18 * n).toFixed(1) + \"px\");\n\t\t} else {\n\t\t\tlet e = this.latched && s > .999, t = e ? 0 : gs(ps(is.read, i));\n\t\t\tthis.classList.toggle(\"is-shut\", e), m(\"--ho\", c.toFixed(3)), this.hero && (this.hero.style.visibility = c < .005 ? \"hidden\" : \"\"), this.scene && (this.scene.covered = s > .995), m(\"--ro\", t.toFixed(3)), m(\"--sh\", (t * f).toFixed(3)), this.luxOut && (this.luxOut.textContent = Math.round(this.lux * f).toLocaleString(\"en-IE\"));\n\t\t}\n\t}\n\tdrawnFrame(e, t) {\n\t\tlet n = this.scene;\n\t\tn.drive(e);\n\t\tlet r = n.light ?? 1, i = e >= os.shut, a = i ? 0 : gs(ps(os.read, e)), o = this.stage.style;\n\t\tthis.classList.toggle(\"is-shut\", i), o.setProperty(\"--ho\", t.toFixed(3)), this.hero && (this.hero.style.visibility = t < .005 ? \"hidden\" : \"\"), o.setProperty(\"--ro\", a.toFixed(3)), o.setProperty(\"--sh\", (a * r).toFixed(3)), this.luxOut && (this.luxOut.textContent = Math.round(this.lux * r).toLocaleString(\"en-IE\"));\n\t}\n};\ncustomElements.define(\"guard-close\", ys);\n//#endregion\n//#region src/guard/guard-torch.js\nvar bs = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), xs = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.ready || (this.ready = !0, this.media = this.querySelector(\".g-torch__media\"), this.plate = this.querySelector(\".g-torch__plate\") || this.media, this.cap = this.querySelector(\".g-torch__cap\"), this.spots = [...this.querySelectorAll(\".g-torch__spots li\")].map((e) => ({\n\t\t\tli: e,\n\t\t\tx: parseFloat(e.style.getPropertyValue(\"--x\")) / 100,\n\t\t\ty: parseFloat(e.style.getPropertyValue(\"--y\")) / 100\n\t\t})), this.media && this.spots.length && (this.spots.forEach((e) => e.li.classList.toggle(\"is-left\", e.x > .7)), this.narrow = matchMedia(\"(max-width: 899px)\"), this.reduced = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.pos = {\n\t\t\tx: this.spots[0].x,\n\t\t\ty: this.spots[0].y\n\t\t}, this.goal = { ...this.pos }, this.used = !1, this.wander = 1, this.lastStep = 0, this.frame = this.frame.bind(this), this.media.addEventListener(\"pointermove\", (e) => {\n\t\t\te.pointerType === \"mouse\" && this.aim(e);\n\t\t}), this.media.addEventListener(\"pointerdown\", (e) => {\n\t\t\te.pointerType !== \"mouse\" && this.aim(e);\n\t\t}), this.spots.forEach((e) => {\n\t\t\tlet t = e.li.querySelector(\"button\");\n\t\t\te.name = t.querySelector(\"b\")?.textContent || \"\", e.line = t.querySelector(\"span\")?.textContent || \"\";\n\t\t\tlet n = () => this.goTo(e);\n\t\t\tt.addEventListener(\"click\", n), t.addEventListener(\"focus\", n);\n\t\t}), this.cap?.addEventListener(\"click\", () => this.goTo(this.spots[((this.capped ?? -1) + 1) % this.spots.length])), this.io = new IntersectionObserver(([e]) => {\n\t\t\tthis.on = e.isIntersecting, this.on && this.measure(), this.kick();\n\t\t}, { threshold: .15 }), this.io.observe(this.media), this.measure = () => {\n\t\t\tthis.rect = this.plate.getBoundingClientRect(), this.rad = parseFloat(getComputedStyle(this).getPropertyValue(\"--tr\")) * innerWidth / 100 * .55 || 120;\n\t\t}, addEventListener(\"resize\", () => {\n\t\t\tthis.measure(), this.paint();\n\t\t}, { passive: !0 }), this.measure(), this.paint()));\n\t}\n\tgoTo(e) {\n\t\tthis.take(), this.goal = {\n\t\t\tx: e.x,\n\t\t\ty: e.y\n\t\t}, this.kick();\n\t}\n\tdisconnectedCallback() {\n\t\tthis.io?.disconnect(), cancelAnimationFrame(this.raf), this.raf = 0;\n\t}\n\ttake() {\n\t\tthis.used || (this.used = !0, this.classList.add(\"is-used\"));\n\t}\n\taim(e) {\n\t\tlet t = this.plate.getBoundingClientRect();\n\t\tthis.take(), this.goal = {\n\t\t\tx: bs((e.clientX - t.left) / t.width),\n\t\t\ty: bs((e.clientY - t.top) / t.height)\n\t\t}, this.kick();\n\t}\n\tkick() {\n\t\tthis.on && !this.raf && (this.raf = requestAnimationFrame(this.frame));\n\t}\n\tframe(e) {\n\t\tif (this.raf = 0, !this.on) return;\n\t\tif (this.lastStep ||= e, !this.used && !this.reduced && e - this.lastStep > (this.narrow.matches ? 4200 : 2600)) {\n\t\t\tthis.lastStep = e;\n\t\t\tlet t = this.spots[this.wander++ % this.spots.length];\n\t\t\tthis.goal = {\n\t\t\t\tx: t.x,\n\t\t\t\ty: t.y\n\t\t\t};\n\t\t}\n\t\tlet t = this.reduced ? 1 : this.used ? .16 : .022;\n\t\tthis.pos.x += (this.goal.x - this.pos.x) * t, this.pos.y += (this.goal.y - this.pos.y) * t, this.paint(), (Math.abs(this.goal.x - this.pos.x) + Math.abs(this.goal.y - this.pos.y) > 5e-4 || !this.used && !this.reduced) && (this.raf = requestAnimationFrame(this.frame));\n\t}\n\tpaint() {\n\t\tlet e = this.rect;\n\t\tthis.style.setProperty(\"--tx\", (this.pos.x * 100).toFixed(2) + \"%\"), this.style.setProperty(\"--ty\", (this.pos.y * 100).toFixed(2) + \"%\");\n\t\tlet t = this.rad, n = this.spots.map((t) => Math.hypot((t.x - this.pos.x) * e.width, (t.y - this.pos.y) * e.height)), r = Math.min(...n);\n\t\tthis.spots.forEach((e, i) => e.li.classList.toggle(\"is-lit\", n[i] < t && (!this.narrow.matches || n[i] === r))), this.narrow.matches && this.caption(n.indexOf(r));\n\t}\n\tcaption(e) {\n\t\tif (!this.cap || e === this.capped) return;\n\t\tthis.capped = e;\n\t\tlet t = this.spots[e], n = String(e + 1).padStart(2, \"0\"), r = String(this.spots.length).padStart(2, \"0\"), i = () => {\n\t\t\tthis.cap.innerHTML = `<span class=\"g-torch__n\">${n} / ${r}<i>Next</i></span><b>${t.name}</b><span>${t.line}</span>`, this.cap.classList.remove(\"is-swap\");\n\t\t};\n\t\tclearTimeout(this.swap), !this.cap.innerHTML || this.reduced ? i() : (this.cap.classList.add(\"is-swap\"), this.swap = setTimeout(i, 220));\n\t}\n};\ncustomElements.define(\"guard-torch\", xs);\n//#endregion\n//#region src/guard/guard-cell.js\nvar Q = \"236, 234, 229\", Ss = \"255, 244, 222\", Cs = \"255, 146, 78\", ws = 3, Ts = .34, Es = 240, Ds = (e, t, n) => Math.min(n, Math.max(t, e)), $ = (e, t) => e + Math.random() * (t - e);\nfunction Os(e, t = 48) {\n\tlet n = document.createElement(\"canvas\");\n\tn.width = n.height = t;\n\tlet r = n.getContext(\"2d\"), i = t / 2, a = r.createRadialGradient(i, i, 0, i, i, i);\n\treturn a.addColorStop(0, `rgba(${e}, 1)`), a.addColorStop(.3, `rgba(${e}, .5)`), a.addColorStop(1, `rgba(${e}, 0)`), r.fillStyle = a, r.fillRect(0, 0, t, t), n;\n}\nvar ks = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.ready || (this.ready = !0, this.fig = this.querySelector(\".g-cell__fig\"), this.under = this.querySelector(\".g-cell__still\"), this.canvas = this.querySelector(\".g-cell__canvas\"), this.ctx = this.canvas?.getContext(\"2d\"), this.ctx && this.under && (this.tabs = [...this.querySelectorAll(\"[role=\\\"tab\\\"]\")], this.says = [...this.querySelectorAll(\"[data-for]\")], this.reduced = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.mode = this.dataset.mode || \"light\", this.w = {\n\t\t\tlight: 0,\n\t\t\theat: 0,\n\t\t\tsound: 0\n\t\t}, this.w[this.mode] = 1, this.parts = [], this.waves = [], this.glints = [], this.motes = [], this.heat = [], this.t = 0, this.spawn = 0, this.waveIn = 0, this.dots = {\n\t\t\tsun: Os(Ss),\n\t\t\twarm: Os(Cs),\n\t\t\tpaper: Os(Q),\n\t\t\tglint: Os(\"255, 252, 246\")\n\t\t}, this.frame = this.frame.bind(this), this.tabs.forEach((e) => e.addEventListener(\"click\", () => this.set(e.dataset.mode))), this.querySelector(\"[role=\\\"tablist\\\"]\")?.addEventListener(\"keydown\", (e) => {\n\t\t\tif (e.key !== \"ArrowRight\" && e.key !== \"ArrowLeft\") return;\n\t\t\tlet t = this.tabs.findIndex((e) => e.dataset.mode === this.mode), n = this.tabs.length, r = this.tabs[(t + (e.key === \"ArrowRight\" ? 1 : n - 1)) % n];\n\t\t\tthis.set(r.dataset.mode), r.focus();\n\t\t}), this.size = this.size.bind(this), new ResizeObserver(this.size).observe(this.canvas), this.io = new IntersectionObserver(([e]) => {\n\t\t\tthis.on = e.isIntersecting, this.on && !this.raf && (this.prev = 0, this.raf = requestAnimationFrame(this.frame));\n\t\t}, { threshold: .05 }), this.io.observe(this.canvas)));\n\t}\n\tdisconnectedCallback() {\n\t\tthis.io?.disconnect(), cancelAnimationFrame(this.raf), this.raf = 0;\n\t}\n\tset(e) {\n\t\tif (e in this.w && e !== this.mode) {\n\t\t\tthis.mode = this.dataset.mode = e, this.tabs.forEach((t) => {\n\t\t\t\tlet n = t.dataset.mode === e;\n\t\t\t\tt.setAttribute(\"aria-selected\", n), t.tabIndex = n ? 0 : -1;\n\t\t\t}), this.says.forEach((t) => {\n\t\t\t\tt.dataset.for === e ? (t.style.transition = \"none\", t.classList.remove(\"is-out\"), t.offsetWidth, t.style.transition = \"\", t.classList.add(\"is-on\")) : t.classList.contains(\"is-on\") && (t.classList.remove(\"is-on\"), t.classList.add(\"is-out\"));\n\t\t\t});\n\t\t\tfor (let e of this.parts) e.kill = !0;\n\t\t\tfor (let e of this.waves) e.kill = !0;\n\t\t\tthis.W && (this.reduced ? this.still() : this.seed(e));\n\t\t}\n\t}\n\tsize() {\n\t\tlet e = this.canvas.getBoundingClientRect();\n\t\tif (!e.width) return;\n\t\tlet t = this.dpr = Math.min(1.5, devicePixelRatio || 1), n = this.W = e.width, r = this.H = e.height;\n\t\tfor (let e of [this.canvas, this.under]) e.width = Math.round(n * t), e.height = Math.round(r * t);\n\t\tthis.ctx.setTransform(t, 0, 0, t, 0, 0), this.gx = n * .19, this.gap = Math.max(6, n * .012), this.xo = this.gx - this.gap - 18, this.xb = n * .52, this.xf = n * .66, this.d = (this.xf - this.xb) * .28, this.xi = this.xf + 16, this.yt = r * .16, this.yb = r * .78, this.ch = (this.yb - this.yt) / ws, this.wall = Math.min(48, r * .1), this.sx = -n * .04, this.sy = (this.yt + this.yb) / 2, this.maxR = Math.hypot(n - this.sx, r / 2), this.paths(), this.paintStill();\n\t\tlet i = this.fig.style;\n\t\ti.setProperty(\"--l1\", `${(this.gx - this.gap / 2) / n * 100}%`), i.setProperty(\"--l2\", `${(this.xb + this.xf) / 2 / n * 100}%`), i.setProperty(\"--l3\", `${(this.xi + n) / 2 / n * 100}%`), i.setProperty(\"--lt\", `${(this.yb + 12 + this.wall + 10) / r * 100}%`), this.heat = this.hex.map(() => 0), this.motes = Array.from({ length: Ds(Math.round(n * r / 9e3), 20, 56) }, () => this.mote()), this.reduced ? this.still() : !this.parts.length && !this.waves.length && this.seed(this.mode);\n\t}\n\tzig(e) {\n\t\tlet t = ((e - this.yt) % this.ch + this.ch) % this.ch / this.ch;\n\t\treturn this.d * Math.abs(t - .5) * 2;\n\t}\n\tbackAt(e) {\n\t\treturn this.xb + this.zig(Ds(e, this.yt, this.yb));\n\t}\n\tfrontAt(e) {\n\t\treturn this.xf - this.zig(Ds(e, this.yt, this.yb));\n\t}\n\trowAt(e) {\n\t\treturn Ds(Math.floor((e - this.yt) / this.ch), 0, 2);\n\t}\n\tinOpening(e) {\n\t\treturn e > this.yt + 2 && e < this.yb - 2;\n\t}\n\tpaths() {\n\t\tlet { xb: e, xf: t, d: n, ch: r, yt: i } = this;\n\t\tthis.hex = [], this.cells = new Path2D(), this.back = new Path2D(), this.lining = new Path2D(), this.back.moveTo(e + n, i), this.lining.moveTo(e + n + 4.5, i);\n\t\tfor (let a = 0; a < ws; a++) {\n\t\t\tlet o = i + a * r, s = o + r / 2, c = o + r, l = new Path2D();\n\t\t\tl.moveTo(e + n, o), l.lineTo(e, s), l.lineTo(e + n, c), l.lineTo(t - n, c), l.lineTo(t, s), l.lineTo(t - n, o), l.closePath(), this.hex.push(l), this.cells.addPath(l), this.back.lineTo(e, s), this.back.lineTo(e + n, c), this.lining.lineTo(e + 4.5, s), this.lining.lineTo(e + n + 4.5, c);\n\t\t}\n\t}\n\tpaintStill() {\n\t\tlet { W: e, H: t, dpr: n, gx: r, gap: i, xb: a, xf: o, yt: s, yb: c, xo: l, xi: u } = this, d = this.under.getContext(\"2d\");\n\t\td.setTransform(n, 0, 0, n, 0, 0), d.clearRect(0, 0, e, t), d.lineJoin = \"round\";\n\t\tlet f = s - 12, p = c + 12, m = this.wall;\n\t\tfor (let [e, t] of [[f, -1], [p, 1]]) {\n\t\t\tlet n = e + t * m, r = d.createLinearGradient(0, e, 0, n);\n\t\t\tr.addColorStop(0, `rgba(${Q}, .3)`), r.addColorStop(1, `rgba(${Q}, 0)`), d.strokeStyle = r, d.lineWidth = 1, d.beginPath(), d.moveTo(l, n), d.lineTo(l, e), d.lineTo(u, e), d.lineTo(u, n), d.stroke();\n\t\t\tlet i = d.createLinearGradient(0, e, 0, n);\n\t\t\ti.addColorStop(0, `rgba(${Q}, .09)`), i.addColorStop(1, `rgba(${Q}, 0)`), d.save(), d.beginPath(), d.rect(l, Math.min(e, n), u - l, m), d.clip(), d.strokeStyle = i, d.beginPath();\n\t\t\tfor (let t = l - m; t < u; t += 7) d.moveTo(t, e), d.lineTo(t + m, n);\n\t\t\td.stroke(), d.restore();\n\t\t}\n\t\tfor (let [e, t] of [[f, s], [c, p]]) d.fillStyle = `rgba(${Q}, .14)`, d.fillRect(r - i - 4, e, i + 8, t - e), d.strokeStyle = `rgba(${Q}, .36)`, d.lineWidth = 1, d.strokeRect(r - i - 4, e, i + 8, t - e);\n\t\td.fillStyle = \"rgba(190, 210, 224, .06)\", d.fillRect(r - i, s, i, c - s), d.lineWidth = 1.5, d.strokeStyle = \"rgba(190, 210, 224, .55)\";\n\t\tfor (let e of [r - i, r]) d.beginPath(), d.moveTo(e, s), d.lineTo(e, c), d.stroke();\n\t\tlet h = d.createLinearGradient(0, s, 0, c);\n\t\t[\n\t\t\t[0, 0],\n\t\t\t[.28, .26],\n\t\t\t[.5, 0],\n\t\t\t[.74, .14],\n\t\t\t[1, 0]\n\t\t].forEach(([e, t]) => h.addColorStop(e, `rgba(255, 255, 255, ${t})`)), d.lineWidth = 1, d.strokeStyle = h, d.beginPath(), d.moveTo(r - i + 2.5, s), d.lineTo(r - i + 2.5, c), d.stroke();\n\t\tfor (let [e, t] of [[f, s], [c, p]]) d.fillStyle = \"rgba(143, 146, 150, .5)\", d.fillRect(a - 3, e, o - a + 6, t - e), d.fillStyle = \"rgba(255, 255, 255, .16)\", d.fillRect(a - 3, e, o - a + 6, 1);\n\t\th = d.createLinearGradient(a, 0, o, 0), h.addColorStop(0, `rgba(${Q}, .1)`), h.addColorStop(.6, `rgba(${Q}, .035)`), h.addColorStop(1, `rgba(${Q}, .02)`), d.fillStyle = h, d.fill(this.cells), d.save(), d.clip(this.cells);\n\t\tfor (let [e, t] of [[14, .12], [6, .22]]) d.lineWidth = e, d.strokeStyle = `rgba(0, 0, 0, ${t})`, d.stroke(this.cells);\n\t\td.restore(), d.lineWidth = 1.2, d.strokeStyle = `rgba(${Q}, .34)`, d.stroke(this.cells), d.lineWidth = 1.8, d.strokeStyle = \"rgba(250, 248, 243, .85)\", d.stroke(this.back), h = d.createLinearGradient(0, s, 0, c);\n\t\tfor (let e = 0; e <= 8; e++) h.addColorStop(e / 8, e % 2 ? \"rgba(150, 158, 170, .5)\" : \"rgba(228, 233, 240, .95)\");\n\t\td.lineWidth = 1.2, d.strokeStyle = h, d.stroke(this.lining), h = this.ctx.createLinearGradient(a, 0, o, 0), h.addColorStop(0, `rgba(${Cs}, .34)`), h.addColorStop(.5, `rgba(${Cs}, .12)`), h.addColorStop(1, `rgba(${Cs}, .03)`), this.cellWarm = h, h = this.ctx.createLinearGradient(0, 0, 0, t), [\n\t\t\t[0, 0],\n\t\t\t[(s - 56) / t, 0],\n\t\t\t[s / t, 1],\n\t\t\t[c / t, 1],\n\t\t\t[(c + 56) / t, 0],\n\t\t\t[1, 0]\n\t\t].forEach(([e, t]) => h.addColorStop(Ds(e, 0, 1), `rgba(${Q}, ${t})`)), this.ink = h;\n\t\tlet g = c - s, _ = this.haze ||= document.createElement(\"canvas\"), v = n / 2;\n\t\t_.width = Math.round((a - r) * v), _.height = Math.round(g * 2 * v);\n\t\tlet y = _.getContext(\"2d\");\n\t\ty.setTransform(v, 0, 0, v, 0, 0), y.clearRect(0, 0, a - r, g * 2), y.lineWidth = 10, y.strokeStyle = `rgba(${Cs}, .04)`;\n\t\tfor (let e = 0; e < 5; e++) {\n\t\t\tlet t = (a - 14 - r) * (e + .5) / 5;\n\t\t\ty.beginPath();\n\t\t\tfor (let n = 0; n <= g * 2; n += 10) {\n\t\t\t\tlet r = t + Math.sin(n / g * Math.PI * 4 + e * 1.7) * 4;\n\t\t\t\tn ? y.lineTo(r, n) : y.moveTo(r, n);\n\t\t\t}\n\t\t\ty.stroke();\n\t\t}\n\t}\n\tmote() {\n\t\tlet e = $(this.yt + 8, this.yb - 8);\n\t\treturn {\n\t\t\tbx: $(this.gx + 8, this.backAt(e) - 8),\n\t\t\tby: e,\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\tz: Math.random(),\n\t\t\tph: $(0, 6.28)\n\t\t};\n\t}\n\taddLight() {\n\t\tlet e = Math.random(), t = this.W * (.5 + e * .25);\n\t\tthis.parts.push({\n\t\t\tk: \"light\",\n\t\t\tx: $(-40, 0),\n\t\t\ty: $(this.yt + 3, this.yb - 3),\n\t\t\tvx: t,\n\t\t\tvy: t * $(-.04, .04),\n\t\t\ta: 1,\n\t\t\tz: e,\n\t\t\ts: 0\n\t\t});\n\t}\n\taddHeat() {\n\t\tthis.parts.push({\n\t\t\tk: \"heat\",\n\t\t\tx: $(-30, this.xo * .6),\n\t\t\ty: $(this.yt + 6, this.yb - 6),\n\t\t\tvx: this.W * $(.08, .13),\n\t\t\tvy: 0,\n\t\t\ta: 0,\n\t\t\tz: Math.random(),\n\t\t\ts: 0,\n\t\t\tph: $(0, 6.28)\n\t\t});\n\t}\n\tseed(e) {\n\t\tif (this.seeding = !0, e === \"sound\") {\n\t\t\tfor (let e = this.maxR; e > 0; e -= this.W * .45 * Ts) this.waves.push({\n\t\t\t\tr: e,\n\t\t\t\ta: 1,\n\t\t\t\tseed: $(0, 99)\n\t\t\t});\n\t\t\tthis.waveIn = Ts;\n\t\t} else {\n\t\t\tlet t = e === \"light\" ? 56 : 38, n = e === \"light\" ? 1.3 : 4.5;\n\t\t\tfor (let r = 0; r < t; r++) {\n\t\t\t\te === \"light\" ? this.addLight() : this.addHeat();\n\t\t\t\tlet t = this.parts[this.parts.length - 1];\n\t\t\t\tfor (let e = $(0, n); e > 0; e -= 1 / 30) this.move(t, Math.min(e, 1 / 30));\n\t\t\t}\n\t\t}\n\t\tthis.seeding = !1;\n\t}\n\tmove(e, t) {\n\t\tlet { W: n } = this;\n\t\tif (e.x > this.xo && e.x < this.xi && !this.inOpening(e.y)) {\n\t\t\te.a = 0;\n\t\t\treturn;\n\t\t}\n\t\tif (e.k === \"light\") {\n\t\t\te.x += e.vx * t, e.y += e.vy * t;\n\t\t\tlet n = this.backAt(e.y) - 1;\n\t\t\te.s === 0 && e.x >= n && (e.x = n, e.vx *= -.8, e.vy += $(-.2, .2) * Math.abs(e.vx), e.s = 1, !this.seeding && Math.random() < .5 && this.glints.push({\n\t\t\t\tx: n + 2,\n\t\t\t\ty: e.y,\n\t\t\t\ta: .45 + e.z * .45\n\t\t\t})), e.s === 1 && (e.a -= t * 1.4);\n\t\t\treturn;\n\t\t}\n\t\tlet r = Math.sin(this.t * 1.6 + e.ph) * 12;\n\t\tif (e.s === 0) e.x += e.vx * t, e.y += r * t, e.a = Math.min(.9, e.a + t * 1.2), e.x >= this.backAt(e.y) + 3 && (Math.random() < .2 ? (e.s = 2, e.vx = n * .015, e.vy = $(-1, 1) * n * .012) : (e.s = 1, e.vx = -e.vx * .45));\n\t\telse if (e.s === 1) e.x += e.vx * t, e.y += r * t, e.a -= t * .45;\n\t\telse if (e.s === 2) {\n\t\t\te.vx += $(-1, 1) * n * .25 * t, e.vy += $(-1, 1) * n * .25 * t, e.vx *= 1 - t * 2, e.vy *= 1 - t * 2, e.x += e.vx * t, e.y = Ds(e.y + e.vy * t, this.yt + 4, this.yb - 4);\n\t\t\tlet r = this.backAt(e.y) + 6, i = this.frontAt(e.y) - 5;\n\t\t\te.x < r && (e.x = r, e.vx = Math.abs(e.vx)), e.x > i && (Math.random() < .3 ? (e.s = 3, e.vx = n * .03, e.a *= .45) : (e.x = i, e.vx = -Math.abs(e.vx)));\n\t\t\tlet a = this.rowAt(e.y);\n\t\t\tthis.heat[a] = Math.min(1, this.heat[a] + t * .5), e.a -= t * .3;\n\t\t} else e.x += e.vx * t, e.y += r * t * .5, e.a -= t * .6;\n\t}\n\tstep(e) {\n\t\tlet { W: t, H: n } = this;\n\t\tthis.t += e;\n\t\tfor (let t in this.w) this.w[t] += (+(t === this.mode) - this.w[t]) * Math.min(1, e * 5);\n\t\tif (this.mode === \"sound\") this.waveIn -= e, this.waveIn <= 0 && (this.waveIn += Ts, this.waves.push({\n\t\t\tr: 0,\n\t\t\ta: 1,\n\t\t\tseed: $(0, 99)\n\t\t}));\n\t\telse {\n\t\t\tfor (this.spawn += e * (this.mode === \"light\" ? 46 : 10); this.spawn >= 1 && this.parts.length < Es;) this.spawn--, this.mode === \"light\" ? this.addLight() : this.addHeat();\n\t\t\tthis.spawn %= 1;\n\t\t}\n\t\tfor (let t of this.parts) this.move(t, e), t.kill && (t.a -= e * 3);\n\t\tthis.parts = this.parts.filter((e) => e.a > 0 && e.x > -60 && e.x < t + 40 && e.y > -40 && e.y < n + 40);\n\t\tfor (let t of this.glints) t.a -= e * 4;\n\t\tthis.glints = this.glints.filter((e) => e.a > 0);\n\t\tfor (let t = 0; t < this.heat.length; t++) this.heat[t] = Math.max(0, this.heat[t] - e * .1);\n\t\tfor (let n of this.waves) n.r += e * t * .45, n.kill && (n.a -= e * 3);\n\t\tthis.waves = this.waves.filter((e) => e.a > 0 && e.r < this.maxR);\n\t\tfor (let t of this.motes) {\n\t\t\tt.bx += Math.sin(this.t * .3 + t.ph) * e * 3, t.by += (Math.cos(this.t * .23 + t.ph) * 4 + this.w.heat * Math.sin(this.t * 1.6 + t.ph) * 10) * e, t.by < this.yt + 8 ? t.by = this.yb - 8 : t.by > this.yb - 8 && (t.by = this.yt + 8), t.bx = Ds(t.bx, this.gx + 8, this.backAt(t.by) - 8);\n\t\t\tlet n = 0;\n\t\t\tfor (let e of this.waves) {\n\t\t\t\tlet r = e.r - Math.hypot(t.bx - this.sx, t.by - this.sy);\n\t\t\t\tr > -24 && r < 24 && (n += Math.sin(r / 24 * Math.PI) * 3.2 * e.a);\n\t\t\t}\n\t\t\tn *= this.w.sound;\n\t\t\tlet r = t.bx - this.sx, i = t.by - this.sy, a = Math.hypot(r, i) || 1;\n\t\t\tt.x = t.bx + r / a * n, t.y = t.by + i / a * n;\n\t\t}\n\t}\n\tdraw() {\n\t\tlet { ctx: e, W: t, H: n, w: r, t: i, gx: a, xb: o, yt: s, yb: c, dots: l } = this;\n\t\tif (e.globalCompositeOperation = \"source-over\", e.globalAlpha = 1, e.clearRect(0, 0, t, n), e.globalCompositeOperation = \"lighter\", r.heat > .01) {\n\t\t\tlet t = c - s;\n\t\t\te.save(), e.beginPath(), e.rect(a + 2, s, o - a - 2, t), e.clip(), e.globalAlpha = r.heat, e.drawImage(this.haze, a, s - i * 16 % t, o - a, t * 2), e.restore(), e.fillStyle = this.cellWarm;\n\t\t\tfor (let t = 0; t < this.hex.length; t++) this.heat[t] > .01 && (e.globalAlpha = r.heat * this.heat[t], e.fill(this.hex[t]));\n\t\t\te.globalAlpha = 1;\n\t\t}\n\t\tthis.waves.length && this.drawWaves();\n\t\tfor (let t of this.motes) {\n\t\t\tlet n = 3 + t.z * 4, a = t.x - n / 2, o = t.y - n / 2, s = .75 + Math.sin(i * 2.1 + t.ph * 3) * .25;\n\t\t\tr.light > .01 && (e.globalAlpha = r.light * (.25 + t.z * .45) * s, e.drawImage(l.sun, a, o, n, n)), r.heat > .01 && (e.globalAlpha = r.heat * (.12 + t.z * .2), e.drawImage(l.warm, a, o, n, n)), r.sound > .01 && (e.globalAlpha = r.sound * (.2 + t.z * .3), e.drawImage(l.paper, a, o, n, n));\n\t\t}\n\t\tlet u = t * .1;\n\t\te.lineCap = \"round\", e.strokeStyle = `rgb(${Ss})`;\n\t\tfor (let t of this.parts) {\n\t\t\tlet n = Ds(t.a, 0, 1) * Ds(t.x / u, 0, 1);\n\t\t\tif (!(n <= 0)) {\n\t\t\t\tif (t.k === \"light\") {\n\t\t\t\t\tlet r = (18 + t.z * 38) * (t.s ? .6 : 1) / Math.hypot(t.vx, t.vy), i = n * (.32 + t.z * .55);\n\t\t\t\t\te.beginPath(), e.moveTo(t.x - t.vx * r, t.y - t.vy * r), e.lineTo(t.x, t.y), t.z > .65 && (e.globalAlpha = i * .06, e.lineWidth = 4 + t.z * 2, e.stroke()), e.globalAlpha = i, e.lineWidth = .5 + t.z * .9, e.stroke();\n\t\t\t\t} else {\n\t\t\t\t\tlet r = (t.s === 2 ? 4 : 7) + t.z * (t.s === 2 ? 4 : 9);\n\t\t\t\t\te.globalAlpha = n * (.22 + t.z * .2) * (t.s === 3 ? .5 : 1), e.drawImage(l.warm, t.x - r * 1.5, t.y - r * 1.5, r * 3, r * 3);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor (let t of this.glints) e.globalAlpha = t.a, e.drawImage(l.glint, t.x - 7, t.y - 7, 14, 14);\n\t\te.globalAlpha = 1, e.globalCompositeOperation = \"source-over\";\n\t}\n\tdrawWaves() {\n\t\tlet { ctx: e, W: t, H: n, sx: r, sy: i, xb: a, xf: o, d: s, xo: c, xi: l, yt: u, yb: d, t: f } = this, p = this.w.sound, m = this.waves.map((e) => [e, e.a * p * (1 - e.r / this.maxR)]).filter(([e, t]) => e.r > 0 && t > .01), h = (e, t = u - 56, n = d + 56) => [Math.asin(Ds((t - i) / e, -1, 1)), Math.asin(Ds((n - i) / e, -1, 1))], g = (t, [n, a], o = r) => {\n\t\t\te.beginPath(), e.arc(o, i, t, n, a);\n\t\t}, _ = (t, n, r, i, a) => {\n\t\t\te.save(), e.beginPath(), e.rect(t, n, r, i), e.clip(), a(), e.restore();\n\t\t};\n\t\te.strokeStyle = this.ink;\n\t\tlet v = () => {\n\t\t\tfor (let [t, n] of m) if (g(t.r, h(t.r)), e.lineWidth = 1.5, e.globalAlpha = .6 * n, e.stroke(), t.r > 8 && (g(t.r - 8, h(t.r - 8)), e.lineWidth = 1, e.globalAlpha = .2 * n, e.stroke()), t.r > a - r) {\n\t\t\t\tlet [i, o] = h(t.r);\n\t\t\t\tg(t.r, [Math.PI - o, Math.PI - i], 2 * a - r), e.lineWidth = 1, e.globalAlpha = .13 * n, e.stroke();\n\t\t\t}\n\t\t};\n\t\t_(-20, -20, c + 20, n + 40, v), _(c, u, a + s - c, d - u, v), e.save(), e.clip(this.cells), e.lineWidth = 1.1;\n\t\tfor (let [t, n] of m) {\n\t\t\tlet [a, o] = h(t.r, u, d);\n\t\t\te.beginPath();\n\t\t\tfor (let n = 0; n <= 24; n++) {\n\t\t\t\tlet s = a + (o - a) * n / 24, c = t.r + Math.sin(s * 37 + t.seed + f * 9) * Math.sin(s * 13 + f * 5) * 5, l = r + Math.cos(s) * c, u = i + Math.sin(s) * c;\n\t\t\t\tn ? e.lineTo(l, u) : e.moveTo(l, u);\n\t\t\t}\n\t\t\te.globalAlpha = .34 * n, e.stroke();\n\t\t}\n\t\te.restore();\n\t\tlet y = () => {\n\t\t\te.setLineDash([2, 6]), e.lineWidth = 1;\n\t\t\tfor (let [t, n] of m) g(t.r, h(t.r)), e.globalAlpha = .16 * n, e.stroke();\n\t\t};\n\t\t_(o, u, l - o, d - u, y), _(l, -20, t - l + 20, n + 40, y), e.lineWidth = 1.4, e.strokeStyle = `rgb(${Q})`;\n\t\tfor (let t = 0; t < this.hex.length; t++) {\n\t\t\tlet n = u + (t + .5) * this.ch, o = Math.hypot(a - r, n - i), s = 0;\n\t\t\tfor (let e of this.waves) s = Math.max(s, (1 - Math.abs(e.r - o) / 18) * e.a);\n\t\t\ts > 0 && (e.globalAlpha = .34 * s * p, e.stroke(this.hex[t]));\n\t\t}\n\t\te.globalAlpha = 1;\n\t}\n\tstill() {\n\t\tthis.parts = [], this.waves = [], this.glints = [];\n\t\tfor (let e in this.w) this.w[e] = +(e === this.mode);\n\t\tthis.seed(this.mode), this.step(0), this.draw();\n\t}\n\tframe(e) {\n\t\tif (this.raf = 0, !this.on || !this.W) return;\n\t\tif (this.reduced) {\n\t\t\tthis.still();\n\t\t\treturn;\n\t\t}\n\t\tlet t = this.prev ? Math.min(.05, (e - this.prev) / 1e3) : 1 / 60;\n\t\tthis.prev = e, this.step(t), this.draw(), this.raf = requestAnimationFrame(this.frame);\n\t}\n};\ncustomElements.define(\"guard-cell\", ks);\n//#endregion\n//#region src/guard/guard-buy.js\nvar As = (e, t, n) => Math.min(n, Math.max(t, e)), js = [\n\t\"Graphite\",\n\t\"Quartz\",\n\t\"Navy\",\n\t\"Titanium\"\n], Ms = {\n\trtl: \"Right to left\",\n\tltr: \"Left to right\",\n\tttb: \"Top to bottom\"\n}, Ns = {\n\trtl: \"folded to the right\",\n\tltr: \"folded to the left\",\n\tttb: \"folded to the top\"\n}, Ps = {\n\tdiy: 189,\n\tpro: 238\n}, Fs = window.AURA_ASSETS || \"assets/img/guard2/\", Is = (e) => window.A?.fmt ? A.fmt(e) : \"\u20AC\" + e, Ls = (e) => `${Math.round(e).toLocaleString(\"en-IE\")}`, Rs = (e) => ({\n\t\"g-frame\": \"frame\",\n\t\"g-cloth\": \"cloth\",\n\tdir: \"dir\",\n\tfit: \"fit\",\n\t\"properties[Frame]\": \"frame\",\n\t\"properties[Fabric]\": \"cloth\",\n\t\"properties[Opening]\": \"dir\"\n})[e], zs = () => window.AURA_SHOPIFY ? window.A?.byHandle(\"guard-2\")?.price || [] : [Ps.pro, Ps.diy], Bs = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tif (this.ready) return;\n\t\tthis.ready = !0;\n\t\tlet e = (e) => this.querySelector(e);\n\t\tthis.box = e(\"[data-view-box]\"), this.inW = e(\"[data-w]\"), this.inH = e(\"[data-h]\"), this.form = e(\"[data-buy-form]\"), this.reduced = window.A?.reduced ?? matchMedia(\"(prefers-reduced-motion: reduce)\").matches, this.state = {\n\t\t\tframe: \"Titanium\",\n\t\t\tcloth: \"Quartz\",\n\t\t\tdir: \"rtl\",\n\t\t\tw: 1200,\n\t\t\th: 1400,\n\t\t\tfit: \"diy\",\n\t\t\tview: \"room\"\n\t\t}, this.want = this.src();\n\t\tfor (let t of [\"frame\", \"cloth\"]) e(`[data-chips=\"${t}\"] input`) || (e(`[data-chips=\"${t}\"]`).innerHTML = js.map((e) => `<label title=\"${e}\"><input type=\"radio\" name=\"g-${t}\" value=\"${e}\" ${e === this.state[t] ? \"checked\" : \"\"} aria-label=\"${e}\"><span class=\"g-chip g-chip--${t} g-chip--${e.toLowerCase()}\"></span></label>`).join(\"\"));\n\t\tthis.form.addEventListener(\"change\", (e) => {\n\t\t\tlet t = e.target, n = Rs(t.name);\n\t\t\tn && (this.state[n] = t.dataset.dir || t.value, this.render());\n\t\t}), this.form.addEventListener(\"pointerover\", (e) => {\n\t\t\tlet t = e.target.closest(\"label\")?.querySelector(\"input\"), n = t && Rs(t.name);\n\t\t\tn && n !== \"fit\" && (new Image().src = this.src({\n\t\t\t\t...this.state,\n\t\t\t\t[n]: t.dataset.dir || t.value\n\t\t\t}));\n\t\t}), this.querySelectorAll(\"[data-view]\").forEach((e) => e.addEventListener(\"click\", () => {\n\t\t\tthis.state.view = e.dataset.view, this.render();\n\t\t}));\n\t\tlet t = () => this.setSize(+this.inW.value || this.state.w, +this.inH.value || this.state.h);\n\t\tfor (let e of [this.inW, this.inH]) e.addEventListener(\"change\", t), e.addEventListener(\"input\", () => {\n\t\t\t+e.value >= 300 && t();\n\t\t});\n\t\tthis.measure(), this.form.addEventListener(\"submit\", (e) => {\n\t\t\te.preventDefault(), this.add();\n\t\t}), this.render();\n\t}\n\tsrc(e = this.state, t = e.view) {\n\t\treturn `${Fs}${e.frame.toLowerCase()}-${e.cloth.toLowerCase()}-${e.dir}-${t}.webp`;\n\t}\n\tsetSize(e, t) {\n\t\tlet n = As(Math.round(e), 300, 2500), r = As(Math.round(t), 300, 2500), i = n !== this.state.w || r !== this.state.h;\n\t\tif (this.state.w = n, this.state.h = r, document.activeElement !== this.inW && (this.inW.value = n), document.activeElement !== this.inH && (this.inH.value = r), this.render(), i) {\n\t\t\tlet e = this.querySelector(\".g-buy__price\");\n\t\t\te.classList.remove(\"is-pulse\"), e.offsetWidth, e.classList.add(\"is-pulse\");\n\t\t}\n\t}\n\trender() {\n\t\tlet e = this.state, t = (e) => this.querySelector(e);\n\t\tt(\"[data-name-frame]\").textContent = e.frame, t(\"[data-name-cloth]\").textContent = e.cloth, t(\"[data-size-say]\").textContent = `${Ls(e.w)} \u00D7 ${Ls(e.h)} mm`;\n\t\tlet [n, r] = zs(), i = e.fit === \"pro\" ? n : r;\n\t\tif (t(\"[data-price-say]\").textContent = r == null ? \"\u2014\" : Is(r), t(\"[data-total]\").textContent = i == null ? \"\u2014\" : Is(i), window.AURA_SHOPIFY) {\n\t\t\tthis.querySelectorAll(\"[data-total]\").forEach((e) => {\n\t\t\t\te.textContent = i == null ? \"\u2014\" : Is(i);\n\t\t\t}), this.querySelectorAll(\"[data-fit-price]\").forEach((e) => {\n\t\t\t\tlet t = e.dataset.fitPrice === \"pro\" ? n : r;\n\t\t\t\te.textContent = t == null ? \"\u2014\" : Is(t);\n\t\t\t});\n\t\t\tlet a = window.A.Cart.variantFor(\"guard-2\", e.fit, \"\");\n\t\t\tt(\"[data-guard-variant]\").value = a?.id || \"\", t(\"[type=\\\"submit\\\"]\").disabled = !a?.available || this.adding, document.querySelectorAll(\"[data-guard-price=\\\"diy\\\"]\").forEach((e) => {\n\t\t\t\te.textContent = r == null ? \"\u2014\" : Is(r);\n\t\t\t}), document.querySelectorAll(\"[data-guard-fitting-extra]\").forEach((e) => {\n\t\t\t\te.textContent = n == null || r == null ? \"\u2014\" : Is(n - r);\n\t\t\t});\n\t\t}\n\t\tthis.querySelectorAll(\"[data-view]\").forEach((t) => {\n\t\t\tt.setAttribute(\"aria-pressed\", t.dataset.view === e.view);\n\t\t\tlet n = t.querySelector(\"img\"), r = this.src(e, t.dataset.view);\n\t\t\tn.getAttribute(\"src\") !== r && (n.src = r);\n\t\t}), this.show();\n\t}\n\tshow() {\n\t\tlet e = this.state, t = this.src();\n\t\tif (this.want === t) return;\n\t\tthis.want = t;\n\t\tlet n = new Image();\n\t\tn.className = `g-buy__img g-buy__img--${e.view}`, n.width = 1080, n.height = 864, n.src = t, n.alt = e.view === \"room\" ? `Guard 2 in a window, ${e.frame} frame and ${e.cloth} fabric, ${Ns[e.dir]}` : `Guard 2 shut, ${e.frame} frame and ${e.cloth} fabric, opening ${Ms[e.dir].toLowerCase()}`, n.decode().catch(() => {}).then(() => {\n\t\t\tif (this.want !== t) return;\n\t\t\tthis.box.append(n);\n\t\t\tlet e = () => {\n\t\t\t\tfor (; n.isConnected && n.previousElementSibling;) n.previousElementSibling.remove();\n\t\t\t};\n\t\t\tthis.reduced ? (n.classList.add(\"is-on\"), e()) : (requestAnimationFrame(() => requestAnimationFrame(() => n.classList.add(\"is-on\"))), n.addEventListener(\"transitionend\", e, { once: !0 }));\n\t\t});\n\t}\n\tmeasure() {\n\t\tlet e = Object.fromEntries([...this.querySelectorAll(\"[data-m]\")].map((e) => [e.dataset.m, e])), t = this.querySelector(\"[data-m-out]\"), n = (t) => {\n\t\t\tlet n = parseFloat(e[t].value);\n\t\t\treturn n > 0 ? n : null;\n\t\t}, r = (e) => {\n\t\t\tlet t = e.map(n);\n\t\t\treturn t.every((e) => e != null) ? Math.min(...t) : null;\n\t\t};\n\t\tthis.querySelector(\"[data-three]\").addEventListener(\"input\", () => {\n\t\t\tlet e = r([\n\t\t\t\t\"wt\",\n\t\t\t\t\"wm\",\n\t\t\t\t\"wb\"\n\t\t\t]), i = r([\n\t\t\t\t\"hl\",\n\t\t\t\t\"hm\",\n\t\t\t\t\"hr\"\n\t\t\t]), a = n(\"d\"), o = n(\"o\") || 0;\n\t\t\t(e != null || i != null) && this.setSize(e ?? this.state.w, i ?? this.state.h);\n\t\t\tlet s = \"\", c = \"\";\n\t\t\ta != null && (a < 30 ? (s = `${Ls(a)} mm deep: Guard needs 30 mm, so it won\u2019t fit this recess.`, c = \"no\") : a - o < 30 ? (s = \"Deep enough, but the handle leaves less than 30 mm clear. Ask us before you order.\", c = \"no\") : (s = `It fits, with ${Ls(a - o)} mm clear.`, c = \"ok\")), e != null && i != null && (s = `Made to ${Ls(e)} \u00D7 ${Ls(i)} mm. ${s}`), t.textContent = s.trim(), t.dataset.tone = c;\n\t\t});\n\t}\n\tasync add() {\n\t\tlet e = this.state, t = window.A;\n\t\tif (!t?.Cart) return;\n\t\tif (window.AURA_SHOPIFY) {\n\t\t\tif (this.adding || !this.form.reportValidity()) return;\n\t\t\tlet n = {\n\t\t\t\tFabric: e.cloth,\n\t\t\t\tFrame: e.frame,\n\t\t\t\tSize: `${Ls(e.w)} \u00D7 ${Ls(e.h)} mm`,\n\t\t\t\tOpening: Ms[e.dir]\n\t\t\t}, r = {\n\t\t\t\twt: \"Width top\",\n\t\t\t\twm: \"Width middle\",\n\t\t\t\twb: \"Width bottom\",\n\t\t\t\thl: \"Height left\",\n\t\t\t\thm: \"Height middle\",\n\t\t\t\thr: \"Height right\",\n\t\t\t\td: \"Recess depth\",\n\t\t\t\to: \"Handle projection\"\n\t\t\t};\n\t\t\tthis.querySelectorAll(\"[data-m]\").forEach((e) => {\n\t\t\t\te.value !== \"\" && (n[r[e.dataset.m]] = `${Ls(+e.value)} mm`);\n\t\t\t}), this.adding = !0, this.render();\n\t\t\ttry {\n\t\t\t\tawait t.Cart.add(\"guard-2\", e.fit, \"\", 1, n) !== !1 && t.openCart();\n\t\t\t} finally {\n\t\t\t\tthis.adding = !1, this.render();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tlet n = `${e.frame} frame \u00B7 ${e.cloth} fabric \u00B7 ${Ms[e.dir]} \u00B7 ${Ls(e.w)} \u00D7 ${Ls(e.h)} mm`;\n\t\tt.Cart.add(\"guard-2\", e.fit === \"pro\" ? \"pro\" : \"diy\", n), t.toast(\"<b>Guard 2</b> added to cart\", [\n\t\t\t\"View cart\",\n\t\t\t\"#\",\n\t\t\t\"cart-open\"\n\t\t]);\n\t}\n};\ncustomElements.define(\"guard-buy\", Bs), document.querySelectorAll(\"[data-noon]\").forEach((e) => {\n\te.addEventListener(\"change\", (t) => {\n\t\tlet n = t.target.value;\n\t\te.querySelectorAll(\"[data-shot]\").forEach((e) => e.classList.toggle(\"is-on\", e.dataset.shot === n)), e.querySelectorAll(\".g-noon__say [data-for]\").forEach((e) => {\n\t\t\te.hidden = e.dataset.for !== n;\n\t\t});\n\t});\n}), document.querySelectorAll(\"[data-pick-pro]\").forEach((e) => e.addEventListener(\"click\", () => {\n\tlet e = document.querySelector(\"guard-buy input[name=\\\"fit\\\"][value=\\\"pro\\\"]\");\n\te && !e.checked && (e.checked = !0, e.dispatchEvent(new Event(\"change\", { bubbles: !0 })));\n}));\nvar Vs = [\n\t[\"How is Guard 2 different from a blackout blind or curtains?\", \"A blackout roller or curtain can stop light through the fabric, but light still comes round its edges. Guard 2\u2019s blind runs inside an aluminium frame made to fit your recess, with brush and weather strip sealing all four sides where the frame meets it. With no gap, no light gets in.\"],\n\t[\"Does the white Quartz fabric block all the light?\", \"Yes. Every fabric colour blocks 100% of light, Quartz included. The room side is the colour you choose, and the side facing the glass is always Quartz, to reflect light.\"],\n\t[\"What does it look like from outside?\", \"White. Whatever colour faces the room, the fabric\u2019s outer face is always Quartz, so every window with Guard 2 looks the same from the street, and the white reflects sunlight.\"],\n\t[\"Which windows does it fit?\", \"Tilt-and-turn, casement, fixed, sliding, sash, hung, bay and awning windows, and skylights. It doesn\u2019t fit arched windows or a recess that isn\u2019t square, and it needs 30 mm of depth clear of handles and locks. If your window is older or you\u2019re not sure, send us a photo before you order.\"],\n\t[\"What if I measure wrong?\", \"Guard\u2019s free measurement guarantee covers it. If the fit isn\u2019t right, Guard remakes it to your corrected measurements and sends it by express delivery at no cost. If the remake still isn\u2019t right, the return is collected from your door. Or choose Aura measuring and fitting, and we take the measurements.\"],\n\t[\"Does it help with heat and noise?\", \"Yes, within limits. The reflective thermal barrier and the honeycomb keep summer heat out and winter warmth in, and the non-woven polyester absorbs sound and reduces noise from outside. It\u2019s a blind, not double glazing: the room is quieter, not silent.\"],\n\t[\"How do I clean it?\", \"Wipe it with a damp cloth. The polyester fabric resists dust and stains, and needs no special cleaners. The frame\u2019s matte finish hides smudges.\"],\n\t[\"How do delivery, returns and warranty work through Aura?\", \"Each Guard 2 is made to order, and we confirm the delivery time when you order. Guard\u2019s terms apply: a 30-night home trial, even once it\u2019s made and fitted; free collection for returns; a free remake if the fit is wrong; and a 2-year warranty.\"]\n], Hs = document.querySelector(\"[data-guard-faq]\");\n//#endregion\n//#region src/why/why.js\nHs && !window.AURA_SHOPIFY && window.A?.faqHTML && (Hs.innerHTML = A.faqHTML(Vs)), window.A?.ready(({ fmt: e, reduced: t }) => {\n\tlet n = document.querySelector(\"[data-calc]\");\n\tif (n) {\n\t\tlet r = (e) => n.querySelector(e), i = r(\"[data-calc-fee]\"), a = r(\"[data-calc-years]\"), o = r(\"[data-calc-out]\"), s = r(\"[data-calc-fee-cap]\"), c = r(\"[data-calc-months-cap]\"), l = r(\"[data-calc-bars]\"), u = +a.max, d = +a.min, f = [], p = [];\n\t\tfor (let e = d; e <= u; e++) {\n\t\t\tlet t = `--x:${(e - d) / (u - d)};--h:${e / u};--i:${e - d}`, n = document.createElement(\"span\"), r = document.createElement(\"span\");\n\t\t\tn.className = \"calc__bar\", r.className = \"calc__yr\", n.style.cssText = r.style.cssText = t, r.textContent = e, f.push(n), p.push(r);\n\t\t}\n\t\tlet m = document.createElement(\"span\");\n\t\tm.className = \"calc__tip\", l.append(...f, ...p, m);\n\t\tlet h = 0, g = (t) => {\n\t\t\tif (f.forEach((e, n) => e.classList.toggle(\"is-peek\", n + d === t)), h = t, !t) return m.classList.remove(\"is-on\");\n\t\t\tm.style.cssText = f[t - d].style.cssText, m.textContent = e(i.value * 12 * t), m.classList.add(\"is-on\");\n\t\t};\n\t\ta.addEventListener(\"pointermove\", (e) => {\n\t\t\tif (e.pointerType !== \"mouse\") return;\n\t\t\tlet t = a.getBoundingClientRect(), n = (e.clientX - t.left - 8) / (t.width - 16);\n\t\t\tg(Math.min(u, Math.max(d, Math.round(d + n * (u - d)))));\n\t\t}), a.addEventListener(\"pointerleave\", () => g(0));\n\t\tlet _ = +o.textContent.replace(/\\D/g, \"\"), v, y = (n) => {\n\t\t\tcancelAnimationFrame(v);\n\t\t\tlet r = _, i = performance.now(), a = t ? 1 : 500, s = (t) => {\n\t\t\t\tlet c = Math.min(1, (t - i) / a), l = 1 - (1 - c) ** 3;\n\t\t\t\t_ = Math.round(r + (n - r) * l), o.textContent = e(_), c < 1 && (v = requestAnimationFrame(s));\n\t\t\t};\n\t\t\tv = requestAnimationFrame(s);\n\t\t}, b = (e, n) => {\n\t\t\te.textContent !== n && (e.textContent = n, !t && (e.classList.add(\"is-new\"), e.offsetWidth, e.classList.remove(\"is-new\")));\n\t\t}, x = (e) => e.style.setProperty(\"--fill\", (e.value - e.min) / (e.max - e.min) * 100 + \"%\"), S = () => {\n\t\t\tlet e = +i.value, t = +a.value;\n\t\t\tr(\"[data-calc-fee-out]\").textContent = `\u20AC${e}`, r(\"[data-calc-years-out]\").textContent = `${t} year${t > 1 ? \"s\" : \"\"}`, b(s, `\u20AC${e} a month`), b(c, `${t * 12} months`), [f, p].forEach((e) => e.forEach((e, n) => {\n\t\t\t\te.classList.toggle(\"is-on\", n + d <= t), e.classList.toggle(\"is-cur\", n + d === t);\n\t\t\t})), h && g(h), x(i), x(a), y(e * 12 * t);\n\t\t};\n\t\ti.addEventListener(\"input\", S), a.addEventListener(\"input\", S), S();\n\t}\n\tlet r = document.querySelector(\"[data-compare]\");\n\tif (r) {\n\t\tlet e = [...r.querySelectorAll(\".compare__row:not(.compare__row--head)\")];\n\t\te.forEach((t) => t.querySelector(\".compare__toggle\").addEventListener(\"click\", () => {\n\t\t\tlet n = !t.classList.contains(\"is-open\");\n\t\t\te.forEach((e) => {\n\t\t\t\te.classList.toggle(\"is-open\", n && e === t), e.querySelector(\".compare__toggle\").setAttribute(\"aria-expanded\", n && e === t);\n\t\t\t});\n\t\t}));\n\t}\n});\n//#endregion\n//#region src/quote/quote-form.js\nvar Us = {\n\ttype: Ce,\n\tvisualDuration: .3,\n\tbounce: .12\n}, Ws = {\n\ttype: Ce,\n\tvisualDuration: .4,\n\tbounce: 0\n}, Gs = matchMedia(\"(prefers-reduced-motion: reduce)\").matches, Ks = matchMedia(\"(hover: hover) and (pointer: fine)\").matches;\ndocument.addEventListener(\"change\", (e) => {\n\tlet t = e.target;\n\tif (Gs || !t.checked || !t.matches?.(\".pick input\")) return;\n\tlet n = t.nextElementSibling;\n\tn.classList.remove(\"is-waking\"), n.offsetWidth, n.classList.add(\"is-waking\"), clearTimeout(n.wake), n.wake = setTimeout(() => n.classList.remove(\"is-waking\"), 1400);\n}), Ks && !Gs && document.querySelectorAll(\".picks\").forEach((e) => {\n\tlet t = [...e.querySelectorAll(\".pick > span\")];\n\te.addEventListener(\"pointermove\", (n) => {\n\t\tt.forEach((e) => {\n\t\t\tlet t = e.getBoundingClientRect();\n\t\t\te.style.setProperty(\"--mx\", `${n.clientX - t.left}px`), e.style.setProperty(\"--my\", `${n.clientY - t.top}px`);\n\t\t}), e.classList.add(\"is-lit\");\n\t}), e.addEventListener(\"pointerleave\", () => e.classList.remove(\"is-lit\"));\n});\nvar qs = class extends HTMLElement {\n\tconnectedCallback() {\n\t\tthis.puck || (this.puck = document.createElement(\"span\"), this.puck.className = \"seg-puck\", this.puck.setAttribute(\"aria-hidden\", \"true\"), this.prepend(this.puck), this.at = null, this.addEventListener(\"change\", () => this.place()), new ResizeObserver(() => this.place(!0)).observe(this));\n\t}\n\tplace(e = !1) {\n\t\tlet t = this.querySelector(\"input:checked\")?.closest(\"label\");\n\t\tif (!t || !t.offsetWidth) {\n\t\t\tthis.classList.remove(\"has-puck\"), this.at = null;\n\t\t\treturn;\n\t\t}\n\t\tlet n = {\n\t\t\tleft: t.offsetLeft,\n\t\t\ttop: t.offsetTop,\n\t\t\twidth: t.offsetWidth,\n\t\t\theight: t.offsetHeight\n\t\t}, r = Object.fromEntries(Object.entries(n).map(([e, t]) => [e, `${t}px`]));\n\t\tif (e || Gs || !this.at) it(this.puck, r, { duration: 0 });\n\t\telse {\n\t\t\tlet e = n.left > this.at.left, t = n.top > this.at.top;\n\t\t\tit(this.puck, r, {\n\t\t\t\tleft: e ? Ws : Us,\n\t\t\t\twidth: Us,\n\t\t\t\ttop: t ? Ws : Us,\n\t\t\t\theight: Us\n\t\t\t});\n\t\t}\n\t\tthis.at = n, this.classList.add(\"has-puck\");\n\t}\n};\ncustomElements.define(\"aura-seg\", qs);\nvar Js = (e) => String(e).replace(/[&<>\"]/g, (e) => ({\n\t\"&\": \"&amp;\",\n\t\"<\": \"&lt;\",\n\t\">\": \"&gt;\",\n\t\"\\\"\": \"&quot;\"\n})[e]), Ys = (e) => e.length < 2 ? e.join(\"\") : `${e.slice(0, -1).join(\", \")} and ${e.at(-1)}`, Xs = (e) => e.dataset.say ?? e.value;\ndocument.querySelectorAll(\"form[data-quote]\").forEach((e) => {\n\tlet t = e.querySelector(\"[data-quote-sum]\"), n = e.querySelector(\"select[name=\\\"area\\\"], select[name=\\\"contact[area]\\\"]\");\n\tif (!t) return;\n\tlet r = {}, i = () => {\n\t\tlet i = [...e.querySelectorAll(\".pick input:checked\")].map(Xs), a = e.querySelector(\"aura-seg input:checked\"), o = n?.selectedOptions[0], s = {\n\t\t\twhat: Ys(i),\n\t\t\thome: a ? Xs(a) : \"your home\",\n\t\t\twhere: o ? o.dataset.say ?? o.textContent.trim() : \"\"\n\t\t}, c = (e) => `<b${r[e] !== void 0 && r[e] !== s[e] ? \" class=\\\"is-new\\\"\" : \"\"}>${Js(s[e])}</b>`, l = s.where ? ` in ${c(\"where\")}` : \"\", u = o?.hasAttribute(\"data-check\") ? \" and check installer availability\" : \"\";\n\t\tt.innerHTML = `<span>${i.length ? `We\u2019ll quote ${c(\"what\")} for ${c(\"home\")}${l}${u}.` : `We\u2019ll recommend devices for ${c(\"home\")}${l}${u}.`}</span>`, r = s;\n\t};\n\te.addEventListener(\"change\", i), i(), e.hasAttribute(\"data-shopify-contact\") && e.addEventListener(\"submit\", (t) => {\n\t\tlet n;\n\t\te.querySelectorAll(\"[required]\").forEach((e) => {\n\t\t\tlet t = e.type === \"email\" ? /^\\S+@\\S+\\.\\S+$/.test(e.value) : e.value.trim().length > 1;\n\t\t\te.closest(\".field\")?.classList.toggle(\"is-invalid\", !t), !t && !n && (n = e);\n\t\t}), n ? (t.preventDefault(), n.focus()) : e.querySelector(\"[type=\\\"submit\\\"]\")?.classList.add(\"is-loading\");\n\t});\n});\n//#endregion\n//#region src/quote/quote-dust.js\nvar Zs = 2300, Qs = 1650, $s = 260, ec = .7, tc = matchMedia(\"(pointer: coarse)\"), nc = (e, t, n) => Math.max(t, Math.min(n, e)), rc = (e, t, n) => t > e ? Math.min(t, e + n) : Math.max(t, e - n), ic = \"#version 300 es\\nprecision highp float;\\n\", ac = \"\\nuniform vec2 uSize;     // the canvas\\nuniform vec4 uSheet;    // the card: left, right, top, corner radius (its foot is on the line)\\nuniform vec3 uPrint;    // the middle of the print's base on the line, and px per unit of its drawing\\nuniform float uReach;   // the farthest corner of the card from the print\\nuniform float uForm;    // 0 all in the print .. 1 the card made\\nuniform float uTime;\\nuniform float uDpr;\\n\\nvec3 mod289(vec3 x) { return x - floor(x * (1. / 289.)) * 289.; }\\nvec2 mod289(vec2 x) { return x - floor(x * (1. / 289.)) * 289.; }\\nvec3 permute(vec3 x) { return mod289(((x * 34.) + 1.) * x); }\\nfloat snoise(vec2 v) {\\n  const vec4 C = vec4(.211324865405187, .366025403784439, -.577350269189626, .024390243902439);\\n  vec2 i = floor(v + dot(v, C.yy)), x0 = v - i + dot(i, C.xx);\\n  vec2 i1 = x0.x > x0.y ? vec2(1., 0.) : vec2(0., 1.);\\n  vec4 x12 = x0.xyxy + C.xxzz;\\n  x12.xy -= i1;\\n  i = mod289(i);\\n  vec3 p = permute(permute(i.y + vec3(0., i1.y, 1.)) + i.x + vec3(0., i1.x, 1.));\\n  vec3 m = max(.5 - vec3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.);\\n  m = m * m; m = m * m;\\n  vec3 x = 2. * fract(p * C.www) - 1., h = abs(x) - .5, a0 = x - floor(x + .5);\\n  m *= 1.79284291400159 - .85373472095314 * (a0 * a0 + h * h);\\n  vec3 g = vec3(a0.x * x0.x + h.x * x0.y, a0.yz * x12.xz + h.yz * x12.yw);\\n  return 130. * dot(m, g);\\n}\\n// a swirling flow (the curl of the noise): neighbours move together, as smoke does\\nvec2 curl(vec2 p) {\\n  const float e = .08;\\n  return vec2(snoise(p + vec2(0., e)) - snoise(p - vec2(0., e)), snoise(p - vec2(e, 0.)) - snoise(p + vec2(e, 0.))) / (2. * e);\\n}\\nconst vec3 BLUE = vec3(.145, .533, .788), ICE = vec3(.659, .831, .949);\\n// the card, round along the top; it runs on below the line so its foot is never an edge\\nfloat sdSheet(vec2 q) {\\n  float r = uSheet.w;\\n  vec2 c = vec2((uSheet.x + uSheet.y) * .5, (uSheet.z - 400.) * .5), h = vec2((uSheet.y - uSheet.x) * .5, (uSheet.z + 400.) * .5);\\n  vec2 d = abs(q - c) - h + r;\\n  return length(max(d, 0.)) + min(max(d.x, d.y), 0.) - r;\\n}\\n// one front spreads out of the print (and draws back into it): how far it has got toward q, boiling\\n// a little as it goes, and evening out as it finishes. Every grain rides it out and stops at its place\\nfloat front(vec2 q) {\\n  vec2 d = q - uPrint.xy;\\n  float t = clamp(uForm, 0., 1.);\\n  return t * t * (3. - 2. * t) * (uReach + 450.) * (1. + .09 * (1. - t * t) * snoise(normalize(d + 1e-4) * 1.6 + vec2(uTime * .25, 0.)));\\n}\\n// whether the card has condensed out of its grains at q yet: once they've all landed there (lag px behind\\n// the front), along a line that billows like a cloud's edge. Never a soft fade: navy fading in over the\\n// page reads as a grey haze, not as grains\\nfloat solid(vec2 q, float lag) {\\n  return smoothstep(0., 22., front(q) - distance(q, uPrint.xy) - lag + 45. * snoise(q * .007 + vec2(0., uTime * .2)));\\n}\\n// the card's own colour: its blue hour, as the page draws it (--blue-hour), with a hairline of light\\n// along its top (main.css: inset 0 1px 0)\\nvec3 blueHour(vec2 q) {\\n  float h = uSheet.z, w = uSheet.y - uSheet.x, px = .5 / uDpr;\\n  vec3 c = mix(vec3(.051, .082, .122), vec3(.043, .067, .098), clamp((h - q.y) / (h * .55), 0., 1.));\\n  vec2 e = (q - vec2((uSheet.x + uSheet.y) * .5, -.25 * h)) / vec2(.8 * w, .6 * h);\\n  c = mix(c, BLUE, .2 * max(0., 1. - length(e) / .7));\\n  return mix(c, vec3(1.), .06 * smoothstep(-px, px, sdSheet(q + vec2(0., 1.))));\\n}\", oc = \"\\nin vec2 aQuad;\\nuniform vec2 uSize;\\nuniform vec4 uBox;   // left, bottom, right, top\\nout vec2 vQ;\\nvoid main() { vQ = mix(uBox.xy, uBox.zw, aQuad * .5 + .5); gl_Position = vec4(vQ / uSize * 2. - 1., 0., 1.); }\", sc = `${ac}\nuniform sampler2D uPic;   // what's on the card, in its own colours\nuniform float uContent;   // how much of that picture shows (the real form takes over from it)\nin vec2 vQ;\nout vec4 o;\nvec2 erf2(vec2 x) { vec2 s = sign(x), a = abs(x); x = 1. + (.278393 + (.230389 + .078108 * (a * a)) * a) * a; x *= x; return s - s / (x * x); }\nvoid main() {\n  vec2 q = vQ;\n  float px = .5 / uDpr, cover = (1. - smoothstep(-px, px, sdSheet(q))) * solid(q, 230.);\n  vec4 c = vec4(0.);\n  if (cover > 0.) {\n    vec2 uv = vec2((q.x - uSheet.x) / (uSheet.y - uSheet.x), 1. - q.y / uSheet.z);\n    vec4 pic = texture(uPic, uv) * uContent * solid(q, 380.);\n    // (and half a level of noise, so its dark gradient never bands)\n    vec2 g = floor(q * uDpr);\n    c = vec4(pic.rgb + blueHour(q) * (1. - pic.a) + (fract(52.9829189 * fract(dot(g, vec2(.06711056, .00583715)))) - .5) / 255., 1.) * cover;\n  }\n  // its shadow on the page either side, as it has on the night (main.css: 0 40px 90px -50px), once it's\n  // nearly made\n  vec2 sx = erf2((q.x - vec2(uSheet.x + 50., uSheet.y - 50.)) / 63.64), sy = erf2((q.y - vec2(-400., uSheet.z - 90.)) / 63.64);\n  float sh = .2125 * (sx.x - sx.y) * (sy.x - sy.y) * smoothstep(.55, 1., uForm);\n  o = c + vec4(0., 0., 0., sh) * (1. - c.a);\n}`, cc = `${ac}\nin vec4 aHome;\nin vec4 aSeed;\nuniform sampler2D uPic;\nuniform vec4 uPointer;   // where the mouse is and how fast it's moving (px/s)\nout vec4 vCol;\nout float vSize, vSpan;\nconst float PI = 3.14159265;\nvoid main() {\n  vec4 s = aSeed;\n  bool words = aHome.z > 1.5;\n  vec2 home = vec2(mix(uSheet.x, uSheet.y, aHome.x), uSheet.z * (1. - aHome.y));\n  vec4 pic = texture(uPic, aHome.xy);\n  vec3 own = pic.rgb + blueHour(home) * (1. - pic.a);\n  // out of a point on the print's ridges\n  float ra = PI * s.z, rr = (5. + 40. * s.w) * uPrint.z;\n  vec2 from = uPrint.xy + vec2(cos(ra), sin(ra)) * rr;\n  // its path: out from the print on the front, until the front reaches its place (what's on the card\n  // rides a little way behind it)\n  vec2 out_ = home - uPrint.xy;\n  float len = length(out_);\n  vec2 dir = out_ / max(len, 1.);\n  float edgeAt = front(home) - (words ? 150. : 0.) - 170. * fract(s.y * 7.31 + s.x), r = clamp(edgeAt, 0., len);\n  // on the front it rolls like smoke, on the shared flow; settled behind it, it's still\n  float swirl = (1. - smoothstep(0., 90., edgeAt - len)) * smoothstep(0., 30., edgeAt);\n  vec2 pos = uPrint.xy + (from - uPrint.xy) * (1. - smoothstep(0., 60., r)) + dir * r;\n  pos += (curl(pos * .004 + vec2(0., uTime * .15)) * 30. + curl(pos * .013 + vec2(uTime * .35, 3.)) * 12. + (vec2(s.x, fract(s.z * 13.7)) - .5) * 10.) * swirl;\n  // the mouse stirs them\n  vec2 dp = pos - uPointer.xy;\n  pos += clamp(uPointer.zw * .06, -45., 45.) * exp(-dot(dp, dp) / 7000.) * swirl;\n  // in the air a few catch the blue hour's light; landed, each is its own place's colour, and goes into\n  // the card as it condenses under it, so it's seen no more but never goes\n  vec3 col = mix(own, s.w > .95 ? ICE : BLUE, swirl * .75 * smoothstep(.45, 1., s.w));\n  float a = mix(1., .9, swirl) * smoothstep(0., 12., edgeAt) * (1. - smoothstep(.9, 1., solid(home, mix(230., 380., pic.a))));\n  vCol = vec4(col * a, a);\n  // and settling, the card's own swell till they all but touch, so where they've landed is the card\n  // already, in grain, before it closes up between them (what's on it stays fine, so it stays legible)\n  float fine = words ? 1.25 : .95 + .65 * s.y;\n  vSize = mix(fine, mix(2.9, fine, pic.a), 1. - swirl) * uDpr;\n  vSpan = max(vSize, 1.) + 1.5;\n  gl_PointSize = vSpan;\n  gl_Position = a < .004 ? vec4(2., 2., 2., 1.) : vec4(pos / uSize * 2. - 1., 0., 1.);\n}`, lc = `${ac}\nin vec4 aSeed;\nuniform float uStill;   // 1 while the card's made and still; brushing ends as it goes\nuniform vec4 uWake[48];     // where the mouse was (px in the canvas) and how fast it was going (px/s)\nuniform float uWakeAt[48];  // and when\nout vec4 vCol;\nout float vSize, vSpan;\nvoid main() {\n  vec4 s = aSeed;\n  // its place on the edge: up the left side, round the corner, along the top, round and down the right\n  float w = uSheet.y - uSheet.x, h = uSheet.z, r = min(uSheet.w, w * .5);\n  float side = max(0., h - r), arc = 1.5707963 * r, top = max(0., w - 2. * r), d = s.x * (2. * side + 2. * arc + top);\n  vec2 p, n;\n  if (d < side) { p = vec2(0., d); n = vec2(-1., 0.); }\n  else if (d < side + arc) { float a = 3.14159265 - (d - side) / r; n = vec2(cos(a), sin(a)); p = vec2(r, h - r) + r * n; }\n  else if (d < side + arc + top) { p = vec2(r + d - side - arc, h); n = vec2(0., 1.); }\n  else if (d < side + 2. * arc + top) { float a = 1.5707963 - (d - side - arc - top) / r; n = vec2(cos(a), sin(a)); p = vec2(w - r, h - r) + r * n; }\n  else { p = vec2(w, h - r - (d - side - 2. * arc - top)); n = vec2(1., 0.); }\n  vec2 home = p + vec2(uSheet.x, 0.) - n * (.6 + 2.4 * s.y);\n  // how hard the mouse brushed past it (a faster move brushes harder, and a wider swath), and the move\n  // that first brushed it off: it rides that one\n  float push = 0., f[48];\n  for (int i = 0; i < 48; i++) {\n    vec2 dm = home - uWake[i].xy;\n    float v = length(uWake[i].zw), t = uTime - uWakeAt[i];\n    f[i] = t >= 0. && t < 1.5 ? v * exp(-dot(dm, dm) / (1100. + v * v * .0012)) : 0.;\n    push = max(push, f[i]);\n  }\n  vec4 m = vec4(0.);\n  float age = -1.;\n  for (int i = 0; i < 48; i++) if (age < 0. && f[i] > max(60., push * .5)) { m = uWake[i]; age = uTime - uWakeAt[i]; }\n  float a = uStill * smoothstep(80., 420., push) * (1. - smoothstep(.12, 1.25, age)) * step(0., age);\n  // carried on the way the mouse went, a little either side, slowing; off the edge; and curling as it goes\n  float sp = min(length(m.zw), 1600.);\n  vec2 dir = m.zw / max(sp, 1.), across = vec2(-dir.y, dir.x);\n  float tau = .42, go = 1. - exp(-max(age, 0.) / tau);\n  vec2 pos = home + (dir + across * (fract(s.w * 7.13) - .5) * .8) * sp * .26 * tau * go * (.35 + .9 * s.z) + n * 16. * go;\n  // the flow folds them as one, so they swirl apart in skeins rather than spray; then each its own way\n  pos += curl(home * .0055 + vec2(uTime * .05, 0.)) * 30. * go * go + curl(pos * .016 + vec2(s.w * 2., uTime * .3)) * 9. * age;\n  // its own colour as it leaves (so over the card it isn't seen); out on the page, a little of the blue\n  a *= .85;\n  vec3 col = mix(blueHour(home), BLUE, .45 * smoothstep(0., 50., sdSheet(pos)));\n  vCol = vec4(col * a, a);\n  vSize = (.9 + .6 * s.w) * uDpr;\n  vSpan = max(vSize, 1.) + 1.5;\n  gl_PointSize = vSpan;\n  gl_Position = a < .004 ? vec4(2., 2., 2., 1.) : vec4(pos / uSize * 2. - 1., 0., 1.);\n}`, uc = \"\\nin vec4 vCol;\\nin float vSize, vSpan;\\nout vec4 o;\\nvoid main() {\\n  float r = max(vSize, 1.) * .5, d = length(gl_PointCoord - .5) * vSpan;\\n  o = vCol * (1. - smoothstep(r - .5, r + .5, d)) * min(1., vSize * vSize);\\n}\", dc = /* @__PURE__ */ new Map(), fc = (e, t) => {\n\tlet n = e.innerHTML + t.stroke + t.fill + t.strokeWidth, r = dc.get(n);\n\tif (!r) {\n\t\tlet i = e.cloneNode(!0);\n\t\ti.removeAttribute(\"class\"), i.removeAttribute(\"style\"), i.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n\t\tfor (let [e, n] of [\n\t\t\t[\"fill\", t.fill],\n\t\t\t[\"stroke\", t.stroke],\n\t\t\t[\"stroke-width\", t.strokeWidth],\n\t\t\t[\"stroke-linecap\", t.strokeLinecap],\n\t\t\t[\"stroke-linejoin\", t.strokeLinejoin]\n\t\t]) i.setAttribute(e, n);\n\t\tr = new Image(), r.src = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(new XMLSerializer().serializeToString(i))}`, dc.set(n, r);\n\t}\n\treturn r.complete && r.naturalWidth ? r : null;\n}, pc = (e) => {\n\tlet t = e.match(/[\\d.]+/g);\n\treturn t ? t.length > 3 ? +t[3] : 1 : 0;\n};\nfunction mc(e, t) {\n\tlet n = Math.max(1, Math.round(e.offsetWidth)), r = Math.max(1, Math.round(e.offsetHeight)), i = document.createElement(\"canvas\");\n\ti.width = Math.round(n * t), i.height = Math.round(r * t);\n\tlet a = i.getContext(\"2d\");\n\ta.scale(i.width / n, i.height / r);\n\tlet o = e.getBoundingClientRect(), s = document.createRange(), c = (e) => ({\n\t\tl: e.left - o.left,\n\t\tt: e.top - o.top,\n\t\tw: e.width,\n\t\th: e.height\n\t}), l = (e, t, n = 0) => {\n\t\ta.beginPath();\n\t\tlet r = Math.max(0, Math.min(t - n, (e.w - 2 * n) / 2, (e.h - 2 * n) / 2));\n\t\ta.roundRect ? a.roundRect(e.l + n, e.t + n, e.w - 2 * n, e.h - 2 * n, r) : a.rect(e.l + n, e.t + n, e.w - 2 * n, e.h - 2 * n);\n\t}, u = (e) => {\n\t\ta.font = `${e.fontStyle} ${e.fontWeight} ${e.fontSize} ${e.fontFamily}`, \"letterSpacing\" in a && (a.letterSpacing = e.letterSpacing === \"normal\" ? \"0px\" : e.letterSpacing);\n\t}, d = (e) => pc(e.color) === 0 || pc(e.webkitTextFillColor || \"rgb(0,0,0)\") === 0 ? \"#9fcdf0\" : e.color, f = (e, t) => {\n\t\tu(t), a.fillStyle = d(t);\n\t\tlet n = t.textTransform === \"uppercase\" ? e.textContent.toUpperCase() : e.textContent;\n\t\tfor (let t of e.textContent.matchAll(/\\S+/g)) {\n\t\t\ts.setStart(e, t.index), s.setEnd(e, t.index + t[0].length);\n\t\t\tlet r = s.getClientRects()[0];\n\t\t\tif (!r || !r.width) continue;\n\t\t\tlet i = n.slice(t.index, t.index + t[0].length);\n\t\t\ta.fillText(i, r.left - o.left, r.top - o.top + a.measureText(i).fontBoundingBoxAscent);\n\t\t}\n\t}, p = (e, t) => {\n\t\tlet n = parseFloat(e.borderTopLeftRadius) || 0;\n\t\tpc(e.backgroundColor) > 0 && (l(t, n), a.fillStyle = e.backgroundColor, a.fill());\n\t\tlet r = [\n\t\t\t\"Top\",\n\t\t\t\"Right\",\n\t\t\t\"Bottom\",\n\t\t\t\"Left\"\n\t\t].map((t) => ({\n\t\t\tw: e[`border${t}Style`] === \"none\" ? 0 : parseFloat(e[`border${t}Width`]) || 0,\n\t\t\tc: e[`border${t}Color`]\n\t\t}));\n\t\tif (r.every((e) => e.w === r[0].w && e.c === r[0].c)) r[0].w > 0 && pc(r[0].c) > 0 && (l(t, n, r[0].w / 2), a.lineWidth = r[0].w, a.strokeStyle = r[0].c, a.stroke());\n\t\telse {\n\t\t\tlet [e, n, i, o] = r;\n\t\t\tfor (let [r, s, c, l, u] of [\n\t\t\t\t[\n\t\t\t\t\te,\n\t\t\t\t\tt.l,\n\t\t\t\t\tt.t,\n\t\t\t\t\tt.w,\n\t\t\t\t\te.w\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\tn,\n\t\t\t\t\tt.l + t.w - n.w,\n\t\t\t\t\tt.t,\n\t\t\t\t\tn.w,\n\t\t\t\t\tt.h\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\ti,\n\t\t\t\t\tt.l,\n\t\t\t\t\tt.t + t.h - i.w,\n\t\t\t\t\tt.w,\n\t\t\t\t\ti.w\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\to,\n\t\t\t\t\tt.l,\n\t\t\t\t\tt.t,\n\t\t\t\t\to.w,\n\t\t\t\t\tt.h\n\t\t\t\t]\n\t\t\t]) r.w > 0 && pc(r.c) > 0 && (a.fillStyle = r.c, a.fillRect(s, c, l, u));\n\t\t}\n\t\tfor (let n of e.boxShadow.matchAll(/(rgba?\\([^)]*\\)) (-?[\\d.]+)px (-?[\\d.]+)px ([\\d.]+)px (-?[\\d.]+)px inset/g)) {\n\t\t\tlet e = +n[3];\n\t\t\t+n[4] || !e || (a.fillStyle = n[1], a.fillRect(t.l, e < 0 ? t.t + t.h + e : t.t, t.w, Math.abs(e)));\n\t\t}\n\t}, m = (t) => {\n\t\tfor (let n of t.childNodes) {\n\t\t\tif (n.nodeType === 3) {\n\t\t\t\tn.textContent.trim() && f(n, getComputedStyle(t));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (n.nodeType !== 1) continue;\n\t\t\tlet r = getComputedStyle(n);\n\t\t\tif (r.display === \"none\" || r.visibility === \"hidden\" || +r.opacity == 0 && n.parentElement !== e) continue;\n\t\t\tlet i = c(n.getBoundingClientRect());\n\t\t\tif (!i.w || !i.h) continue;\n\t\t\tif (p(r, i), n.localName === \"svg\") {\n\t\t\t\tlet e = fc(n, r);\n\t\t\t\te && a.drawImage(e, i.l, i.t, i.w, i.h);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (n.matches(\"input:not([type=\\\"checkbox\\\"], [type=\\\"radio\\\"], [type=\\\"hidden\\\"]), textarea\")) {\n\t\t\t\tlet e = n.value || n.placeholder;\n\t\t\t\tif (e) {\n\t\t\t\t\tlet t = n.value ? r : getComputedStyle(n, \"::placeholder\");\n\t\t\t\t\tu(r), a.fillStyle = t.color;\n\t\t\t\t\tlet o = a.measureText(e);\n\t\t\t\t\ta.fillText(e, i.l + (parseFloat(r.paddingLeft) || 0), i.t + i.h / 2 + (o.fontBoundingBoxAscent - o.fontBoundingBoxDescent) / 2);\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet o = r.overflowX !== \"visible\" || r.overflowY !== \"visible\";\n\t\t\to && (a.save(), a.beginPath(), a.rect(i.l, i.t, i.w, i.h), a.clip()), m(n), o && a.restore();\n\t\t}\n\t}, h = e.style.cssText;\n\te.style.transition = \"none\", e.style.visibility = \"visible\";\n\ttry {\n\t\tm(e);\n\t} finally {\n\t\te.style.cssText = h;\n\t}\n\treturn {\n\t\tcv: i,\n\t\tw: n,\n\t\th: r\n\t};\n}\nvar hc = document.createElement(\"canvas\");\nfunction gc({ section: e, slot: t, panel: n, print: r, pad: i }) {\n\tif (typeof WebGL2RenderingContext > \"u\") return null;\n\tlet a = document.createElement(\"canvas\");\n\ta.className = \"quote-dust\", a.setAttribute(\"aria-hidden\", \"true\");\n\tlet o = null, s = !1, c = null, l = null, u, d, f, p, m, h, g, _, v, y = (e, t, n) => {\n\t\tlet r = (e, t) => {\n\t\t\tlet n = o.createShader(e);\n\t\t\treturn o.shaderSource(n, ic + t), o.compileShader(n), n;\n\t\t}, i = r(o.VERTEX_SHADER, e), a = r(o.FRAGMENT_SHADER, t), s = o.createProgram();\n\t\treturn o.attachShader(s, i), o.attachShader(s, a), n.forEach((e, t) => o.bindAttribLocation(s, t, e)), o.linkProgram(s), {\n\t\t\tp: s,\n\t\t\tv: i,\n\t\t\tf: a\n\t\t};\n\t}, b = ({ p: e, v: t, f: n }) => {\n\t\tif (!o.getProgramParameter(e, o.LINK_STATUS)) {\n\t\t\tfor (let e of [t, n]) o.getShaderParameter(e, o.COMPILE_STATUS) || console.warn(\"quote-dust:\", o.getShaderInfoLog(e));\n\t\t\treturn console.warn(\"quote-dust:\", o.getProgramInfoLog(e)), null;\n\t\t}\n\t\tlet r = {}, i = o.getProgramParameter(e, o.ACTIVE_UNIFORMS);\n\t\tfor (let t = 0; t < i; t++) {\n\t\t\tlet n = o.getActiveUniform(e, t).name;\n\t\t\tr[n] = o.getUniformLocation(e, n);\n\t\t}\n\t\treturn r.uPic && (o.useProgram(e), o.uniform1i(r.uPic, 0)), {\n\t\t\tp: e,\n\t\t\tu: r\n\t\t};\n\t}, x = (e, t) => {\n\t\to.useProgram(e.p);\n\t\tfor (let n in t) {\n\t\t\tlet r = e.u[n], i = t[n];\n\t\t\tr && (typeof i == \"number\" ? o.uniform1f(r, i) : o[`uniform${i.length}fv`](r, i));\n\t\t}\n\t}, S = (e) => {\n\t\tlet t = new Float32Array(e);\n\t\tfor (let n = 0; n < e; n++) t[n] = Math.random();\n\t\treturn t;\n\t}, C = tc.matches || innerWidth < 700, w = C ? 7e4 : 2e5, T = C ? 22e3 : 5e4, E = w + T, D = tc.matches ? 0 : 24e3, O = 0, ee = (e, t, n, r) => (e < r || e > n - r) && t < r && Math.hypot(e - nc(e, r, n - r), t - r) > r, k = (e, t) => {\n\t\tlet n = Math.min(O, e / 2), r = Math.max(1, Math.round(Math.sqrt(w * e / t))), i = Math.ceil(w / r);\n\t\tfor (let a = 0; a < w; a++) {\n\t\t\tlet o = (a % r + Math.random()) / r * e, s = (Math.floor(a / r) + Math.random()) / i * t;\n\t\t\tfor (; ee(o, s, e, n);) o = Math.random() * e, s = Math.random() * t;\n\t\t\tp[a * 4] = o / e, p[a * 4 + 1] = s / t, p[a * 4 + 2] = 1;\n\t\t}\n\t\tne();\n\t}, te = () => {\n\t\tif (!s) return;\n\t\tlet e = mc(n, le);\n\t\to.bindTexture(o.TEXTURE_2D, h), o.texImage2D(o.TEXTURE_2D, 0, o.RGBA, o.RGBA, o.UNSIGNED_BYTE, e.cv), hc.width = e.w, hc.height = e.h;\n\t\tlet t = hc.getContext(\"2d\", { willReadFrequently: !0 });\n\t\tt.clearRect(0, 0, e.w, e.h), t.drawImage(e.cv, 0, 0, e.w, e.h);\n\t\tlet r = t.getImageData(0, 0, e.w, e.h).data, i = [];\n\t\tfor (let e = 3; e < r.length; e += 4) r[e] > 50 && i.push(e >> 2);\n\t\tfor (let t = 0; t < T; t++) {\n\t\t\tlet n = (w + t) * 4;\n\t\t\tif (p[n + 2] = 2, !i.length) {\n\t\t\t\tp[n] = p[n + 1] = -1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet r = i[i.length >= T ? Math.floor((t + Math.random()) * i.length / T) : Math.floor(Math.random() * i.length)];\n\t\t\tp[n] = (r % e.w + Math.random()) / e.w, p[n + 1] = (Math.floor(r / e.w) + Math.random()) / e.h;\n\t\t}\n\t\tne(), De();\n\t}, ne = () => {\n\t\to.bindBuffer(o.ARRAY_BUFFER, m), o.bufferData(o.ARRAY_BUFFER, p, o.DYNAMIC_DRAW);\n\t}, re = [\n\t\t() => {\n\t\t\tif (o = a.getContext(\"webgl2\", {\n\t\t\t\talpha: !0,\n\t\t\t\tpremultipliedAlpha: !0,\n\t\t\t\tantialias: !1,\n\t\t\t\tdepth: !1,\n\t\t\t\tstencil: !1,\n\t\t\t\tpowerPreference: \"high-performance\"\n\t\t\t}), !o) return !1;\n\t\t\tc = o.getExtension(\"KHR_parallel_shader_compile\"), l = [\n\t\t\t\ty(oc, sc, [\"aQuad\"]),\n\t\t\t\ty(cc, uc, [\"aHome\", \"aSeed\"]),\n\t\t\t\ty(lc, uc, [\"aSeed\"])\n\t\t\t];\n\t\t},\n\t\t() => ([u, d, f] = l.map(b), !!(u && d && f)),\n\t\t() => {\n\t\t\tp = new Float32Array(E * 4), m = o.createBuffer();\n\t\t\tlet e = o.createBuffer(), t = o.createBuffer(), n = o.createBuffer();\n\t\t\to.bindBuffer(o.ARRAY_BUFFER, e), o.bufferData(o.ARRAY_BUFFER, S(E * 4), o.STATIC_DRAW), o.bindBuffer(o.ARRAY_BUFFER, t), o.bufferData(o.ARRAY_BUFFER, S(D * 4), o.STATIC_DRAW);\n\t\t\tlet r = (e) => {\n\t\t\t\tlet t = o.createVertexArray();\n\t\t\t\treturn o.bindVertexArray(t), e.forEach(([e, t], n) => {\n\t\t\t\t\to.bindBuffer(o.ARRAY_BUFFER, e), o.enableVertexAttribArray(n), o.vertexAttribPointer(n, t, o.FLOAT, !1, 0, 0);\n\t\t\t\t}), o.bindVertexArray(null), t;\n\t\t\t};\n\t\t\to.bindBuffer(o.ARRAY_BUFFER, n), o.bufferData(o.ARRAY_BUFFER, new Float32Array([\n\t\t\t\t-1,\n\t\t\t\t-1,\n\t\t\t\t1,\n\t\t\t\t-1,\n\t\t\t\t-1,\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\t1\n\t\t\t]), o.STATIC_DRAW), g = r([[n, 2]]), _ = r([[m, 4], [e, 4]]), v = r([[t, 4]]), h = o.createTexture(), o.bindTexture(o.TEXTURE_2D, h), o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0), o.texImage2D(o.TEXTURE_2D, 0, o.RGBA, 1, 1, 0, o.RGBA, o.UNSIGNED_BYTE, /* @__PURE__ */ new Uint8Array(4));\n\t\t\tfor (let [e, t] of [\n\t\t\t\t[o.TEXTURE_MIN_FILTER, o.LINEAR],\n\t\t\t\t[o.TEXTURE_MAG_FILTER, o.LINEAR],\n\t\t\t\t[o.TEXTURE_WRAP_S, o.CLAMP_TO_EDGE],\n\t\t\t\t[o.TEXTURE_WRAP_T, o.CLAMP_TO_EDGE]\n\t\t\t]) o.texParameteri(o.TEXTURE_2D, e, t);\n\t\t},\n\t\t() => {\n\t\t\ts = !0, me();\n\t\t},\n\t\t() => {\n\t\t\tdocument.fonts?.ready.then(() => setTimeout(() => Er(() => be && te(), () => ye), 600));\n\t\t}\n\t], j = 0, M = !1, ie = () => !c || l.every(({ p: e }) => o.getProgramParameter(e, c.COMPLETION_STATUS_KHR)), ae = (e) => window.requestIdleCallback ? requestIdleCallback(e, { timeout: 2e3 }) : setTimeout(e, 50), oe = () => {\n\t\t!be || j >= re.length || (re[j]() === !1 ? je() : j++);\n\t};\n\tfunction se(e) {\n\t\tfor (; be && j < re.length;) if (e) oe();\n\t\telse {\n\t\t\tif (M) return;\n\t\t\tM = !0, j === 1 && !ie() ? setTimeout(() => {\n\t\t\t\tM = !1, se();\n\t\t\t}, 50) : ae(() => {\n\t\t\t\tM = !1, oe(), se();\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t}\n\tt.prepend(a), e.classList.add(\"has-dust\");\n\tlet ce = 1, N = 1, le = 1, P = [\n\t\t0,\n\t\t1,\n\t\t1,\n\t\t0\n\t], ue = [\n\t\t0,\n\t\t0,\n\t\t1\n\t], de = 1, fe = \"\", pe = 0, me = () => {\n\t\tif (!s) return;\n\t\tlet e = t.offsetWidth, o = t.offsetHeight;\n\t\tif (!e || !o) return;\n\t\tlet c = t.getBoundingClientRect(), l = r.getBoundingClientRect(), u = getComputedStyle(n), d = Math.round(nc(Math.min(c.left, document.documentElement.clientWidth - c.right), 0, 240)), f = e < 600 ? 150 : 220;\n\t\tce = e + d * 2, N = o + f;\n\t\tlet p = le;\n\t\tle = Math.min(devicePixelRatio || 1, 2), Object.assign(a.style, {\n\t\t\tleft: `${-d}px`,\n\t\t\ttop: `${-f}px`,\n\t\t\twidth: `${ce}px`,\n\t\t\theight: `${N}px`\n\t\t});\n\t\tlet m = Math.round(ce * le), h = Math.round(N * le);\n\t\t(a.width !== m || a.height !== h) && (a.width = m, a.height = h);\n\t\tlet g = n.offsetWidth, _ = n.offsetHeight, v = d + n.offsetLeft;\n\t\tO = parseFloat(u.borderTopLeftRadius) || 0, P = [\n\t\t\tv,\n\t\t\tv + g,\n\t\t\t_,\n\t\t\tO\n\t\t];\n\t\tlet y = d + l.left + l.width / 2 - c.left;\n\t\tue = [\n\t\t\ty,\n\t\t\t0,\n\t\t\ti.offsetWidth / 100\n\t\t], de = Math.hypot(Math.max(y - P[0], P[1] - y), P[2]);\n\t\tlet b = `${g}x${_}x${O}`;\n\t\t(b !== fe || le !== p) && (fe = b, k(g, _), clearTimeout(pe), pe = setTimeout(() => Er(() => be && te(), () => ye), 250)), De();\n\t}, F = 0, I = 0, L = 0, he = 1, R = 0, ge = 0, z = Math.random() * 100, B = 0, _e = 0, ve = !1, ye = !1, be = !0, V = {\n\t\tcx: 0,\n\t\tcy: 0,\n\t\thas: !1,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tvx: 0,\n\t\tvy: 0,\n\t\tx: -1e4,\n\t\ty: -1e4\n\t}, xe = /* @__PURE__ */ new Float32Array(192), Se = (/* @__PURE__ */ new Float32Array(48)).fill(-1e4), Ce = -1e4, we = -1e4, Te = () => F > 0 || I > 0, Ee = () => z - Se[47] < 1.5;\n\tfunction De() {\n\t\tif (!s || (o.bindFramebuffer(o.FRAMEBUFFER, null), o.viewport(0, 0, a.width, a.height), o.clearColor(0, 0, 0, 0), o.clear(o.COLOR_BUFFER_BIT), !Te() || !F)) return;\n\t\to.enable(o.BLEND), o.blendFunc(o.ONE, o.ONE_MINUS_SRC_ALPHA), o.activeTexture(o.TEXTURE0), o.bindTexture(o.TEXTURE_2D, h);\n\t\tlet e = {\n\t\t\tuSize: [ce, N],\n\t\t\tuSheet: P,\n\t\t\tuPrint: ue,\n\t\t\tuReach: de,\n\t\t\tuForm: F,\n\t\t\tuTime: z,\n\t\t\tuDpr: le\n\t\t}, t = [\n\t\t\tV.x,\n\t\t\tV.y,\n\t\t\tnc(V.vx, -2500, 2500),\n\t\t\tnc(V.vy, -2500, 2500)\n\t\t];\n\t\tx(u, {\n\t\t\t...e,\n\t\t\tuContent: he,\n\t\t\tuBox: [\n\t\t\t\tMath.max(0, P[0] - 140),\n\t\t\t\t0,\n\t\t\t\tMath.min(ce, P[1] + 140),\n\t\t\t\tMath.min(N, P[2] + 4)\n\t\t\t]\n\t\t}), o.bindVertexArray(g), o.drawArrays(o.TRIANGLE_STRIP, 0, 4), F < 1 && (x(d, {\n\t\t\t...e,\n\t\t\tuPointer: t\n\t\t}), o.bindVertexArray(_), o.drawArrays(o.POINTS, 0, E)), ge > 0 && D && Ee() && (x(f, {\n\t\t\t...e,\n\t\t\tuStill: ge\n\t\t}), o.uniform4fv(f.u[\"uWake[0]\"], xe), o.uniform1fv(f.u[\"uWakeAt[0]\"], Se), o.bindVertexArray(v), o.drawArrays(o.POINTS, 0, D)), o.bindVertexArray(null), o.disable(o.BLEND);\n\t}\n\tfunction Oe(t) {\n\t\tif (B = 0, tc.matches && F === I && (ve = !ve)) {\n\t\t\tke();\n\t\t\treturn;\n\t\t}\n\t\tlet n = _e ? nc((t - _e) / 1e3, 0, 1 / 30) : 1 / 60;\n\t\t_e = t, z += n, z >= L && (F = rc(F, I, n * 1e3 / (I > F ? Zs : Qs)));\n\t\tlet r = I === 1 && F === 1;\n\t\tR = r ? R + n : 0, he = r ? rc(he, R > ec ? 0 : 1, n / .3) : 1, ge = r ? 1 : rc(ge, 0, n / .3);\n\t\tlet i = a.getBoundingClientRect(), o = V.dx || V.dy;\n\t\tif (V.vx += (V.dx / n - V.vx) * .35, V.vy += (-V.dy / n - V.vy) * .35, V.dx = V.dy = 0, V.has && (V.x = V.cx - i.left, V.y = i.bottom - V.cy), r && o && Math.hypot(V.x - Ce, V.y - we) > 8 && z - Se[0] > 1.5) {\n\t\t\tlet [e, t, n, r] = P, i = V.x - nc(V.x, e + r, t - r), a = V.y - Math.min(V.y, n - r), o = i > 0 && a > 0 ? Math.hypot(i, a) - r : Math.max(e - V.x, V.x - t, V.y - n);\n\t\t\tMath.abs(o) < 70 && (xe.copyWithin(0, 4), Se.copyWithin(0, 1), xe.set([\n\t\t\t\tV.x,\n\t\t\t\tV.y,\n\t\t\t\tnc(V.vx, -2500, 2500),\n\t\t\t\tnc(V.vy, -2500, 2500)\n\t\t\t], 188), Se[47] = z, Ce = V.x, we = V.y);\n\t\t}\n\t\te.classList.toggle(\"is-formed\", r), De(), Te() && (F !== I || z < L || r && R < 1.2 || o || Ee()) ? ke() : _e = 0;\n\t}\n\tfunction ke() {\n\t\t!B && be && ye && Te() && (B = requestAnimationFrame(Oe));\n\t}\n\tfunction Ae() {\n\t\tI || (F = 0, ge = 0, De());\n\t}\n\tfunction je() {\n\t\tbe = !1, cancelAnimationFrame(B), B = 0, clearTimeout(pe), e.classList.remove(\"has-dust\", \"is-formed\"), a.remove();\n\t}\n\tlet Me = new ResizeObserver(me);\n\treturn Me.observe(t), Me.observe(n), new IntersectionObserver(([e]) => {\n\t\tye = e.isIntersecting, ye || Ae(), ke();\n\t}, { rootMargin: \"100px 0px\" }).observe(a), new IntersectionObserver(([e], t) => {\n\t\te.isIntersecting && (t.disconnect(), se());\n\t}, { rootMargin: \"250% 0px\" }).observe(t), addEventListener(\"resize\", me), addEventListener(\"pointermove\", (e) => {\n\t\te.pointerType === \"mouse\" && (V.has && (V.dx += e.clientX - V.cx, V.dy += e.clientY - V.cy), V.cx = e.clientX, V.cy = e.clientY, V.has = !0, D && F === 1 && ke());\n\t}, { passive: !0 }), a.addEventListener(\"webglcontextlost\", je), {\n\t\trise: Zs,\n\t\tget alive() {\n\t\t\treturn be;\n\t\t},\n\t\topen() {\n\t\t\tse(!0), be && (F || te(), I = 1, L = 0, ke());\n\t\t},\n\t\tclose() {\n\t\t\tte(), I = 0, L = z + $s / 1e3, e.classList.remove(\"is-formed\"), ye || Ae(), ke();\n\t\t}\n\t};\n}\n//#endregion\n//#region src/quote/quote-print.js\nvar _c = matchMedia(\"(max-width: 999px)\"), vc = 900, yc = 900, bc = .25, xc = (e, t, n) => Math.max(t, Math.min(n, e)), Sc = [\n\t[\n\t\t5,\n\t\t196,\n\t\t344\n\t],\n\t[\n\t\t10,\n\t\t186,\n\t\t354,\n\t\t300\n\t],\n\t[\n\t\t15,\n\t\t184,\n\t\t356,\n\t\t232\n\t],\n\t[\n\t\t20,\n\t\t183,\n\t\t357,\n\t\t276,\n\t\t331\n\t],\n\t[\n\t\t25,\n\t\t182,\n\t\t358,\n\t\t214\n\t],\n\t[\n\t\t30,\n\t\t181,\n\t\t359,\n\t\t255,\n\t\t312\n\t],\n\t[\n\t\t35,\n\t\t181,\n\t\t359,\n\t\t290\n\t],\n\t[\n\t\t40,\n\t\t186,\n\t\t356,\n\t\t226,\n\t\t309\n\t],\n\t[\n\t\t45,\n\t\t198,\n\t\t342,\n\t\t262\n\t]\n], Cc = 6, wc = (e, t, n) => {\n\tlet r = (t) => [50 + e * Math.cos(t * Math.PI / 180), 50 + e * Math.sin(t * Math.PI / 180)].map((e) => e.toFixed(2)), [i, a] = r(t), [o, s] = r(n);\n\treturn `M${i} ${a}A${e} ${e} 0 0 1 ${o} ${s}`;\n}, Tc = ([e, t, n, ...r]) => {\n\tlet i = \"\", a = t;\n\tfor (let t of r) i += wc(e, a, t - Cc), a = t + Cc;\n\treturn i + wc(e, a, n);\n};\nfunction Ec(e, t, n, r) {\n\tlet i = t.querySelector(\".quote-print__pad\"), a = i.querySelector(\"svg\"), o = t.querySelector(\".quote-print__say\"), s = n.closest(\".quote-slot\"), c = n.querySelector(\".quote-form form\"), l = () => e.classList.contains(\"is-open\");\n\te.classList.add(\"has-print\", \"is-instant\"), n.offsetWidth, requestAnimationFrame(() => requestAnimationFrame(() => e.classList.remove(\"is-instant\")));\n\tlet u = r.reduced ? null : gc({\n\t\tsection: e,\n\t\tslot: s,\n\t\tpanel: n,\n\t\tprint: t,\n\t\tpad: i\n\t}), d = () => !!u?.alive, f = () => d() ? u.rise : yc, p = (e) => Sc.map((t, n) => {\n\t\tlet r = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n\t\treturn r.setAttribute(\"d\", Tc(t)), r.setAttribute(\"class\", e), r.style.setProperty(\"--i\", n), e === \"quote-print__lit\" && r.setAttribute(\"pathLength\", \"1\"), a.append(r), r;\n\t}), m = p(\"quote-print__ridge\"), h = p(\"quote-print__lit\"), g = \"rest\", _ = 0, v = {\n\t\trest: \"Hold for a free quote\",\n\t\treading: \"Reading\",\n\t\thint: \"Hold a little longer\",\n\t\tdone: \"Unlocked\"\n\t}, y = (e) => {\n\t\te !== g && (g = e, o.textContent = v[e], t.dataset.say = e);\n\t};\n\ti.addEventListener(\"pointermove\", (e) => {\n\t\tif (e.pointerType !== \"mouse\") return;\n\t\tlet t = a.getBoundingClientRect(), n = Math.hypot((e.clientX - t.left) * 100 / t.width - 50, (e.clientY - t.top) * 50 / t.height - 50);\n\t\tm.forEach((e, t) => e.style.setProperty(\"--hl\", xc(1 - Math.abs(n - Sc[t][0]) / 7, 0, 1).toFixed(2)));\n\t}), i.addEventListener(\"pointerleave\", () => m.forEach((e) => e.style.removeProperty(\"--hl\")));\n\tlet b = 0, x = !1, S = 0, C = 0, w = !1, T = () => h.forEach((e, t) => e.style.setProperty(\"--off\", (1 - xc(b * (Sc.length + 2) - t, 0, 1)).toFixed(3))), E = (e) => {\n\t\tlet n = Math.min(64, e - C);\n\t\tC = e, b = x ? Math.min(1, b + n / vc) : Math.max(0, b - n / 380), T(), x && b >= 1 ? (S = 0, O()) : x || b > 0 ? S = requestAnimationFrame(E) : (S = 0, t.classList.remove(\"is-reading\"));\n\t};\n\ti.addEventListener(\"pointerdown\", (e) => {\n\t\tif (!(w || l() || e.pointerType === \"mouse\" && e.button !== 0)) {\n\t\t\tx = !0, clearTimeout(_), t.classList.add(\"is-reading\"), y(\"reading\"), S ||= (C = performance.now(), requestAnimationFrame(E));\n\t\t\ttry {\n\t\t\t\ti.setPointerCapture(e.pointerId);\n\t\t\t} catch {}\n\t\t}\n\t});\n\tlet D = () => {\n\t\tx && (x = !1, !w && (y(\"hint\"), clearTimeout(_), _ = setTimeout(() => {\n\t\t\t!x && !w && y(\"rest\");\n\t\t}, 1600)));\n\t};\n\tfor (let e of [\n\t\t\"pointerup\",\n\t\t\"pointercancel\",\n\t\t\"lostpointercapture\"\n\t]) i.addEventListener(e, D);\n\ti.addEventListener(\"contextmenu\", (e) => e.preventDefault()), i.addEventListener(\"click\", (e) => {\n\t\te.detail === 0 && !w && !l() && O();\n\t});\n\tfunction O() {\n\t\tw = !0, x = !1, b = 1, T(), cancelAnimationFrame(S), S = 0, t.classList.remove(\"is-reading\"), t.classList.add(\"is-unlocked\"), y(\"done\"), navigator.vibrate?.(14), setTimeout(() => {\n\t\t\tw = !1, ae();\n\t\t}, r.reduced ? 0 : 320);\n\t}\n\tlet ee = () => {\n\t\tclearTimeout(_), b = 0, T(), t.classList.remove(\"is-reading\", \"is-unlocked\"), y(\"rest\");\n\t}, k = [...c.children], te = [...k.filter((e) => e.matches(\"fieldset\")), ...k.filter((e) => e.querySelector(\"select[name=\\\"area\\\"], select[name=\\\"contact[area]\\\"]\"))], ne = [...te, ...k.filter((e) => !te.includes(e))], re = () => c.append(..._c.matches ? ne : k);\n\t_c.addEventListener(\"change\", re), re();\n\tlet j = (e) => {\n\t\tlet t = s.getBoundingClientRect().top, n = t > 0 ? 20 : 92;\n\t\tif (t >= n && t <= innerHeight * .3) return;\n\t\tlet i = scrollY + t - n, a = e && Math.abs(t) < innerHeight * 1.5;\n\t\tr.lenis ? (r.lenis.reset(), r.lenis.scrollTo(i, {\n\t\t\timmediate: !a,\n\t\t\tforce: !0\n\t\t})) : window.scrollTo({\n\t\t\ttop: i,\n\t\t\tbehavior: a ? \"smooth\" : \"auto\"\n\t\t});\n\t}, M = 0, ie = 0;\n\tfunction ae({ animate: t = !0 } = {}) {\n\t\tl() ? j(!r.reduced) : (M = performance.now(), d() ? (e.classList.add(\"is-open\"), u.open(), n.querySelector(\".quote-panel__title\")?.focus({ preventScroll: !0 }), clearTimeout(ie), ie = setTimeout(() => {\n\t\t\tl() && j(!0);\n\t\t}, t ? 350 : 0)) : (t || (e.classList.add(\"is-instant\"), n.offsetWidth), e.classList.add(\"is-open\"), n.querySelector(\".quote-panel__title\")?.focus({ preventScroll: !0 }), t ? (clearTimeout(ie), ie = setTimeout(() => {\n\t\t\tl() && j(!0);\n\t\t}, r.reduced ? 0 : yc * .45)) : (requestAnimationFrame(() => e.classList.remove(\"is-instant\")), j(!r.reduced))));\n\t}\n\tlet oe = () => {\n\t\tl() && (clearTimeout(ie), ee(), e.classList.remove(\"is-open\"), d() && u.close(), n.contains(document.activeElement) && i.focus({ preventScroll: !0 }));\n\t};\n\tn.querySelector(\".quote-panel__close\")?.addEventListener(\"click\", oe);\n\tlet se = scrollY, ce = !1, N = () => n.contains(document.activeElement) && document.activeElement.matches(\"input:not([type=\\\"checkbox\\\"], [type=\\\"radio\\\"]), textarea\");\n\taddEventListener(\"scroll\", () => {\n\t\tlet e = scrollY;\n\t\tif (e !== se && (ce = e > se), se = e, !l() || N() || performance.now() - M < f() + 900) return;\n\t\tlet t = s.getBoundingClientRect();\n\t\t(ce ? t.bottom < t.height * bc : t.top >= innerHeight) && oe();\n\t}, { passive: !0 }), document.addEventListener(\"click\", (e) => {\n\t\tlet t = e.target.closest?.(\"a[href*=\\\"#quote\\\"]\");\n\t\tif (!t) return;\n\t\tlet n = new URL(t.href, location.href);\n\t\tif (n.hash !== \"#quote\" || n.pathname !== location.pathname && n.pathname !== new URL(window.AURA.route(\"contact.html\"), location.href).pathname) return;\n\t\te.preventDefault(), e.stopPropagation();\n\t\tlet r = () => ae({ animate: !1 });\n\t\tdocument.getElementById(\"mnav\")?.classList.contains(\"is-open\") ? (history.state?.mnav ? addEventListener(\"popstate\", () => setTimeout(r), { once: !0 }) : setTimeout(r), document.querySelector(\"[data-mnav-close]\")?.click()) : r();\n\t}, !0), T(), location.hash === \"#quote\" && (ae({ animate: !1 }), addEventListener(\"load\", () => requestAnimationFrame(() => {\n\t\tM = performance.now(), j(!1);\n\t}), { once: !0 }));\n}\n//#endregion\n//#region src/motion/loops.js\nwindow.A?.ready((e) => {\n\tdocument.querySelectorAll(\".quote-print[data-quote-print]\").forEach((t) => {\n\t\tlet n = t.closest(\".section\"), r = n?.querySelector(\".quote-slot > .quote-panel\");\n\t\tr && Ec(n, t, r, e);\n\t});\n}), window.A?.ready(() => {\n\tlet e = new IntersectionObserver((e) => e.forEach((e) => e.target.classList.toggle(\"is-offscreen\", !e.isIntersecting)), { rootMargin: \"25% 0px\" });\n\tdocument.querySelectorAll(\"main > :not(.aura-product-section, .aura-home-section, .section-hero, .section-scroll-film), .aura-product-section > *, main > :is(.aura-home-section, .section-hero, .section-scroll-film) > section, .site-footer\").forEach((t) => e.observe(t));\n});\n//#endregion\n//#region src/motion/snap.js\nvar Dc = 1 / 3, Oc = 1 / 4;\nwindow.A?.ready((e) => {\n\tlet t = e.lenis, n = [...document.querySelectorAll(\"[data-snap]\")];\n\tif (!t || !n.length) return;\n\tlet r = matchMedia(\"(min-width: 1000px)\"), i = 0, a = 0, o = null, s = () => {\n\t\tif (r.matches && i) for (let e of n) {\n\t\t\tlet n = e.getBoundingClientRect().top;\n\t\t\tif (Math.abs(n) < 2) {\n\t\t\t\to = e;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet r = n * i;\n\t\t\tif (r > 0 ? r < innerHeight * Dc : -r < innerHeight * Oc && o !== e) {\n\t\t\t\tt.scrollTo(t.scroll + n, {\n\t\t\t\t\tduration: .7,\n\t\t\t\t\teasing: (e) => 1 - (1 - e) ** 3,\n\t\t\t\t\tuserData: { initiator: \"settle\" },\n\t\t\t\t\tonComplete: () => {\n\t\t\t\t\t\to = e;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\to === e && Math.abs(n) > innerHeight * Dc && (o = null);\n\t\t}\n\t};\n\tt.on(\"scroll\", (e) => {\n\t\tt.userData?.initiator !== \"settle\" && (e.direction && (i = e.direction), clearTimeout(a), a = setTimeout(s, 120));\n\t});\n}), window.Lenis = _, window.AuraSearch = { products: Fn };\n//#endregion\n"],
  "mappings": "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U,KAAK,QAAU,KAAK,MAAQ,GAAIA,GAAE,YAAc,GAAIA,GAAE,OAASA,GAAE,KAAK,EAAE,MAAM,IAAM,CAAC,CAAC,IAAMA,GAAE,MAAM,EAAGA,GAAE,OAAS,CAAC,KAAK,WAAa,KAAK,MAAQ,IACxL,CACD,EACA,eAAe,OAAO,YAAa,EAAE,EAGrC,IAAI,GAAK,EACT,iBAAiB,SAAU,IAAM,CAChC,GAAK,YAAY,IAAI,CACtB,EAAG,CAAE,QAAS,EAAG,CAAC,EAClB,IAAI,GAAK,CAACA,GAAGC,GAAI,MAAQ,OAAO,oBAAsB,oBAAoBD,GAAG,CAAE,QAASC,EAAE,CAAC,EAAI,WAAWD,GAAG,EAAE,EAC/G,SAAS,GAAGA,GAAGC,GAAG,CACjB,IAAIC,GAAI,IAAM,CACb,YAAY,IAAI,EAAI,GAAK,KAAOD,KAAI,EAAID,GAAE,EAAI,WAAW,IAAM,GAAGE,EAAC,EAAG,EAAE,CACzE,EACA,GAAGA,EAAC,CACL,CACA,IAAI,GAAMF,IAAM,IAAI,QAASC,IAAM,GAAGA,GAAGD,EAAC,CAAC,EAAG,GAAqB,EAAE,CACpE,OAAQ,IAAM,GACd,MAAO,IAAM,EACd,CAAC,EAAG,GAAI,GAAI,GAAK,GAAG,IAAM,CACzB,GAAK,CACJ,CACC,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,IACA,GACA,IACA,GACA,IACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,IACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,GACA,MACA,GACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,GACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,KACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,EACA,MACA,EACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,MACA,IACA,MACA,MACA,MACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,IACA,IACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,GACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,IACA,KACA,IACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,KACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,GACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,GACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,GACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,GACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,GACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,GACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,GACA,OACA,GACA,OACA,GACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,GACA,OACA,KACA,KACA,KACA,OACA,GACA,OACA,KACA,OACA,GACA,OACA,KACA,OACA,GACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,GACA,OACA,KACA,KACA,IACA,OACA,EACA,OACA,IACA,OACA,EACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,GACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,GACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,MACA,OACA,KACA,OACA,KACA,OACA,IACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,MACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,IACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,KACA,MACA,OACA,MACA,OACA,MACA,MACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,OACA,MACA,OACA,IACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,IACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,KACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,KACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,KACA,OACA,OACA,KACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,KACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,KACA,OACA,OACA,OACA,MACA,OACA,MACA,KACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,KACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,KACA,MACA,OACA,MACA,KACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,KACA,MACA,KACA,IACA,OACA,MACA,KACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,KACA,MACA,OACA,MACA,OACA,IACA,OACA,MACA,OACA,MACA,OACA,IACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,IACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,IACA,OACA,IACA,OACA,MACA,OACA,IACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,IACA,OACA,IACA,OACA,MACA,OACA,MACA,KACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,MACA,OACA,KACA,OACA,MACA,OACA,IACA,OACA,MACA,OACA,MACA,OACA,IACA,OACA,KACA,OACA,EACA,OACA,EACA,OACA,IACA,OACA,IACA,OACA,KACA,OACA,KACA,OACA,IACA,OACA,IACA,OACA,GACA,OACA,KACA,OACA,KACA,KACA,GACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,GACA,KACA,KACA,OACA,KACA,OACA,GACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,GACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,GACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,KACA,MACA,OACA,IACA,KACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,KACA,MACA,KACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,IACA,OACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,IACA,MACA,IACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,GACD,EACA,CACC,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,IACD,EACA,CACC,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,KACA,MACA,OACA,IACA,OACA,IACA,OACA,IACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,GACD,EACA,CACC,OACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,KACA,MACA,OACA,MACA,OACA,KACD,EACA,CACC,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACD,EACA,CACC,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,GACD,EACA,CACC,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,KACA,KACA,OACA,IACD,EACA,CACC,OACA,KACA,OACA,GACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,GACA,KACA,IACD,EACA,CACC,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,KACD,CACD,EAAG,GAAK,CACP,OAAQ,CAAC,MAAO,IAAI,EACpB,KAAM,CAAC,MAAO,IAAI,EAClB,OAAQ,CAAC,MAAO,KAAK,EACrB,QAAS,CAAC,MAAO,KAAK,EACtB,QAAS,CAAC,KAAM,KAAK,EACrB,MAAO,CAAC,KAAM,EAAE,EAChB,SAAU,CAAC,MAAO,IAAI,CACvB,CACD,EAAE,EAAG,GAAqB,EA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H,IAAKC,GACL,GAAIC,GACJ,IAAKC,EACN,GAAI,GAAK,CACR,GAAG,EAAG,CACL,KACA,IACA,EACD,EAAG,CACF,KACA,IACA,EACD,EAAG,EAAE,EACL,GAAG,IAAK,CACP,KACA,IACA,EACD,EAAG,CACF,IACA,IACA,EACD,EAAG,EAAE,EACL,GAAG,IAAK,CACP,GACA,GACA,GACD,EAAG,CACF,IACA,GACA,EACD,EAAG,EAAE,EACL,GAAG,GAAI,CACN,IACA,IACA,GACD,EAAG,CACF,IACA,IACA,EACD,EAAG,EAAE,EACL,GAAG,IAAK,CACP,GACA,IACA,GACD,EAAG,CACF,GACA,KACA,EACD,EAAG,EAAE,EACL,GAAG,IAAK,CACP,IACA,KACA,GACD,EAAG,CACF,GACA,KACA,IACD,EAAG,EAAE,EACL,GAAG,IAAK,CACP,IACA,IACA,GACD,EAAG,CACF,IACA,KACA,KACD,EAAG,EAAE,EACL,GAAG,IAAK,CACP,IACA,IACA,GACD,EAAG,CACF,IACA,IACA,EACD,EAAG,EAAE,EACL,GAAG,IAAK,CACP,KACA,IACA,GACD,EAAG,CACF,KACA,IACA,EACD,EAAG,EAAE,EACL,GAAG,IAAK,CACP,KACA,IACA,CACD,EAAG,CACF,EACA,IACA,CACD,EAAG,EAAE,EACL,GAAG,EAAG,CACL,IACA,IACA,IACD,EAAG,CACF,EACA,IACA,CACD,EAAG,EAAE,CACN,EAAG,GAAK,CACP,CACC,EAAG,CAAC,EAAG,EAAE,EACT,KAAM,IACN,GAAI,GACL,EACA,CACC,EAAG,CAAC,GAAI,GAAG,EACX,KAAM,IACN,GAAI,EACJ,KAAM,EACP,EACA,CACC,EAAG,CAAC,IAAK,GAAG,EACZ,KAAM,EACN,GAAI,CACL,EACA,CACC,EAAG,CAAC,IAAK,GAAG,EACZ,KAAM,EACN,GAAI,GACL,EACA,CACC,EAAG,CAAC,IAAK,GAAG,EACZ,KAAM,IACN,GAAI,EACJ,KAAM,EACP,EACA,CACC,EAAG,CAAC,IAAK,CAAC,EACV,KAAM,EACN,GAAI,CACL,CACD,EAAG,GAAK,CACP,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",
  "names": ["e", "t", "n", "r", "i", "a", "o", "s", "c", "l", "d", "f", "p", "m", "_", "v", "y", "b", "x", "S", "C", "w", "T", "E", "D", "O", "ee", "k", "u", "h", "g", "te", "ne", "ie", "ce", "L", "re", "j", "M", "ae", "oe", "se", "N", "le", "P", "ue", "de", "fe", "pe", "me", "F", "Ee", "I", "he", "De", "R", "ge", "z", "B", "_e", "ve", "ye", "be", "V", "xe", "Se", "Ce", "we", "Te", "Oe", "je", "ke", "Ae", "Me"]
}
