import { __esmMin as e } from "rolldown-runtime.BAw5_7tg.mjs"; import { B as t, I as n, J as r, K as i, L as a, X as o, Y as s, Z as c, ae as l, e as u, fe as d, ie as f, init_jsx_runtime as p, init_npm_react_18_2 as m, init_npm_react_dom_18_2 as h, init_ssg_sandbox_shims as g, j as _, l as v, navigator as y, p as b, pe as x, q as S, re as C, se as w, te as T, u as E, ue as D, window as O, x as ee, ye as k, z as te } from "react.CEOW7m7F.mjs"; import { AnimatePresence as ne, LayoutGroup as re, MotionConfig as ie, MotionGlobalConfig as ae, MotionValue as oe, PresenceContext as se, SwitchLayoutGroupContext as ce, WillChangeMotionValue as le, __commonJS as ue, __decorateElement as A, __decoratorMetadata as de, __decoratorStart as fe, __privateAdd as pe, __privateGet as j, __privateMethod as M, __privateSet as me, __publicField as N, __runInitializers as he, __toESM as ge, addScaleCorrector as _e, animate as P, animateValue as ve, cancelFrame as ye, frame as F, inView as be, init_chunk_BLFSVU7M as xe, init_chunk_YNHG2PI6 as I, interpolate as Se, isMotionComponent as Ce, isMotionValue as we, isValidMotionProp as Te, motion as Ee, motionValue as De, optimizedAppearDataAttribute as Oe, resolveMotionValue as ke, scroll as Ae, spring as je, stagger as Me, transform as Ne, unwrapMotionComponent as Pe, useAnimation as Fe, useInstantLayoutTransition as Ie, useInstantTransition as Le, useMotionValue as Re, usePresence as ze, useReducedMotionConfig as Be, useResetProjection as Ve, useScroll as He, useSpring as Ue, useTransform as We, visualElementStore as Ge } from "motion.QyqgvDba.mjs"; function Ke(e) { return typeof e == `object` && !!e && !r(e) && pp in e; } function qe(e) { let t = i(e), n, r, a = !1, o = s(function (e, n) { D(() => { a = !0; }, []); let i = r ?? t; return b(i, { ref: n, ...e }); }); return ( (o.preload = () => ((n ||= e().then((e) => ((r = e.default), r))), n)), (o.getStatus = () => ({ hasLoaded: r !== void 0, hasRendered: a })), o ); } function Je(e, t) { return Object.prototype.hasOwnProperty.call(e, t); } function Ye(e) { return e === null || !(hp in e) ? !1 : typeof e.equals == `function`; } function Xe(e, t) { return e === t ? !0 : e !== e && t !== t; } function Ze(e, t) { let n = e.length; if (n !== t.length) return !1; for (let r = n; r-- !== 0; ) if (!Xe(e[r], t[r])) return !1; return !0; } function Qe(e, t) { let n = e.length; if (n !== t.length) return !1; for (let r = n; r-- !== 0; ) if (!it(e[r], t[r], !0)) return !1; return !0; } function $e(e, t) { if (e.size !== t.size) return !1; for (let [n, r] of e.entries()) if (!Xe(r, t.get(n))) return !1; return !0; } function et(e, t) { if (e.size !== t.size) return !1; for (let [n, r] of e.entries()) if (!it(r, t.get(n), !0)) return !1; return !0; } function tt(e, t) { if (e.size !== t.size) return !1; for (let n of e.keys()) if (!t.has(n)) return !1; return !0; } function nt(e, t) { let n = mp(e); if (n.length !== mp(t).length) return !1; for (let r of n) { if (!Je(t, r)) return !1; if (r === `_owner` && Je(e, `$$typeof`) && e.$$typeof) continue; if (!Xe(e[r], t[r])) return !1; } return !0; } function rt(e, t) { let n = mp(e); if (n.length !== mp(t).length) return !1; for (let r of n) { if (!Je(t, r)) return !1; if (r === `_owner` && Je(e, `$$typeof`) && e.$$typeof) continue; if (!it(e[r], t[r], !0)) return !1; } return !0; } function it(e, t, n) { if (e === t) return !0; if (!e || !t) return e !== e && t !== t; let r = typeof e, i = typeof t; if (r !== i || r !== `object`) return !1; let a = Array.isArray(e), o = Array.isArray(t); if (a && o) return n ? Qe(e, t) : Ze(e, t); if (a !== o) return !1; let s = e instanceof Map, c = t instanceof Map; if (s && c) return n ? et(e, t) : $e(e, t); if (s !== c) return !1; let l = e instanceof Set, u = t instanceof Set; if (l && u) return tt(e, t); if (l !== u) return !1; let d = e instanceof Date, f = t instanceof Date; if (d && f) return e.getTime() === t.getTime(); if (d !== f) return !1; let p = e instanceof RegExp, m = t instanceof RegExp; return p && m ? e.toString() === t.toString() : p === m ? Ye(e) && Ye(t) ? e.equals(t) : n ? rt(e, t) : nt(e, t) : !1; } function at(e, t, n = !0) { try { return it(e, t, n); } catch (e) { if (e instanceof Error && /stack|recursion/iu.exec(e.message)) return console.warn(`Warning: isEqual does not handle circular references.`, e.name, e.message), !1; throw e; } } function ot(e) { return u.useCallback((t) => e[t], [e]); } function st({ api: e, children: t }) { return b(gp.Provider, { value: e, children: t }); } function ct() { return u.useContext(gp); } function lt({ routes: e, children: t }) { let n = ot(e), r = w(() => ({ getRoute: n }), [n]); return b(gp.Provider, { value: r, children: t }); } function ut() { var e; let t = ct(), n = C(_p), r = n?.routeId ?? t.currentRouteId, i = n?.routeId ? n.pathVariables : t.currentPathVariables, a = r ? (e = t.getRoute)?.call(t, r) : void 0; return w(() => { if (!(!r || !a)) return { ...a, id: r, pathVariables: i }; }, [r, i, a]); } function dt() { let e = ut(); if (e) return `${e.id}-${JSON.stringify(e.pathVariables)}`; } function ft(e) { let t = ut(), n = u.useRef(t); at(n.current, t) || !t || ((n.current = t), e(t)); } function pt(e) { var t; let n = ct(); if (e) return (t = n.getRoute)?.call(n, e); } function mt(e, t) { if (t && e) return e.elements && t in e.elements ? e.elements[t] : t; } function ht(e) { let t = [`pointerdown`, `pointerup`, `keydown`, `keyup`], n = (e) => { let n = e.type; t.includes(n) && performance.mark(`framer-navigation-input`, { detail: { type: n } }); }; for (let r = 0; r < t.length; r++) document.addEventListener(t[r], n, { signal: e }); return () => { for (let e = 0; e < t.length; e++) document.removeEventListener(t[e], n); }; } function gt(e, t) { let n = ut(), r = pt(t) ?? n; return u.useMemo(() => (r ? mt(r, e) : e), [e, r]); } function _t(e) { return typeof e == `function`; } function vt(e) { return typeof e == `boolean`; } function L(e) { return typeof e == `string`; } function R(e) { return Number.isFinite(e); } function yt(e) { return Array.isArray(e); } function z(e) { return typeof e == `object` && !!e && !yt(e); } function bt(e) { return e === void 0; } function xt(e) { return e === null; } function St(e) { return e == null; } function Ct(e) { return e instanceof Date && !Number.isNaN(e.getTime()); } function wt(e) { return z(e) && _t(e.return); } function Tt(e) { return `url('data:image/svg+xml,${e.replaceAll(`#`, `%23`).replaceAll(`'`, `%27`)}')`; } function Et() { for (let e of Dp) e(); Dp.clear(); } function Dt(e) { return new Promise((t) => { if ((Dp.add(t), document.hidden)) { Et(); return; } document.addEventListener(`visibilitychange`, Et), document.addEventListener(`pagehide`, Et), F.read(() => { let n = () => { var n; Dp.delete(t), !(n = e?.signal)?.aborted && t(); }; kt(e).then(n); }); }); } function Ot(e) { return new Promise((t) => { setTimeout(t, 100), F.read( () => { kt(e).then(t); }, !1, !0 ); }); } function kt(e) { let t = e?.priority, n = Tp || Ep; return n ? t === `background` ? new Promise((e) => { setTimeout(e, 1); }) : Tp ? G.scheduler.yield(e).catch(yp) : G.scheduler.postTask(() => {}, e).catch(yp) : t === `user-blocking` ? Promise.resolve() : new Promise((e) => { setTimeout(e, t === `background` ? 1 : 0); }); } function At(e) { let { continueAfter: t, ensureContinueBeforeUnload: n, ...r } = e ?? {}; return n ? Dt(r) : t === `paint` ? Ot(r) : kt(r); } function jt(e, t = !0) { let { getRoute: n } = ct(); D(() => { if (!(!n || !t || !Op)) for (let t of e) Mt(n(t)); }, [e, n, t]); } async function Mt(e) { if (!Op || !e) return; let t = e.page; if (!(!t || !Ke(t))) { await At(); try { await t.preload(); } catch {} } } function Nt(e, t, n = `lazy`) { var r; switch (((r = G.__framer_events) == null || r.push([e, t, n]), e)) { case `published_site_click`: { let { trackingId: e, href: n } = t; e && document.dispatchEvent(new CustomEvent(`framer:click`, { detail: { trackingId: e, href: n } })); break; } case `published_site_form_submit`: { let { trackingId: e } = t; e && document.dispatchEvent(new CustomEvent(`framer:formsubmit`, { detail: { trackingId: e } })); break; } case `published_site_pageview`: { let { framerLocale: e } = t; document.dispatchEvent(new CustomEvent(`framer:pageview`, { detail: { framerLocale: e } })); break; } } } function Pt(e, t) { if (!e.startsWith(`/`) || !t.startsWith(`/`)) throw Error(`from/to paths are expected to be absolute`); let [n] = Ft(e), [r, i] = Ft(t), a = It(n, r); return a === `` && (a = `.`), !a.startsWith(`.`) && !a.startsWith(`/`) && (a = `./` + a), a + `/` + i; } function Ft(e) { let t = e.lastIndexOf(`/`); return [e.substring(0, t + 1), e.substring(t + 1)]; } function It(e, t) { if (e === t || ((e = `/` + Lt(e)), (t = `/` + Lt(t)), e === t)) return ``; let n = e.length, r = n - 1, i = t.length - 1, a = r < i ? r : i, o = -1, s = 0; for (; s < a; s++) { let n = Mp(e, 1 + s); if (n !== Mp(t, 1 + s)) break; n === jp && (o = s); } if (s === a) if (i > a) { if (Mp(t, 1 + s) === jp) return Pp(t, 1 + s + 1); if (s === 0) return Pp(t, 1 + s); } else r > a && (Mp(e, 1 + s) === jp ? (o = s) : s === 0 && (o = 0)); let c = ``; for (s = 1 + o + 1; s <= n; ++s) (s === n || Mp(e, s) === jp) && (c += c.length === 0 ? `..` : `/..`); return `${c}${Pp(t, 1 + o)}`; } function Lt(e) { let t = ``, n = 0, r = -1, i = 0, a = 0; for (let o = 0; o <= e.length; ++o) { if (o < e.length) a = Mp(e, o); else if (Lp(a)) break; else a = jp; if (Lp(a)) { if (!(r === o - 1 || i === 1)) if (i === 2) { if (t.length < 2 || n !== 2 || Mp(t, t.length - 1) !== Ap || Mp(t, t.length - 2) !== Ap) { if (t.length > 2) { let e = Np(t, Ip); e === -1 ? ((t = ``), (n = 0)) : ((t = Pp(t, 0, e)), (n = t.length - 1 - Np(t, Ip))), (r = o), (i = 0); continue; } else if (t.length !== 0) { (t = ``), (n = 0), (r = o), (i = 0); continue; } } Fp && ((t += t.length > 0 ? `${Ip}..` : `..`), (n = 2)); } else t.length > 0 ? (t += `${Ip}${Pp(e, r + 1, o)}`) : (t = Pp(e, r + 1, o)), (n = o - r - 1); (r = o), (i = 0); } else a === Ap && i !== -1 ? ++i : (i = -1); } return t; } function Rt(e, t) { return e.replace(Bp, (e, n) => { let r = t[n]; return typeof r != `string` || r.length === 0 ? e : encodeURIComponent(r); }); } function zt(e) { let t = O === void 0 ? `` : O.location.search; return t ? Bt(t, e) : e; } function Bt(e, t) { let n = t.indexOf(`#`), r = n === -1 ? t : t.substring(0, n), i = n === -1 ? `` : t.substring(n), a = r.indexOf(`?`), o = a === -1 ? r : r.substring(0, a), s = a === -1 ? `` : r.substring(a), c = new URLSearchParams(s), l = new URLSearchParams(e); for (let [e, t] of l) { if (c.has(e) || e === Vp) continue; c.append(e, t); } let u = c.toString(); return u === `` ? r + i : o + `?` + u + i; } async function Vt(e, t, n, r, i, a, o) { var s; let c = e, l = !1, u = { ...a }, d = Array.from(c.matchAll(Bp)), f = await Promise.all( d.map(async (e) => { var s; let c = e?.[0], d = e?.[1]; if (!c || !d) throw Error(`Failed to replace path variables: unexpected regex match group`); let f = a[d]; if (!f || !L(f)) throw Error(`No slug found for path variable ${d}`); let p = await (s = o?.[i])?.call(o); if (!p || !t) return f; let m = await p.getRecordIdBySlug(f, t); if (!m) return f; let h = await p.getSlugByRecordId(m, n); if (!h) { l = !0; let e = await p.getSlugByRecordId(m, r); return e && (u[d] = e), e ?? f; } return (u[d] = h), h; }) ), p = 0, m = ``, h = !1; for (let e = 0; e < d.length; e++) { let t = d[e], n = f[e]; !t || !n || ((m += c.substring(p, t.index)), (p = (t.index ?? 0) + ((s = t[0])?.length ?? 0)), (m += f[e]), (h = !0)); } return h && ((m += c.substring(p)), (c = m)), { path: c, pathVariables: u, isMissingInLocale: l }; } async function Ht({ currentLocale: e, nextLocale: t, defaultLocale: n, route: r, pathVariables: i, collectionUtils: a, preserveQueryParams: o }) { let { path: s } = r, c = { path: s, pathVariables: i, isMissingInLocale: !1 }; if (!s) return c; if (i && r.collectionId) try { let o = await Vt(s, e, t, n, r.collectionId, i, a); c = o; } catch {} return t.slug && (c.path = `/` + t.slug + c.path), o && c.path && (c.path = zt(c.path)), c; } function Ut(e) { if (!e) return ``; let t; try { t = new URL(e); } catch { return ``; } return t.pathname === `/` || O.location.origin !== t.origin ? `` : t.pathname.endsWith(`/`) ? t.pathname.slice(0, -1) : t.pathname; } function Wt({ children: e, value: t }) { return b(Up.Provider, { value: t, children: e }); } function Gt() { return u.useContext(Up); } function Kt(e, t, { global: n, routes: r }) { var i; return (i = r[e])?.[t] || n; } function qt(e) { let t = Wp, n = e.next(0), r = [n.value]; for (; !n.done && t < Gp; ) (n = e.next(t)), r.push(n.value), (t += Wp); return r.length === 1 && r.push(n.value), { easing: `linear(${r.join(`,`)})`, duration: t - Wp }; } function Jt(e) { return [parseFloat(e), e.endsWith(`px`) ? `px` : `%`]; } function Yt(e) { let { innerWidth: t, innerHeight: n } = O, [r, i] = Jt(e.x), [a, o] = Jt(e.y); return { x: i === `px` ? r : t * (r / 100), y: o === `px` ? a : n * (a / 100) }; } function Xt(e, t, n, r) { var i; let a = ` opacity: ${e.opacity}; transform: translate(${e.x}, ${e.y}) scale(${e.scale}) rotateX(${e.rotateX}deg) rotateY(${e.rotateY}deg) rotateZ(${e.rotate}deg); `; return e.mask && (a += (i = r?.makeKeyframe)?.call(r, e.mask, t, n) || ``), a; } function Zt(e) { return e ? Qp[e] : void 0; } function Qt(e, { transition: t, ...n }) { var r; let i = `view-transition-` + e, a = { duration: `0s`, easing: `linear` }; if (t.type === `tween`) (a.duration = t.duration + `s`), (a.easing = `cubic-bezier(${t.ease.join(`,`)})`); else if ($t(t)) { let { easing: e, duration: n } = qt(je({ keyframes: [0, 1], ...en(t), restDelta: 0.001, restSpeed: 1e-4 })); (a.duration = n + `ms`), (a.easing = e); } let o = Zt((r = n?.mask)?.type), s = Xt(n, `start`, e, o), c = Xt({ ...$p, mask: n.mask }, `end`, e, o); return ( e === `exit` && ([s, c] = [c, s]), ` ${n.mask && o?.makePropertyRules ? o.makePropertyRules(n.mask) : ``} @keyframes ${i} { 0% { ${s} } 100% { ${c} } } ::view-transition-${e === `enter` ? `new` : `old`}(root) { animation-name: ${i}; animation-duration: ${a.duration}; animation-delay: ${t.delay}s; animation-timing-function: ${a.easing}; animation-fill-mode: both; ${n.mask && o?.makeStyles ? o.makeStyles(n.mask, e) : ``} } ` ); } function $t(e) { return e.type === `spring`; } function en(e) { return e.durationBasedSpring ? { duration: e.duration * 1e3, bounce: e.bounce } : { stiffness: e.stiffness, damping: e.damping, mass: e.mass }; } function tn({ exit: e = tm, enter: t }) { let n = document.createElement(`style`); n.id = em; let r = ` @media (prefers-reduced-motion) { ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } } `, i = e.mask || t.mask || e.opacity || t.opacity || e.transition.delay || t.transition.delay; i && (r += ` ::view-transition-old(*), ::view-transition-new(*) { mix-blend-mode: normal; } `), (r += ` ::view-transition-old(*), ::view-transition-new(*) { backface-visibility: hidden; } `), (r += Qt(`exit`, e)), (r += Qt(`enter`, t)), (n.textContent = r), document.head.appendChild(n); } function nn() { Cp(() => { F.render(() => { performance.mark(`framer-vt-remove`); let e = document.getElementById(em); e && document.head.removeChild(e); }); }); } function rn() { return !!document.startViewTransition; } function an(e) { return new Promise((t) => { F.render(() => { performance.mark(`framer-vt-style`), tn(e), t(); }); }); } async function on(e, t, n) { if (!rn()) { e(); return; } if ((await an(t), n?.aborted)) return; performance.mark(`framer-vt`); let r = document.startViewTransition(async () => { performance.mark(`framer-vt-freeze`), !n?.aborted && (n?.addEventListener(`abort`, () => r.skipTransition()), await e()); }); return ( r.updateCallbackDone .then(() => { performance.mark(`framer-vt-unfreeze`); }) .catch(nm), Promise.all([r.ready, r.finished]) .then(() => { performance.mark(`framer-vt-finished`), nn(); }) .catch(nm), r ); } function sn() { let e = Gt(), t = x(void 0); return ( D(() => { t.current &&= (t.current(), void 0); }), T( (n, r, i, a) => { let o = Kt(n, r, e); if (o) { let e = new Promise((e) => { t.current = e; }); return on( async () => { i(), await e; }, o, a ); } i(); }, [e] ) ); } function cn(e, t) { Cp(() => { let n = document.querySelector(`link[rel='canonical']`); if (!n) return; let r = new URL(e, t); (r.search = ``), n.setAttribute(`href`, r.toString()); }); } function ln(e, t, n, r = d) { r(() => { let t = async (e) => (await At({ ...n, continueAfter: `paint` }), e()), r = t(e); return () => { (async () => { let e = await r; e && t(e); })(); }; }, t); } function un(e) { let t = x(void 0); return ( ln( () => { t.current &&= (t.current(), void 0); }, void 0, { priority: `user-blocking` } ), T( (n) => { let r = new Promise((e) => { t.current = e; }); if (!e) return { promise: r, measureDetail: n, ignore: null }; let i = `${e}-start`, a = `${e}-end`, o = !1; return ( performance.mark(i), r .finally(() => { o || (performance.mark(a), performance.measure(e, { start: i, end: a, detail: n })); }) .catch((e) => { console.error(e); }), { promise: r, measureDetail: n, ignore: () => { var e; (o = !0), (e = t.current) == null || e.call(t), (t.current = void 0); } } ); }, [e] ) ); } async function dn( e, t, { currentRoutePath: n, currentPathVariables: r, hash: i, pathVariables: a, localeId: o, preserveQueryParams: s, siteCanonicalURL: c }, l = !1 ) { let { path: u } = t; if (!u) return; let d = vn(t, { currentRoutePath: n, currentPathVariables: r, hash: i, pathVariables: a, preserveQueryParams: s, siteCanonicalURL: c }); try { return await mn({ routeId: e, hash: i, pathVariables: a, localeId: o }, d, l); } catch {} } function fn(e) { return z(e) && L(e.routeId); } function pn(e, t, n = !1) { performance.mark(`framer-history-replace`); let r = n ? O.history.__proto__.replaceState : O.history.replaceState; r.call(O.history, e, ``, t); } async function mn(e, t, n = !1) { if ((performance.mark(`framer-history-push`), cn(t, O.location.href), !n)) { O.history.pushState(e, ``, t); return; } let r = !1, i; am && ((i = () => { if (((r = !0), om)) return; let e = `Popstate called after intercept(). Please report this to the Framer team.`; console.error(e), Nt(`published_site_load_recoverable_error`, { message: e }); }), O.addEventListener(`popstate`, i, { once: !0 })), om && am ? O.history.__proto__.pushState.call(O.history, e, ``, t) : O.history.pushState(e, ``, t), am && queueMicrotask(() => { r || ((am = !1), O.removeEventListener(`popstate`, i)); }); } function hn({ disabled: e, routeId: t, initialPathVariables: n, initialLocaleId: r }) { d(() => { e || (performance.mark(`framer-history-set-initial-state`), pn({ routeId: t, pathVariables: n, localeId: r }, void 0, !0)); }, []); } function gn(e, t) { let n = sn(), r = un(`framer-route-change`), i = x(void 0), a = T( async ({ state: a }) => { var o, s, c, l, u, d; if ( ((o = O.navigation)?.transition && (c = (s = O.navigation)?.transition)?.navigationType !== `traverse`) || !z(a) ) return; let { routeId: f, hash: p, pathVariables: m, localeId: h } = a; if (!L(f)) return; let g = r({ popstate: !0 }), _ = ht(); g.promise.finally(_); let v = () => { t( f, L(h) ? h : void 0, L(p) ? p : void 0, O.location.pathname + O.location.search + O.location.hash, z(m) ? m : void 0, !0, g, !1 ); }, y = await n(e.current, f, v), b = (l = O.navigation)?.transition; await (y?.updateCallbackDone ?? Promise.resolve()) .then((u = i.current)?.resolve) .catch((d = i.current)?.reject), await g.promise; try { await b?.finished; } catch (e) { console.warn(`Popstate transition failed`, e); } im(), cn(O.location.href); }, [e, r, t, n] ), o = T((e) => { e.navigationType !== `traverse` || !e.canIntercept || e.intercept({ async handler() { await new Promise((e, t) => { i.current = { resolve: e, reject: t }; }), (i.current = void 0); }, scroll: `after-transition` }); }, []); D( () => ( O.addEventListener(`popstate`, a), sm && O.navigation.addEventListener(`navigate`, o), () => { O.removeEventListener(`popstate`, a), sm && O.navigation.removeEventListener(`navigate`, o); } ), [a, o] ); } function _n(e, t, n) { let r = mt(t, e); if (!r) return; let i = Object.assign({}, t?.elements, n); return r.replace(Bp, (e, t) => i[t] ?? e); } function vn( e, { currentRoutePath: t, currentPathVariables: n, hash: r, pathVariables: i, hashVariables: a, relative: o = !0, preserveQueryParams: s, onlyHash: c = !1, siteCanonicalURL: l } ) { let u = _n(r, e, a); if (c) return u ?? ``; let d = t ?? `/`; n && (d = d.replace(Bp, (e, t) => String(n[t] || e))); let f = e?.path ?? `/`, p = f; i && (p = p.replace(Bp, (e, t) => String(i[t] || e))); let m = d === p && u; if (o) if (Rp.has(d) && O !== void 0) { let e = Ut(l); p = Pt(O.location.pathname, e + p); } else p = Pt(d, p); return (s || m) && (p = zt(p)), u && (p = `${p}#${u}`), p; } async function yn(e, t, n) { if (!e.path || !t) return !1; let r = n.slug ? `/${n.slug}` : ``, i = `${r}${Rt(e.path, t)}`, a = await fetch(i, { method: `HEAD`, redirect: `manual` }), o = a.type === `opaqueredirect`; return o ? ((O.location.href = O.location.origin + i), !0) : !1; } async function bn(e) { let t = await Ht(e); if (t) { try { localStorage.setItem(`preferredLocale`, e.nextLocale.code); } catch {} try { if (!L(t.path)) throw Error(`Expected result.path to be a string`); if (t.isMissingInLocale) { let n = await yn(e.route, t.pathVariables, e.nextLocale); if (n) return; } } catch {} return t; } } function xn() { let e = x(Promise.resolve()), t = x(), n = T((n) => { if (n.navigationType === `traverse` || !n.canIntercept) return; let r = t.current; r?.signal.addEventListener(`abort`, () => { r.abort(`user aborted`); }), n.intercept({ handler: () => e.current }); }, []); return T( (r, i, a) => { if (!sm) { i(); return; } (e.current = r), (t.current = a), O.navigation.addEventListener(`navigate`, n), i(!0), r.finally(() => { O.navigation.removeEventListener(`navigate`, n); }); }, [n] ); } function Sn(e) { return e.toLowerCase().replace(cm, `-`).replace(lm, ``); } function Cn() { return u.useContext(pm); } function wn() { if (!mm) return; (gm = !0), performance.mark(`framer-react-event-handling-start`); let e = { capture: !0 }, t = document.body; mm.forEach((n) => t.addEventListener(n, hm, e)); } function Tn() { return ( D(() => { if (!gm || !mm) return; let e = { capture: !0 }, t = document.body; mm.forEach((n) => t.removeEventListener(n, hm, e)), (mm = void 0), performance.mark(`framer-react-event-handling-end`); }, []), null ); } function En(e) { let t = !1; return function (...n) { if (!t) return (t = !0), e.apply(this, n); }; } function Dn(e, t, n) { try { performance.measure(e, t, n); } catch (t) { console.warn(`Could not measure ${e}`, t); } } function On() { (Im = new Fm()), Im.render.markStart(); } function kn() { f(() => { Im?.useInsertionEffects.markRouterStart(); }, []), d(() => { Im?.useLayoutEffects.markRouterStart(); }, []), D(() => { Im?.useEffects.markRouterStart(); }, []); } function An() { f(() => { Im?.render.markEnd(), Im?.useInsertionEffects.markStart(); }, []), d(() => { if ((Im?.useLayoutEffects.markStart(), document.visibilityState !== `visible`)) { Lm = !0; return; } F.read(() => { Im?.browserRendering.requestAnimationFrame.markStart(), Im?.unattributedHydrationOverhead.measure(); }); }, []), D(() => { Im?.useEffects.markStart(), Im?.browserRendering.hasStarted || (Im?.mutationEffects.measure(), Im?.useEffects.markAreSynchronous()); }, []); } function jn() { f(() => { Im?.useInsertionEffects.markEnd(); }, []), d(() => { Im?.useLayoutEffects.markEnd(), !(Lm || document.visibilityState !== `visible`) && F.read(() => { Im?.browserRendering.requestAnimationFrame.markEnd(), At().then(() => { Im?.browserRendering.layoutStylePaint.markEnd(); }); }); }, []), D(() => { Im?.useEffects.markEnd(); }, []); } function Mn() { return An(), null; } function Nn() { return jn(), null; } function Pn(e, t) { let n = { style: t, "data-framer-root": `` }; return u.isValidElement(e) ? u.cloneElement(e, n) : b(e, { ...n }); } function Fn(e) { if (Um !== e) { Vm = {}; for (let [t, { path: n }] of Object.entries(e)) n && (Vm[n] = { path: n, depth: Ln(n), routeId: t }); (Hm = Object.values(Vm)), Hm.sort(({ depth: e }, { depth: t }) => t - e), (Um = e); } return [Vm, Hm]; } function In(e, t, n = !0, r = []) { let [i, a] = Fn(e), o, s, c = t; if (r.length > 0) { let e = c.split(`/`).find(Boolean); if ( (e && ((o = r.find(({ slug: t }) => t === e)), o && ((s = o.id), (c = c.substring(o.slug.length + 1)))), !s) ) { let e = r.find(({ slug: e }) => e === ``); e && (s = e.id); } } let l = i[c]; if (l) { let e = Rn(c, l.path); if (e.isMatch) return { routeId: l.routeId, localeId: s, pathVariables: e.pathVariables }; } for (let { path: e, routeId: t } of a) { let n = Rn(c, e); if (n.isMatch) return { routeId: t, localeId: s, pathVariables: n.pathVariables }; } if (!n) throw Error(`No exact match found for path`); let u = i[`/`]; if (u) return { routeId: u.routeId, localeId: s }; let d = Object.keys(e)[0]; if (!d) throw Error(`Router should not have undefined routes`); return { routeId: d, localeId: s }; } function Ln(e) { let t = e.replace(/^\/|\/$/gu, ``); return t === `` ? 0 : t.split(`/`).length; } function Rn(e, t) { let n = [], r = zn(t), i = r.replace(Bp, (e, t) => (n.push(t), `([^/]+)`)), a = RegExp(i + `$`), o = e.match(a); if (!o) return { isMatch: !1 }; if (o.length === 1) return { isMatch: !0 }; let s = {}, c = o.slice(1); for (let e = 0; e < n.length; ++e) { let t = n[e]; if (t === void 0) continue; let r = c[e], i = s[t]; if (i) { if (i !== r) return { isMatch: !1 }; continue; } if (r === void 0) throw Error(`Path variable values cannot be undefined`); s[t] = r; } return { isMatch: !0, pathVariables: s }; } function zn(e) { return e.replace(/[|\\{}()[\]^$+*?.]/gu, `\\$&`).replace(/-/gu, `\\x2d`); } function Bn() { var e; if (`PerformanceServerTiming` in O) { let t = (e = performance.getEntriesByType(`navigation`)[0])?.serverTiming; if (!t || t.length === 0) return new URLSearchParams(); let n = t.find((e) => e.name === `abtests`); return n ? new URLSearchParams(n.description) : new URLSearchParams(); } return new URLSearchParams(); } function Vn(e, t, n) { let r = e[n]; if (!r) return; let i = r.abTestingParentId ?? n; if (!e[i]) return; let { abTestingParentId: a, ...o } = r, s = e[i].elements || r.elements ? { ...e[i].elements, ...r.elements } : void 0; e[i] = { ...o, elements: s, abTestingVariantId: n, abTestId: t }; } function Hn(e, t) { for (let [n, r] of t) Vn(e, n, r); } function Un(e) { var t; for (let n in e) (t = e[n])?.abTestingParentId && delete e[n]; } function Wn(e, t) { var n, r; if (!e[t] || !e[t].abTestingParentId) return; let i = e[t].abTestingParentId, { abTestingParentId: a, ...o } = e[t], s = (n = e[i])?.elements || o.elements ? { ...(r = e[i])?.elements, ...o.elements } : void 0; e[i] = { ...o, elements: s, abTestingVariantId: t }; } function Gn(e, t) { var n; if (O === void 0) return t; let r = t; if (t) { Wn(e, t); let i = (n = e[t])?.abTestingParentId; i && (r = i); } return Hn(e, Bn()), Un(e), r; } function B(e, ...t) { var n, r; if (e) return; let i = Error(`Assertion Error` + (t.length > 0 ? `: ` + t.join(` `) : ``)); if (i.stack) try { let e = i.stack.split(` `); (n = e[1])?.includes(`assert`) ? (e.splice(1, 1), (i.stack = e.join(` `))) : (r = e[0])?.includes(`assert`) && (e.splice(0, 1), (i.stack = e.join(` `))); } catch {} throw i; } function V(e, t) { throw t || Error(e ? `Unexpected value: ${e}` : `Application entered invalid state`); } async function Kn(e, t, n = `beforeend`) { let r, i; switch (n) { case `beforebegin`: B(t.parentNode, `Can't use 'beforebegin' with a referenceNode at the top level`), (r = t.parentNode), (i = t); break; case `afterend`: B(t.parentNode, `Can't use 'afterend' with a referenceNode at the top level`), (r = t.parentNode), (i = t.nextSibling); break; case `afterbegin`: (r = t), (i = t.firstChild); break; case `beforeend`: (r = t), (i = null); break; default: V(n); } let a = document.createRange(); a.selectNodeContents(r); let o = a.createContextualFragment(e); await qn(o, r, i); } async function qn(e, t, n) { for (let r = e.firstChild; r; r = r.nextSibling) { if (r instanceof HTMLScriptElement) { let e = Jn(r, t, n); e !== void 0 && (await e); continue; } let e = r.cloneNode(!1); t.insertBefore(e, n), r.firstChild && (await qn(r, e, null)); } } function Jn(e, t, n) { var r; let i = e.cloneNode(!0); if ( !e.hasAttribute(`src`) || e.hasAttribute(`async`) || e.hasAttribute(`defer`) || (r = e.getAttribute(`type`))?.toLowerCase() === `module` ) t.insertBefore(i, n); else return Yn(i, t, n); } function Yn(e, t, n) { return new Promise((r) => { (e.onload = e.onerror = r), t.insertBefore(e, n); }); } function Xn(e) { let { isInitialNavigation: t } = ct(); D(() => { if (e.robots) { let t = document.querySelector(`meta[name="robots"]`); t ? t.setAttribute(`content`, e.robots) : ((t = document.createElement(`meta`)), t.setAttribute(`name`, `robots`), t.setAttribute(`content`, e.robots), document.head.appendChild(t)); } }, [e.robots]), f(() => { var t; (document.title = e.title || ``), e.viewport && ((t = document.querySelector(`meta[name="viewport"]`)) == null || t.setAttribute(`content`, e.viewport)); }, [e.title, e.viewport]), D(() => { if (!t) return; let n = document.getElementById(Wm), r = n && n.dataset[Gm] !== void 0; r || Zn(e.customHTMLHeadStart, e.customHTMLHeadEnd, e.customHTMLBodyStart, e.customHTMLBodyEnd); }, []); } async function Zn(e, t, n, r) { let i, a, o, s; if (e || t) { let { start: n, end: r } = Qn(document.head.childNodes, e ? qm : void 0, t ? Jm : void 0); (i = n), (a = r); } if (n || r) { let { start: e, end: t } = Qn(document.body.childNodes, n ? Ym : void 0, r ? Xm : void 0); (o = e), (s = t); } e && i && (await Kn(e, i, `beforebegin`)), t && a && (await Kn(t, a, `beforebegin`)), n && o && (await Kn(n, o, `beforebegin`)), r && s && (await Kn(r, s, `beforebegin`)); } function Qn(e, t, n) { if (!t && !n) return { start: void 0, end: void 0 }; let r, i, a = 0, o = e.length - 1; for (; a <= o; ) { let s = e[a], c = e[o]; if ( (!r && s?.nodeType === Node.COMMENT_NODE && t && `` === t && ((r = s), !n)) || (!i && c?.nodeType === Node.COMMENT_NODE && n && `` === n && ((i = c), !t)) || (r && i) ) break; a++, o--; } return { start: r, end: i }; } function $n(e, ...t) { Zm.has(e) || (Zm.add(e), console.warn(e, ...t)); } function er(e, t, n) { let r = n ? `, use ${n} instead` : ``, i = `Deprecation warning: ${e} will be removed in version ${t}${r}.`; $n(i); } function tr(e) { return typeof e == `object` && !!e && eh in e && e[eh] instanceof Function && th in e && e[th] instanceof Function; } function nr(e, t) { return { interpolate(e, n) { let r = e.get(), i = n.get(), a = $m(r); return (e) => { let n = t.interpolate(r, i)(e); return a.set(n), a; }; }, difference(e, n) { let r = e.get(); return t.difference(r, n.get()); } }; } function rr(e, t) { let n = Math.round(Math.abs(t)), r = 10 ** n; return Math.round(e * r) / r; } function ir(e, t) { return t === 0 ? Math.round(e) : ((t -= t | 0), t < 0 && (t = 1 - t), Math.round(e - t) + t); } function ar(e) { return Math.round(e * 2) / 2; } function or(e, t) { return { x: e, y: t }; } function sr(e) { switch (e) { case `linear`: return [0, 0, 1, 1]; case `ease`: return [0.25, 0.1, 0.25, 1]; case `ease-in`: return [0.42, 0, 1, 1]; case `ease-out`: return [0, 0, 0.58, 1]; case `ease-in-out`: return [0.42, 0, 0.58, 1]; } } function cr(e) { return typeof e == `function` && e.interpolationFor && typeof e.interpolationFor == `function`; } function lr(e, t, n, r = 12) { let i = n; for (let n = 1, a = r, o = 1 <= a; o ? n < a : n > a; o ? n++ : n--) i -= e(i) / t(i); return i; } function ur(e, t) { return e * Math.sqrt(1 - t ** 2); } function dr(e) { return e ? typeof e.dampingRatio == `number` || typeof e.duration == `number` || typeof e.mass == `number` : !1; } function fr(e, t, n, r = !1) { let [i, a] = t, [o, s] = n, c = a - i; if (c === 0) return (s + o) / 2; let l = s - o; if (l === 0) return o; let u = o + ((e - i) / c) * l; if (r === !0) if (o < s) { if (u < o) return o; if (u > s) return s; } else { if (u > o) return o; if (u < s) return s; } return u; } function pr(e) { return !Number.isNaN(e) && Number.isFinite(e); } function mr(e) { let t = hr(e); return t === void 0 ? 0 : e.includes(`%`) ? t / 100 : t; } function hr(e) { let t = /\d?\.?\d+/u.exec(e); return t ? Number(t[0]) : void 0; } function gr(e, t, n) { return ( (bh.rgb_r = e / 255), (bh.rgb_g = t / 255), (bh.rgb_b = n / 255), bh.rgbToHsluv(), { h: bh.hsluv_h, s: bh.hsluv_s, l: bh.hsluv_l } ); } function _r(e, t, n, r = 1) { return ( (bh.hsluv_h = e), (bh.hsluv_s = t), (bh.hsluv_l = n), bh.hsluvToRgb(), { r: bh.rgb_r * 255, g: bh.rgb_g * 255, b: bh.rgb_b * 255, a: r } ); } function vr(e, t, n, r) { let i = Math.round(e), a = Math.round(t * 100), o = Math.round(n * 100); return r === void 0 || r === 1 ? `hsv(` + i + `, ` + a + `%, ` + o + `%)` : `hsva(` + i + `, ` + a + `%, ` + o + `%, ` + r + `)`; } function yr(e, t, n) { return { r: pr(e) ? Er(e, 255) * 255 : 0, g: pr(t) ? Er(t, 255) * 255 : 0, b: pr(n) ? Er(n, 255) * 255 : 0 }; } function br(e, t, n, r) { let i = [kr(Math.round(e).toString(16)), kr(Math.round(t).toString(16)), kr(Math.round(n).toString(16))]; return r && i[0].charAt(0) === i[0].charAt(1) && i[1].charAt(0) === i[1].charAt(1) && i[2].charAt(0) === i[2].charAt(1) ? i[0].charAt(0) + i[1].charAt(0) + i[2].charAt(0) : i.join(``); } function xr(e, t, n) { let r, i, a = Er(e, 255), o = Er(t, 255), s = Er(n, 255), c = Math.max(a, o, s), l = Math.min(a, o, s), u = (i = r = (c + l) / 2); if (c === l) u = i = 0; else { let e = c - l; switch (((i = r > 0.5 ? e / (2 - c - l) : e / (c + l)), c)) { case a: u = (o - s) / e + (o < s ? 6 : 0); break; case o: u = (s - a) / e + 2; break; case s: u = (a - o) / e + 4; break; } u /= 6; } return { h: u * 360, s: i, l: r }; } function Sr(e, t, n) { return ( n < 0 && (n += 1), n > 1 && --n, n < 1 / 6 ? e + (t - e) * 6 * n : n < 1 / 2 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e ); } function Cr(e, t, n) { let r, i, a; if (((e = Er(e, 360)), (t = Er(t * 100, 100)), (n = Er(n * 100, 100)), t === 0)) r = i = a = n; else { let o = n < 0.5 ? n * (1 + t) : n + t - n * t, s = 2 * n - o; (r = Sr(s, o, e + 1 / 3)), (i = Sr(s, o, e)), (a = Sr(s, o, e - 1 / 3)); } return { r: r * 255, g: i * 255, b: a * 255 }; } function wr(e, t, n) { (e = Er(e, 255)), (t = Er(t, 255)), (n = Er(n, 255)); let r = Math.max(e, t, n), i = Math.min(e, t, n), a = r - i, o = 0, s = r === 0 ? 0 : a / r, c = r; if (r === i) o = 0; else { switch (r) { case e: o = (t - n) / a + (t < n ? 6 : 0); break; case t: o = (n - e) / a + 2; break; case n: o = (e - t) / a + 4; break; } o /= 6; } return { h: o, s, v: c }; } function Tr(e, t, n) { (e = Er(e, 360) * 6), (t = Er(t * 100, 100)), (n = Er(n * 100, 100)); let r = Math.floor(e), i = e - r, a = n * (1 - t), o = n * (1 - i * t), s = n * (1 - (1 - i) * t), c = r % 6, l = [n, o, a, a, s, n][c], u = [s, n, n, o, a, a][c], d = [a, a, s, n, n, o][c]; return { r: l * 255, g: u * 255, b: d * 255 }; } function Er(e, t) { let n, r; if (((n = typeof t == `string` ? parseFloat(t) : t), typeof e == `string`)) { Dr(e) && (e = `100%`); let t = Or(e); (r = Math.min(n, Math.max(0, parseFloat(e)))), t && (r = Math.floor(r * n) / 100); } else r = e; return Math.abs(r - n) < 1e-6 ? 1 : (r % n) / n; } function Dr(e) { return typeof e == `string` && e.includes(`.`) && parseFloat(e) === 1; } function Or(e) { return typeof e == `string` && e.includes(`%`); } function kr(e) { return e.length === 1 ? `0` + e : `` + e; } function Ar(e) { if (e.includes(`gradient(`) || e.includes(`var(`)) return !1; let t = /^[\s,#]+/u, n = e.replace(t, ``).trimEnd().toLowerCase(), r = vh[n]; if ((r && (n = r), n === `transparent`)) return { r: 0, g: 0, b: 0, a: 0, format: `name` }; let i; return (i = xh.rgb.exec(n)) ? { r: parseInt(i[1] ?? ``), g: parseInt(i[2] ?? ``), b: parseInt(i[3] ?? ``), a: 1, format: `rgb` } : (i = xh.rgba.exec(n)) ? { r: parseInt(i[1] ?? ``), g: parseInt(i[2] ?? ``), b: parseInt(i[3] ?? ``), a: parseFloat(i[4] ?? ``), format: `rgb` } : (i = xh.hsl.exec(n)) ? { h: parseInt(i[1] ?? ``), s: mr(i[2] ?? ``), l: mr(i[3] ?? ``), a: 1, format: `hsl` } : (i = xh.hsla.exec(n)) ? { h: parseInt(i[1] ?? ``), s: mr(i[2] ?? ``), l: mr(i[3] ?? ``), a: parseFloat(i[4] ?? ``), format: `hsl` } : (i = xh.hsv.exec(n)) ? { h: parseInt(i[1] ?? ``), s: mr(i[2] ?? ``), v: mr(i[3] ?? ``), a: 1, format: `hsv` } : (i = xh.hsva.exec(n)) ? { h: parseInt(i[1] ?? ``), s: mr(i[2] ?? ``), v: mr(i[3] ?? ``), a: parseFloat(i[4] ?? ``), format: `hsv` } : (i = xh.hex8.exec(n)) ? { r: jr(i[1] ?? ``), g: jr(i[2] ?? ``), b: jr(i[3] ?? ``), a: Mr(i[4] ?? ``), format: r ? `name` : `hex` } : (i = xh.hex6.exec(n)) ? { r: jr(i[1] ?? ``), g: jr(i[2] ?? ``), b: jr(i[3] ?? ``), a: 1, format: r ? `name` : `hex` } : (i = xh.hex4.exec(n)) ? { r: jr(`${i[1]}${i[1]}`), g: jr(`${i[2]}${i[2]}`), b: jr(`${i[3]}${i[3]}`), a: Mr(i[4] + `` + i[4]), format: r ? `name` : `hex` } : (i = xh.hex3.exec(n)) ? { r: jr(`${i[1]}${i[1]}`), g: jr(`${i[2]}${i[2]}`), b: jr(`${i[3]}${i[3]}`), a: 1, format: r ? `name` : `hex` } : !1; } function jr(e) { return parseInt(e, 16); } function Mr(e) { return jr(e) / 255; } function Nr(e) { let t = Sh.exec(e); if (!t) return null; let { r: n = `0`, g: r = `0`, b: i = `0`, a } = t.groups ?? {}; return { r: parseFloat(n), g: parseFloat(r), b: parseFloat(i), a: a ? parseFloat(a) : 1 }; } function Pr(e = 0) { let t = Math.abs(e); return t <= 0.04045 ? e / 12.92 : (Math.sign(e) || 1) * ((t + 0.055) / 1.055) ** 2.4; } function Fr({ r: e, g: t, b: n, a: r }) { return { r: Pr(e), g: Pr(t), b: Pr(n), a: r }; } function Ir(e = 0) { let t = Math.abs(e); return t > 0.0031308 ? (Math.sign(e) || 1) * (1.055 * t ** (1 / 2.4) - 0.055) : e * 12.92; } function Lr({ r: e, g: t, b: n, a: r }) { return { r: Ir(e), g: Ir(t), b: Ir(n), a: r }; } function Rr({ r: e, g: t, b: n, a: r }) { let i = Math.max(e, t, n), a = Math.min(e, t, n), o = { h: 0, s: i === 0 ? 0 : 1 - a / i, v: i, a: r }; return ( i - a !== 0 && (o.h = (i === e ? (t - n) / (i - a) + (t < n ? 6 : 0) : i === t ? (n - e) / (i - a) + 2 : (e - t) / (i - a) + 4) * 60), o ); } function zr(e) { return (e %= 360) < 0 ? e + 360 : e; } function Br({ h: e = 0, s: t = 0, v: n = 0, a: r = 1 }) { let i = zr(e), a = Math.abs(((i / 60) % 2) - 1); switch (Math.floor(i / 60)) { case 0: return { r: n, g: n * (1 - t * a), b: n * (1 - t), a: r }; case 1: return { r: n * (1 - t * a), g: n, b: n * (1 - t), a: r }; case 2: return { r: n * (1 - t), g: n, b: n * (1 - t * a), a: r }; case 3: return { r: n * (1 - t), g: n * (1 - t * a), b: n, a: r }; case 4: return { r: n * (1 - t * a), g: n * (1 - t), b: n, a: r }; case 5: return { r: n, g: n * (1 - t), b: n * (1 - t * a), a: r }; default: return { r: n * (1 - t), g: n * (1 - t), b: n * (1 - t), a: r }; } } function Vr(e) { return Eh(Th(e)); } function Hr(e) { return wh(Ch(e)); } function Ur(e, t, n, r = 1) { let i; if ( typeof e == `number` && !Number.isNaN(e) && typeof t == `number` && !Number.isNaN(t) && typeof n == `number` && !Number.isNaN(n) ) { let a = e, o = t, s = n, c = r; i = Kr({ r: a, g: o, b: s, a: c }); } else typeof e == `string` ? (i = Wr(e)) : typeof e == `object` && (i = e.hasOwnProperty(`r`) && e.hasOwnProperty(`g`) && e.hasOwnProperty(`b`) ? Kr(e) : qr(e)); return i; } function Wr(e) { let t = Ar(e); if (t) return t.format === `hsl` ? qr(t) : t.format === `hsv` ? Gr(t) : Kr(t); } function Gr(e) { let t = Tr(e.h, e.s, e.v), n = xr(t.r, t.g, t.b); return { ...n, ...t, format: `rgb`, a: e.a === void 0 ? 1 : Jr(e.a) }; } function Kr(e) { let t = yr(e.r, e.g, e.b), n = xr(t.r, t.g, t.b); return { ...n, ...t, format: `rgb`, a: e.a === void 0 ? 1 : Jr(e.a) }; } function qr(e) { let t, n, r, i = { r: 0, g: 0, b: 0 }, a = { h: 0, s: 0, l: 0 }; return ( (t = pr(e.h) ? e.h : 0), (t = (t + 360) % 360), (n = pr(e.s) ? e.s : 1), typeof e.s == `string` && (n = hr(e.s)), (r = pr(e.l) ? e.l : 0.5), typeof e.l == `string` && (r = hr(e.l)), (i = Cr(t, n, r)), (a = { h: t, s: n, l: r }), { ...i, ...a, a: e.a === void 0 ? 1 : e.a, format: `hsl` } ); } function Jr(e) { return (e = parseFloat(e)), e < 0 && (e = 0), (Number.isNaN(e) || e > 1) && (e = 1), e; } function Yr(e, t, n, r) { er(`animate()`, `2.0.0`, `the new animation API (https://www.framer.com/api/animation/)`); let i = e, a; a = tr(e) || Ph(e) ? e.get() : $m.objectToValues(e); let o = new Yh(i, a, t, n, r); return o.play(), o; } function Xr({ children: e }) { let t = C(Qh); if (t.top) return b(v, { children: e }); let n = x({ byId: {}, byName: {}, byLastId: {}, byPossibleId: {}, byLastName: {}, byLayoutId: {}, count: { byId: {}, byName: {} } }), r = x({ byId: {}, byName: {}, byLastId: {}, byPossibleId: {}, byLastName: {}, byLayoutId: {} }), i = x(new Set()).current, a = T(({ id: e, name: t, duplicatedFrom: a }) => { if (!e) return null; let o = t ? `byName` : `byId`, s = n.current[o][e]; if (s) return s; let c = t || e; if (!a && !i.has(c) && (!n.current.byLayoutId[c] || n.current.byLayoutId[c] === c)) return ( n.current.count[o][c] === void 0 && ((n.current.count[o][c] = 0), (n.current.byLayoutId[c] = c), (r.current[o][e] = c)), i.add(c), c ); let l; if (a?.length) for (let s = a.length - 1; s >= 0; s--) { let c = a[s]; B(!!c, `duplicatedId must be defined`); let u = n.current[o][c], d = n.current.byLastId[c]; if (d && !l) { let e = n.current.byLayoutId[d], r = !e || e === t; d && !i.has(d) && (!t || r) && (l = [d, c]); } let f = u ? n.current.byLayoutId[u] : void 0, p = !f || f === t; if (u && !i.has(u) && (!t || p)) return (r.current[o][e] = u), (r.current.byLastId[c] = u), i.add(u), u; } let u = n.current.byLastId[e]; if (u && !i.has(u)) return i.add(u), (r.current.byId[e] = u), u; if (l) { let [t, n] = l; return (r.current[o][e] = t), (r.current.byLastId[n] = t), i.add(t), t; } let d = n.current.byPossibleId[e]; if (d && !i.has(d)) return i.add(d), (r.current.byId[e] = d), d; let f = a?.[0], p = t || f || e, m = (n.current.count[o][p] ?? -1) + 1, { layoutId: h, value: g } = Zr(p, m, i); if (((n.current.count[o][p] = g), (r.current[o][e] = h), a?.length && !t)) { let e = a[a.length - 1]; if ((e && (r.current.byLastId[e] = h), a.length > 1)) for (let e = 0; e < a.length - 1; e++) { let t = a[e]; t !== void 0 && (r.current.byPossibleId[t] || (r.current.byPossibleId[t] = h)); } } return (r.current.byLayoutId[h] = c), i.add(h), h; }, []), o = T(() => { (n.current = { byId: { ...n.current.byId, ...r.current.byId }, byLastId: { ...n.current.byLastId, ...r.current.byLastId }, byPossibleId: { ...n.current.byPossibleId, ...r.current.byPossibleId }, byName: { ...n.current.byName, ...r.current.byName }, byLastName: { ...n.current.byLastName, ...r.current.byLastName }, byLayoutId: { ...n.current.byLayoutId, ...r.current.byLayoutId }, count: { ...n.current.count, byName: {} } }), (r.current = { byId: {}, byName: {}, byLastId: {}, byPossibleId: {}, byLastName: {}, byLayoutId: {} }), i.clear(); }, []), s = x({ getLayoutId: a, persistLayoutIdCache: o, top: !0, enabled: !0 }).current; return b(Qh.Provider, { value: s, children: e }); } function Zr(e, t, n) { let r = t, i = r ? `${e}-${r}` : e; for (; n.has(i); ) r++, (i = `${e}-${r}`); return { layoutId: i, value: r }; } function Qr({ enabled: e = !0, ...t }) { let n = C(Qh), r = w(() => ({ ...n, enabled: e }), [e]); return b(Qh.Provider, { ...t, value: r }); } function $r(e) { let t = x(null); return t.current === null && (t.current = e()), t.current; } function ei(e) { let { error: t, file: n } = e, r = n ? `Error in ${ti(n)}` : `Error`, i = t instanceof Error ? t.message : `` + t; return E(`div`, { style: eg, children: [ b(`div`, { className: `text`, style: ng, children: r }), i && b(`div`, { className: `text`, style: rg, children: i }) ] }); } function ti(e) { return e.startsWith(`./`) ? e.replace(`./`, ``) : e; } function H(e) { return Number.isFinite(e); } function ni(e) { return !e || (!Object.keys(e).length && e.constructor === Object); } function ri(e) { return typeof e != `string` && typeof e != `number`; } function ii(e) { return e != null && typeof e != `boolean` && !ni(e); } function ai(e) { return e * (Math.PI / 180); } function oi(e) { return bt(e) ? !1 : e === 2 || e === 5; } function si(e) { if (typeof e == `string`) { let t = e.trim(); if (t === `auto`) return 2; if (t.endsWith(`fr`)) return 3; if (t.endsWith(`%`)) return 1; if (t.endsWith(`vw`) || t.endsWith(`vh`)) return 4; } return 0; } function ci(e, t, n, r) { if (typeof t == `string`) { if (t.endsWith(`%`) && n) switch (e) { case `maxWidth`: case `minWidth`: return (parseFloat(t) / 100) * n.width; case `maxHeight`: case `minHeight`: return (parseFloat(t) / 100) * n.height; default: break; } if (t.endsWith(`vh`)) { if (!r) return li(e); switch (e) { case `maxWidth`: case `minWidth`: return (parseFloat(t) / 100) * r.width; case `maxHeight`: case `minHeight`: return (parseFloat(t) / 100) * r.height; default: break; } } return parseFloat(t); } return t; } function li(e) { switch (e) { case `minWidth`: case `minHeight`: return -1 / 0; case `maxWidth`: case `maxHeight`: return 1 / 0; default: V(e, `unknown constraint key`); } } function ui(e, t, n, r) { return ( t.minHeight && (e = Math.max(ci(`minHeight`, t.minHeight, n, r), e)), t.maxHeight && (e = Math.min(ci(`maxHeight`, t.maxHeight, n, r), e)), e ); } function di(e, t, n, r) { return ( t.minWidth && (e = Math.max(ci(`minWidth`, t.minWidth, n, r), e)), t.maxWidth && (e = Math.min(ci(`maxWidth`, t.maxWidth, n, r), e)), e ); } function fi(e, t, n, r, i) { let a = di(H(e) ? e : sg, n, r, i), o = ui(H(t) ? t : cg, n, r, i); return ( H(n.aspectRatio) && n.aspectRatio > 0 && (H(n.left) && H(n.right) ? (o = a / n.aspectRatio) : (H(n.top) && H(n.bottom)) || n.widthType === 0 ? (a = o * n.aspectRatio) : (o = a / n.aspectRatio)), { width: a, height: o } ); } function pi(e, t) { return !H(e) || !H(t) ? null : e + t; } function mi(e) { return ( typeof e.right == `string` || typeof e.bottom == `string` || (typeof e.left == `string` && (!e.center || e.center === `y`)) || (typeof e.top == `string` && (!e.center || e.center === `x`)) ); } function hi(e) { return !e._constraints || mi(e) ? !1 : e._constraints.enabled; } function gi(e) { let { size: t } = e, { width: n, height: r } = e; return H(t) && (n === void 0 && (n = t), r === void 0 && (r = t)), H(n) && H(r) ? { width: n, height: r } : null; } function _i(e) { let t = gi(e); if (t === null) return null; let { left: n, top: r } = e; return H(n) && H(r) ? { x: n, y: r, ...t } : null; } function vi(e, t, n = !0) { if (e.positionFixed || e.positionAbsolute) return null; let r = t === 1 || t === 2; if (!hi(e) || r) return _i(e); let i = yi(e), a = bi(t), o = a ? { sizing: a, positioning: a, viewport: null } : null; return og.toRect(i, o, null, n, null); } function yi(e) { let { left: t, right: n, top: r, bottom: i, center: a, _constraints: o, size: s } = e, { width: c, height: l } = e; c === void 0 && (c = s), l === void 0 && (l = s); let { aspectRatio: u, autoSize: d } = o, f = ag.quickfix({ left: H(t), right: H(n), top: H(r), bottom: H(i), widthType: si(c), heightType: si(l), aspectRatio: u || null, fixedSize: d === !0 }), p = null, m = null, h = 0, g = 0; if (f.widthType !== 0 && typeof c == `string`) { let e = parseFloat(c); c.endsWith(`fr`) ? ((h = 3), (p = e)) : c === `auto` ? (h = 2) : ((h = 1), (p = e / 100)); } else c !== void 0 && typeof c != `string` && (p = c); if (f.heightType !== 0 && typeof l == `string`) { let e = parseFloat(l); l.endsWith(`fr`) ? ((g = 3), (m = e)) : l === `auto` ? (g = 2) : ((g = 1), (m = parseFloat(l) / 100)); } else l !== void 0 && typeof l != `string` && (m = l); let _ = 0.5, v = 0.5; return ( (a === !0 || a === `x`) && ((f.left = !1), typeof t == `string` && (_ = parseFloat(t) / 100)), (a === !0 || a === `y`) && ((f.top = !1), typeof r == `string` && (v = parseFloat(r) / 100)), { left: f.left ? t : null, right: f.right ? n : null, top: f.top ? r : null, bottom: f.bottom ? i : null, widthType: h, heightType: g, width: p, height: m, aspectRatio: f.aspectRatio || null, centerAnchorX: _, centerAnchorY: v, minHeight: e.minHeight, maxHeight: e.maxHeight, minWidth: e.minWidth, maxWidth: e.maxWidth } ); } function bi(e) { return e === 0 || e === 1 || e === 2 ? null : e; } function xi() { return u.useContext(lg).parentSize; } function Si(e) { return typeof e == `object`; } function Ci(e) { return Si(e) ? e.width : e; } function wi(e) { return Si(e) ? e.height : e; } function Ti(e, t) { return b(ug, { parentSize: t, children: e }); } function Ei(e) { let t = xi(), n = vi(e, t, !0); return n; } function Di({ width: e, height: t }) { return e === `auto` || e === `min-content` || t === `auto` || t === `min-content`; } function Oi() { if (fg !== void 0) return fg; let e = document.createElement(`div`); Object.assign(e.style, { position: `absolute`, display: `flex`, flexDirection: `column`, rowGap: `1px` }), e.appendChild(document.createElement(`div`)), e.appendChild(document.createElement(`div`)), document.body.appendChild(e); let t = e.scrollHeight === 1; return e.parentNode && e.parentNode.removeChild(e), (fg = t), t; } function ki() { mg || ((mg = !0), !Oi() && document.body.classList.add(pg)); } function Ai(e) { return typeof e == `number` ? e : e.startsWith(`--`) ? ji.variable(e) : e === `` ? `""` : e; } function ji(e, t) { let n = ` `; for (let e in t) { let r = t[e]; n += `${e.replace(/([A-Z])/gu, `-$1`).toLowerCase()}: ${Ai(r)}; `; } return e + ` {` + n + `}`; } function Mi(e, t) { return ji.variable(...e.flatMap((e) => [`${e}-rgb`, e]), t); } function Ni(e, t, n = Vg) { if (!(!e || n.has(e) || typeof document > `u`)) { if ((n.add(e), !t)) { if (!Hg) { let e = document.createElement(`style`); if ((e.setAttribute(`type`, `text/css`), e.setAttribute(`data-framer-css`, `true`), !document.head)) { console.warn(`not injecting CSS: the document is missing a
element`); return; } if ((document.head.appendChild(e), e.sheet)) Hg = e.sheet; else { console.warn(`not injecting CSS: injected