svg-scroll-draw 2.26.0 → 2.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -873,8 +873,8 @@ devtools.highlight('#my-element'); // outline for 2 seconds
873
873
  <!-- size-table:start -->
874
874
  | Entry | Gzipped |
875
875
  |---|---|
876
- | `svg-scroll-draw` (main, every core API) | 11.9 KB |
877
- | `svg-scroll-draw/react` (includes the engine) | 15.3 KB |
876
+ | `svg-scroll-draw` (main, every core API) | 12.0 KB |
877
+ | `svg-scroll-draw/react` (includes the engine) | 15.4 KB |
878
878
  | `svg-scroll-draw` + `svg-scroll-draw/react` (together; the engine ships once) | 17.0 KB |
879
879
  | `svg-scroll-draw/reveal` | 6.2 KB |
880
880
  | `svg-scroll-draw/text` | 3.9 KB |
@@ -1,3 +1,3 @@
1
- 'use strict';var Ke=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function $(e,...r){Ke&&console.warn(`[svg-scroll-draw] ${e}`,...r);}function Ar({tension:e=2.5,friction:r=2.2}={}){return t=>1-Math.cos(t*Math.PI*e)*Math.pow(1-t,r)}function kr({bounces:e=3,decay:r=.5}={}){let t=Math.max(1,Math.round(e)),n=Math.max(.01,Math.min(.99,r)),o=Math.sqrt(n),s=0,i=[];for(let g=0;g<t;g++){let w=Math.pow(o,g);i.push(w),s+=w;}let c=[0],m=0;for(let g=0;g<t;g++)m+=i[g]/s,c.push(m);return g=>{if(g<=0)return 0;if(g>=1)return 1;for(let w=0;w<t;w++)if(g<=c[w+1]){let A=(g-c[w])/(c[w+1]-c[w]);if(w===0)return A*(2-A);let S=1-Math.pow(n,w);return S+(1-S)*(2*A-1)*(2*A-1)}return 1}}function $r({amplitude:e=1,period:r=.4}={}){let t=Math.max(1,e),n=Math.max(.1,r),o=t<=1?n/4:n/(2*Math.PI)*Math.asin(1/t);return s=>s<=0?0:s>=1?1:t*Math.pow(2,-10*s)*Math.sin((s-o)*(2*Math.PI)/n)+1}var Xe={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:Ar(),bounce:kr(),elastic:$r()};function Or(e,r,t,n){let o=(s,i,c)=>((1+3*s-3*i)*c+3*i-6*s)*c*c+3*s*c;return s=>{if(s<=0||s>=1)return +(s>0);let i=s;for(let c=0;c<8;c++)i-=(o(e,t,i)-s)/((3*(1+3*e-3*t)*i+6*t-12*e)*i+3*e);if(!(i>=0&&i<=1&&Math.abs(o(e,t,i)-s)<1e-9))for(let c=0,m=0,g=1;c<30;c++)i=(m+g)/2,o(e,t,i)<s?m=i:g=i;return o(r,n,i)}}function Et(e){let r=/^cubic-bezier\((.*)\)$/.exec(e==="ease"?"cubic-bezier(.25,.1,.25,1)":e.trim()),t=r?r[1].split(",").map(parseFloat):[];if(t.length===4&&t.every(Number.isFinite)&&t[0]*(1-t[0])>=0&&t[2]*(1-t[2])>=0)return [Or(t[0],t[1],t[2],t[3]),`cubic-bezier(${t})`]}var It=new Set;function Re(e,r="linear"){if(typeof e=="function")return e;if(e==null)return Xe[r];if({}.hasOwnProperty.call(Xe,e))return Xe[e];let t=Et(String(e));return t?t[0]:(!It.has(e)&&It.add(e)&&$(`Unknown easing ${JSON.stringify(e)}: use a name, cubic-bezier() or a function.`),Xe[r])}function rt(e,r,t){return Math.min(t,Math.max(r,e))}function ae(e="top bottom"){let r=e.trim();if(/^\d+(\.\d+)?%$/.test(r))return {element:"top",viewport:r};let[t="top",n="bottom"]=r.split(/\s+/).filter(Boolean);return {element:t,viewport:n}}var Nt=(e,r)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:r;function Rt(e,r,t,n){return e+t+r*Nt(n,0)}function Dt(e,r){return r*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:Nt(e,1))}function Y(e,r,t,n){return t===r?0:rt((e-r)/(t-r)*n,0,1)}function Le(e,r,t,n,o){let s=Rt(e.top,e.height,r,n.element)-Dt(n.viewport,t),i=Rt(e.top,e.height,r,o.element)-Dt(o.viewport,t);return {tStart:s,tEnd:i}}function lt(e,r,t){let n=e.getBoundingClientRect(),o=t==="x"?n.width:n.height;return r?{top:t==="x"?n.left-r.getBoundingClientRect().left-r.clientLeft+r.scrollLeft:n.top-r.getBoundingClientRect().top-r.clientTop+r.scrollTop,height:o,scroll:0}:{top:t==="x"?n.left:n.top,height:o,scroll:t==="x"?window.scrollX:window.scrollY}}function ct(e){let r=parseFloat(e.getAttribute("pathLength")??"");if(r>0)return r;let t=e.tagName.toLowerCase();if(t==="rect"){let n=parseFloat(e.getAttribute("width")??"0"),o=parseFloat(e.getAttribute("height")??"0");return 2*(n+o)}if(t==="circle"){let n=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*n}return e.getTotalLength()}function ut(e){return `${e} ${e*2}`}function _t(e){let r=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(r)return [parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[3],16)];let t=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(t)return [parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)];let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return n?[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]:null}function ft(e,r,t){let n=_t(e),o=_t(r);return !n||!o?e:`rgb(${Math.round(n[0]+(o[0]-n[0])*t)},${Math.round(n[1]+(o[1]-n[1])*t)},${Math.round(n[2]+(o[2]-n[2])*t)})`}var Vt={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Fr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Hr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",zt=33;function Ir(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Rr(e){let r=[];for(let t=0;t<zt;t++){let n=t/(zt-1);r.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${r.join(",")})`}function mt(e){switch(e){case "linear":return "linear";case "ease-in":return Fr;case "ease-out":return Hr;case "ease-in-out":return Ir()?Rr(Xe["ease-in-out"]):null;default:return Et(e)?.[1]??null}}var Wt=Symbol.for("svg-scroll-draw.registry");function Gt(){let e=globalThis;return e[Wt]||(e[Wt]=new Map)}function ke(e,r){Gt().set(e,r);}function $e(e){Gt().delete(e);}function Je(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let r=window.matchMedia("(prefers-reduced-motion: reduce)"),t=o=>e(!!o.matches);if(typeof r.addEventListener=="function")return r.addEventListener("change",t),()=>r.removeEventListener("change",t);let n=r;return n.addListener?.(t),()=>n.removeListener?.(t)}function Be(e,r){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return r(e,true);let t=r(e,false),n=Je(s=>{if(!s)return;n();let i=(t.getProgress?.()??0)>=1;t.destroy(),t=r(i?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(t))o[s]=(...i)=>t[s]?.(...i);return o.destroy=()=>{n(),t.destroy();},o}var nt,pt=new Set,dt=new WeakMap,ot=new Map,Bt=e=>{let r=e.getBoundingClientRect();return r.width+" "+r.height};function Dr(e){let r=new Set;for(let t of e)for(;t&&t!==document.body;t=t.parentElement)for(let n=t;n;n=n.previousElementSibling)r.add(n);return r}function qt(e,r){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let t=()=>r();nt??(nt=new ResizeObserver(o=>{let s=false;for(let{target:i}of o)dt.get(i)!==Bt(i)&&(s=true),dt.set(i,"");s&&pt.forEach(i=>i());})),pt.add(t);let n=Dr(e);return [document.body,document.documentElement].forEach(o=>o&&n.add(o)),n.forEach(o=>{dt.has(o)||dt.set(o,Bt(o)),ot.set(o,(ot.get(o)??0)+1),nt.observe(o);}),()=>{pt.delete(t)&&(n.forEach(o=>{let s=(ot.get(o)??1)-1;if(s)return void ot.set(o,s);ot.delete(o),nt?.unobserve(o);}),pt.size||(nt?.disconnect(),nt=void 0));}}function De(e,r,t,n,o){let s,i=NaN,c,m,g=()=>{s=0,n(),!c&&!s&&(i=t())>0&&i<1&&(s=requestAnimationFrame(g));},w=()=>{!s&&!c&&t()!==i&&(s=requestAnimationFrame(g));},A=z=>{c=z,cancelAnimationFrame(s),s=i=NaN,w();},S=()=>{clearTimeout(m),o(),w();},G=()=>{clearTimeout(m),m=setTimeout(S,150);},Q=qt(r,G),v=z=>{e[z]("scroll",w,{passive:true}),window[z]("resize",G),window[z]("orientationchange",G);};return v("addEventListener"),w(),{hold:A,remeasure:S,off(){A(true),v("removeEventListener"),Q(),clearTimeout(m);}}}var Nr=0;function _r(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function jt(e,r){let t="";try{t=getComputedStyle(e).getPropertyValue(r).trim();}catch{}return t||(e.getAttribute(r)??"").trim()}var Ut=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Vr(e){if(!Ke)return;let r=jt(e,"stroke");if(!r||r==="none"){$("Element has no stroke \u2014 path will not be visible.",e);return}let t=(e.getAttribute("fill")??"").trim();t&&!Ut.has(t)&&!Ut.has(jt(e,"fill"))&&$("Element has a fill \u2014 it may obscure the stroke animation.",e);}function zr(e,r,t){let n=document.createElement("div");n.setAttribute("data-svg-scroll-draw-debug",""),n.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function o(){let s=t==="x"?window.scrollX:window.scrollY,i=e-s,c=r-s,m=t==="x";n.innerHTML=`
1
+ 'use strict';var Ke=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function A(e,...r){Ke&&console.warn(`[svg-scroll-draw] ${e}`,...r);}function Ar({tension:e=2.5,friction:r=2.2}={}){return t=>1-Math.cos(t*Math.PI*e)*Math.pow(1-t,r)}function kr({bounces:e=3,decay:r=.5}={}){let t=Math.max(1,Math.round(e)),n=Math.max(.01,Math.min(.99,r)),o=Math.sqrt(n),s=0,i=[];for(let g=0;g<t;g++){let w=Math.pow(o,g);i.push(w),s+=w;}let c=[0],m=0;for(let g=0;g<t;g++)m+=i[g]/s,c.push(m);return g=>{if(g<=0)return 0;if(g>=1)return 1;for(let w=0;w<t;w++)if(g<=c[w+1]){let k=(g-c[w])/(c[w+1]-c[w]);if(w===0)return k*(2-k);let x=1-Math.pow(n,w);return x+(1-x)*(2*k-1)*(2*k-1)}return 1}}function $r({amplitude:e=1,period:r=.4}={}){let t=Math.max(1,e),n=Math.max(.1,r),o=t<=1?n/4:n/(2*Math.PI)*Math.asin(1/t);return s=>s<=0?0:s>=1?1:t*Math.pow(2,-10*s)*Math.sin((s-o)*(2*Math.PI)/n)+1}var Xe={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:Ar(),bounce:kr(),elastic:$r()};function Or(e,r,t,n){let o=(s,i,c)=>((1+3*s-3*i)*c+3*i-6*s)*c*c+3*s*c;return s=>{if(s<=0||s>=1)return +(s>0);let i=s;for(let c=0;c<8;c++)i-=(o(e,t,i)-s)/((3*(1+3*e-3*t)*i+6*t-12*e)*i+3*e);if(!(i>=0&&i<=1&&Math.abs(o(e,t,i)-s)<1e-9))for(let c=0,m=0,g=1;c<30;c++)i=(m+g)/2,o(e,t,i)<s?m=i:g=i;return o(r,n,i)}}function Et(e){let r=/^cubic-bezier\((.*)\)$/.exec(e==="ease"?"cubic-bezier(.25,.1,.25,1)":e.trim()),t=r?r[1].split(",").map(parseFloat):[];if(t.length===4&&t.every(Number.isFinite)&&t[0]*(1-t[0])>=0&&t[2]*(1-t[2])>=0)return [Or(t[0],t[1],t[2],t[3]),`cubic-bezier(${t})`]}var It=new Set;function Re(e,r="linear"){if(typeof e=="function")return e;if(e==null)return Xe[r];if({}.hasOwnProperty.call(Xe,e))return Xe[e];let t=Et(String(e));return t?t[0]:(!It.has(e)&&It.add(e)&&A(`Unknown easing ${JSON.stringify(e)}: use a name, cubic-bezier() or a function.`),Xe[r])}function rt(e,r,t){return Math.min(t,Math.max(r,e))}function ae(e="top bottom"){let r=e.trim();if(/^\d+(\.\d+)?%$/.test(r))return {element:"top",viewport:r};let[t="top",n="bottom"]=r.split(/\s+/).filter(Boolean);return {element:t,viewport:n}}var Nt=(e,r)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:r;function Rt(e,r,t,n){return e+t+r*Nt(n,0)}function Dt(e,r){return r*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:Nt(e,1))}function Q(e,r,t,n){return t===r?0:rt((e-r)/(t-r)*n,0,1)}function Le(e,r,t,n,o){let s=Rt(e.top,e.height,r,n.element)-Dt(n.viewport,t),i=Rt(e.top,e.height,r,o.element)-Dt(o.viewport,t);return {tStart:s,tEnd:i}}function lt(e,r,t){let n=e.getBoundingClientRect(),o=t==="x"?n.width:n.height;return r?{top:t==="x"?n.left-r.getBoundingClientRect().left-r.clientLeft+r.scrollLeft:n.top-r.getBoundingClientRect().top-r.clientTop+r.scrollTop,height:o,scroll:0}:{top:t==="x"?n.left:n.top,height:o,scroll:t==="x"?window.scrollX:window.scrollY}}function ct(e){let r=parseFloat(e.getAttribute("pathLength")??"");if(r>0)return r;let t=e.tagName.toLowerCase();if(t==="rect"){let n=parseFloat(e.getAttribute("width")??"0"),o=parseFloat(e.getAttribute("height")??"0");return 2*(n+o)}if(t==="circle"){let n=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*n}return e.getTotalLength()}function ut(e){return `${e} ${e*2}`}function _t(e){let r=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(r)return [parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[3],16)];let t=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(t)return [parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)];let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return n?[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]:null}function ft(e,r,t){let n=_t(e),o=_t(r);return !n||!o?e:`rgb(${Math.round(n[0]+(o[0]-n[0])*t)},${Math.round(n[1]+(o[1]-n[1])*t)},${Math.round(n[2]+(o[2]-n[2])*t)})`}var Vt={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Fr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Hr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",zt=33;function Ir(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Rr(e){let r=[];for(let t=0;t<zt;t++){let n=t/(zt-1);r.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${r.join(",")})`}function mt(e){switch(e){case "linear":return "linear";case "ease-in":return Fr;case "ease-out":return Hr;case "ease-in-out":return Ir()?Rr(Xe["ease-in-out"]):null;default:return Et(e)?.[1]??null}}var Wt=Symbol.for("svg-scroll-draw.registry");function Gt(){let e=globalThis;return e[Wt]||(e[Wt]=new Map)}function ke(e,r){Gt().set(e,r);}function $e(e){Gt().delete(e);}function Je(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let r=window.matchMedia("(prefers-reduced-motion: reduce)"),t=o=>e(!!o.matches);if(typeof r.addEventListener=="function")return r.addEventListener("change",t),()=>r.removeEventListener("change",t);let n=r;return n.addListener?.(t),()=>n.removeListener?.(t)}function Be(e,r){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return r(e,true);let t=r(e,false),n=Je(s=>{if(!s)return;n();let i=(t.getProgress?.()??0)>=1;t.destroy(),t=r(i?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(t))o[s]=(...i)=>t[s]?.(...i);return o.destroy=()=>{n(),t.destroy();},o}var nt,pt=new Set,dt=new WeakMap,ot=new Map,Bt=e=>{let r=e.getBoundingClientRect();return r.width+" "+r.height};function Dr(e){let r=new Set;for(let t of e)for(;t&&t!==document.body;t=t.parentElement)for(let n=t;n;n=n.previousElementSibling)r.add(n);return r}function qt(e,r){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let t=()=>r();nt??(nt=new ResizeObserver(o=>{let s=false;for(let{target:i}of o)dt.get(i)!==Bt(i)&&(s=true),dt.set(i,"");s&&pt.forEach(i=>i());})),pt.add(t);let n=Dr(e);return [document.body,document.documentElement].forEach(o=>o&&n.add(o)),n.forEach(o=>{dt.has(o)||dt.set(o,Bt(o)),ot.set(o,(ot.get(o)??0)+1),nt.observe(o);}),()=>{pt.delete(t)&&(n.forEach(o=>{let s=(ot.get(o)??1)-1;if(s)return void ot.set(o,s);ot.delete(o),nt?.unobserve(o);}),pt.size||(nt?.disconnect(),nt=void 0));}}function De(e,r,t,n,o){let s,i=NaN,c,m,g=()=>{s=0,n(),!c&&!s&&(i=t())>0&&i<1&&(s=requestAnimationFrame(g));},w=()=>{!s&&!c&&t()!==i&&(s=requestAnimationFrame(g));},k=q=>{c=q,cancelAnimationFrame(s),s=i=NaN,w();},x=()=>{clearTimeout(m),o(),w();},$=()=>{clearTimeout(m),m=setTimeout(x,150);},z=qt(r,$),T=q=>{e[q]("scroll",w,{passive:true}),window[q]("resize",$),window[q]("orientationchange",$);};return T("addEventListener"),w(),{hold:k,remeasure:x,off(){k(true),T("removeEventListener"),z(),clearTimeout(m);}}}var Nr=0;function _r(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function jt(e,r){let t="";try{t=getComputedStyle(e).getPropertyValue(r).trim();}catch{}return t||(e.getAttribute(r)??"").trim()}var Ut=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Vr(e){if(!Ke)return;let r=jt(e,"stroke");if(!r||r==="none"){A("Element has no stroke \u2014 path will not be visible.",e);return}let t=(e.getAttribute("fill")??"").trim();t&&!Ut.has(t)&&!Ut.has(jt(e,"fill"))&&A("Element has a fill \u2014 it may obscure the stroke animation.",e);}function zr(e,r,t){let n=document.createElement("div");n.setAttribute("data-svg-scroll-draw-debug",""),n.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function o(){let s=t==="x"?window.scrollX:window.scrollY,i=e-s,c=r-s,m=t==="x";n.innerHTML=`
2
2
  <div style="position:absolute;${m?`left:${i}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${i}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
3
- <div style="position:absolute;${m?`left:${c}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${c}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",o,{passive:true}),o(),{el:n,destroy(){window.removeEventListener("scroll",o),n.remove();}}}var Yt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Qt=/[MmLlHhVvCcSsQqTtAaZz]/g;function Wr(e,r,t){if(!Ke)return;let n=(e.match(Qt)??[]).join("").toUpperCase(),o=(r.match(Qt)??[]).join("").toUpperCase(),s=(e.match(Yt)??[]).length,i=(r.match(Yt)??[]).length;if(n!==o){$(`morphTo: command sequence differs (${n||"\u2205"} \u2192 ${o||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,t);return}s!==i&&$(`morphTo: coordinate count differs (${s} \u2192 ${i}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,t);}function Gr(e,r,t){let n=(r.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let i=parseFloat(s),c=n[o++]??i;return String(+(i+(c-i)*t).toFixed(4))})}function Kt(e,r={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:Be(r,(t,n)=>Br(e,t,n))}function Br(e,r,t){let{preset:n,...o}=r,s=n?{...Vt[n],...o}:o,{selector:i="path, polyline, line, polygon, rect, circle",speed:c=1,fade:m=false,easing:g="linear",trigger:w={},stagger:A=0,direction:S="forward",once:G=false,debug:Q=false,axis:v="y",scrollContainer:z,autoReverse:Z=false,delay:k=0,strokeColor:C,strokeWidth:L,fillOpacity:O,waypoints:h,velocityScale:F=false,threshold:W=0,rootMargin:se="0px",repeat:K=0,repeatDelay:_=0,morphTo:R,clip:T,autoplay:X=false,duration:E=1e3,native:P=true,onProgress:he,onStart:D,onComplete:q,onEnter:ue,onLeave:Ee,onEnterBack:fe,onLeaveBack:ie}=s,x=T===true?"left":typeof T=="string"?T:false,M=Re(g),re=ae(w.start||"top bottom"),Oe=ae(w.end||"bottom top"),J=typeof z=="string"?document.querySelector(z):z??null,Fe=Array.isArray(C)?C[0]:null,Se=Array.isArray(C)?C[1]:typeof C=="string"?C:null,ye=Array.isArray(L)?L[0]:null,_e=Array.isArray(L)?L[1]:typeof L=="number"?L:null,He=Array.isArray(O)?O[0]:null,Te=Array.isArray(O)?O[1]:typeof O=="number"?O:null;function Pe(a){let f=a*100;switch(x){case "right":return `inset(0 0 0 ${100-f}%)`;case "top":return `inset(0 0 ${100-f}% 0)`;case "bottom":return `inset(${100-f}% 0 0 0)`;case "center":return `circle(${a*150}% at 50% 50%)`;default:return `inset(0 ${100-f}% 0 0)`}}let l=x?[]:Array.from(e.querySelectorAll(i)),d=[],ne=[],H=0,V=0,B=A,j=0,Ne=0,oe=false,Ie=false,be=0,Ye=-1,je=[],Ue=-1,me=false,u=0,p=0,b,le=false,we=null;function Ve(){we?.destroy(),we=null;}let Ce=new Set,ze=NaN,We=true,it=-1,xt=performance.now(),Qe=NaN;function at(){return J?v==="x"?J.scrollLeft:J.scrollTop:v==="x"?window.scrollX:window.scrollY}function Mt(){return J?v==="x"?J.clientWidth:J.clientHeight:v==="x"?window.innerWidth:window.innerHeight}function Lt(){let a=lt(e,J,v);return Le(a,a.scroll,Mt(),re,Oe)}function Sr(){let a=V-H,f=l.length-1,y=J??document.documentElement,N=v==="x"?"Width":"Height";if(B=A,A>0&&f>0&&a>0){let pe=y[`scroll${N}`]-y[`client${N}`]-1-H-a/c;pe>=0&&(B=Math.min(A,pe/(f*a)));}let ce=Math.max(0,f)*B*a,xe=a/Math.min(c,1);j=H+Math.min(0,ce,xe,ce+xe),Ne=H+Math.max(0,ce,xe,ce+xe);}function Pt(){(({tStart:H,tEnd:V}=Lt())),Sr(),Q&&Ke&&(Ve(),we=zr(H,V,v));}function yt(a,f=Lt){ke(e,{type:"draw",getProgress:()=>a.getProgress(),getTrigger:f});let y=a.destroy;return a.destroy=()=>{y.call(a),$e(e);},a}function Ct(a,f){return G&&!Z?Math.max(Ye,M(je[a]=Math.max(je[a]??0,f))):M(f)}function Tr(a,f){if(e.style.setProperty("--scroll-draw-progress",String(a)),x){let y=f==="reverse"?1-a:a;e.style.clipPath=Pe(y);return}l.forEach((y,N)=>bt(y,N,a,f));}function bt(a,f,y,N){a.style.strokeDashoffset=N==="reverse"?`${d[f]*y}`:`${d[f]*(1-y)}`,m&&(a.style.opacity=N==="reverse"?`${1-y}`:`${y}`),Fe&&Se?a.style.stroke=ft(Fe,Se,y):Se&&(a.style.stroke=Se),ye!==null&&_e!==null?a.style.strokeWidth=`${ye+(_e-ye)*y}`:_e!==null&&(a.style.strokeWidth=`${_e}`),He!==null&&Te!==null?a.style.fillOpacity=`${He+(Te-He)*y}`:Te!==null&&(a.style.fillOpacity=`${Te}`),R&&a.tagName.toLowerCase()==="path"&&ne[f]&&a.setAttribute("d",Gr(ne[f],R,y));}function wt(){if(e.style.setProperty("--scroll-draw-progress","0"),x){e.style.clipPath=Pe(S==="reverse"?1:0);return}l.forEach((a,f)=>{a.style.strokeDasharray=ut(d[f]),a.style.strokeDashoffset=S==="reverse"?"0":`${d[f]}`,m?a.style.opacity=S==="reverse"?"1":"0":a.style.opacity="",Fe&&(a.style.stroke=Fe),ye!==null&&(a.style.strokeWidth=`${ye}`),He!==null&&(a.style.fillOpacity=`${He}`),R&&a.tagName.toLowerCase()==="path"&&ne[f]&&a.setAttribute("d",ne[f]);});}function Ze(a,f){let y=a.getAttribute("d"),N=ct(a);if(R&&ne[f]){a.setAttribute("d",R);let ce=ct(a);a.setAttribute("d",ne[f]),N=Math.max(ct(a),ce),a.setAttribute("d",y);}d[f]=N,a.style.strokeDasharray=ut(N);}if(l.forEach((a,f)=>{Vr(a);let y=a.tagName.toLowerCase()==="path";y?ne.push(a.getAttribute("d")??""):ne.push(""),Ze(a,f);let N=d[f];R&&(y?Wr(ne[ne.length-1],R,a):$(`morphTo only applies to <path> elements \u2014 ignored on <${a.tagName}>.`,a)),t?(a.style.strokeDashoffset=S==="reverse"?`${N}`:"0",m&&(a.style.opacity="1"),Se&&(a.style.stroke=Se),_e!==null&&(a.style.strokeWidth=`${_e}`),Te!==null&&(a.style.fillOpacity=`${Te}`),R&&a.tagName.toLowerCase()==="path"&&a.setAttribute("d",R)):(a.style.strokeDashoffset=S==="reverse"?"0":`${N}`,m?a.style.opacity=S==="reverse"?"1":"0":a.style.opacity="",Fe&&(a.style.stroke=Fe),ye!==null&&(a.style.strokeWidth=`${ye}`),He!==null&&(a.style.fillOpacity=`${He}`));}),t)return x&&(e.style.clipPath=Pe(1)),q?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};x&&(e.style.clipPath=Pe(S==="reverse"?1:0));let At=typeof g=="string"?mt(g):null;function xr(){return !(P===false||X||Q&&Ke||!_r()||!l.length||!At||x||v!=="y"||J||c!==1||A!==0||G||Z||F!==false||R||h||K||k>0||he||D||q||ue||Ee||fe||ie||C!=null||L!=null||O!=null||(w.start||"top bottom").trim()!=="top bottom"||(w.end||"bottom top").trim()!=="bottom top")}function Mr(){let a=++Nr,f=`svg-scroll-draw-${a}`,y=`svg-scroll-draw-host-${a}`,N=`--svg-scroll-draw-${a}`,ce=S==="reverse"?"0":"var(--ssd-len)",xe=S==="reverse"?"var(--ssd-len)":"0",pe=`stroke-dashoffset:${ce};`,ee=`stroke-dashoffset:${xe};`;m&&(pe+=`opacity:${S==="reverse"?1:0};`,ee+=`opacity:${S==="reverse"?0:1};`);let te=document.createElement("style");te.setAttribute("data-svg-scroll-draw",""),te.textContent=`@keyframes ${f}{from{${pe}}to{${ee}}}.${y}{view-timeline-name:${N};view-timeline-axis:block;}.${f}{animation-name:${f};animation-duration:auto;animation-timing-function:${At};animation-fill-mode:both;animation-timeline:${N};animation-range:cover 0% cover 100%;}`,document.head.appendChild(te),e.classList.add(y);function ve(I,U){I.style.setProperty("--ssd-len",String(d[U])),I.style.strokeDasharray=ut(d[U]),I.style.strokeDashoffset="",I.style.opacity="",I.style.animationPlayState="",I.classList.add(f);}l.forEach(ve);let de=false,Me=-1;function Ae(){if(Me>=0)return Me;let I=e.getBoundingClientRect(),{tStart:U,tEnd:ge}=Le({top:I.top,height:I.height},at(),Mt(),re,Oe);return M(Y(at(),U,ge,c))}return {destroy(){e.classList.remove(y),l.forEach(I=>{I.classList.remove(f),I.style.removeProperty("--ssd-len"),I.style.animationPlayState="";}),te.remove();},replay(){de=false,Me=-1,l.forEach(ve);},pause(){de=true,l.forEach(I=>{I.style.animationPlayState="paused";});},resume(){de&&(de=false,l.forEach(I=>{I.style.animationPlayState="running";}));},seek(I){let U=Math.min(1,Math.max(0,I));Me=U,de=true,l.forEach((ge,Ge)=>{ge.classList.remove(f),ge.style.strokeDashoffset=S==="reverse"?`${d[Ge]*U}`:`${d[Ge]*(1-U)}`,m&&(ge.style.opacity=S==="reverse"?`${1-U}`:`${U}`);});},getProgress(){return Ae()},refresh(){l.forEach((I,U)=>{Ze(I,U),I.style.setProperty("--ssd-len",String(d[U]));});}}}if(xr())return yt(Mr());function Lr(){let a=Math.max(1,E),f=x?a:a*(1+Math.max(0,l.length-1)*A),y=0,N=0,ce=false;function xe(Me){let Ae=true,I=Math.min(1,Math.max(0,Me/f));if(x){let U=Math.min(1,Math.max(0,Me/a)),ge=M(U);u=ge,e.style.setProperty("--scroll-draw-progress",String(ge)),e.style.clipPath=Pe(S==="reverse"?1-ge:ge),he?.(ge),U<1&&(Ae=false);}else {l.forEach((ge,Ge)=>{let Cr=Ge*A*a,Ht=Math.min(1,Math.max(0,(Me-Cr)/a));bt(ge,Ge,M(Ht),S),Ht<1&&(Ae=false);});let U=M(I);u=U,he?.(U),e.style.setProperty("--scroll-draw-progress",String(U));}if(h){let U=M(I);for(let ge in h){let Ge=parseFloat(ge);U>=Ge&&!Ce.has(Ge)&&(Ce.add(Ge),h[ge]?.());}}return Ae}function pe(Me){if(me)return;let Ae=Me-y;Ie||(Ie=true,D?.());let I=xe(Ae);if(I&&!oe){oe=true,xe(f),q?.(),p<(K==="infinite"?1/0:K??0)&&(p++,b=setTimeout(()=>{y=performance.now(),Ie=false,oe=false,Ce.clear(),wt(),be=requestAnimationFrame(pe);},_));return}I||(be=requestAnimationFrame(pe));}function ee(){cancelAnimationFrame(be),clearTimeout(b),y=performance.now(),N=0,me=false,Ie=false,oe=false,p=0,ce=true,u=0,Ce.clear(),wt(),be=requestAnimationFrame(pe);}let te=new IntersectionObserver(Me=>{Me.forEach(Ae=>{Ae.isIntersecting&&!(G&&oe)?ee():!Ae.isIntersecting&&!G&&!oe&&(cancelAnimationFrame(be),clearTimeout(b),ce=false);});},{root:J??null,threshold:W,rootMargin:se}),ve;function de(){clearTimeout(ve),ve=setTimeout(()=>l.forEach(Ze),150);}return window.addEventListener("resize",de),window.addEventListener("orientationchange",de),k>0?setTimeout(()=>te.observe(e),k):te.observe(e),{destroy(){cancelAnimationFrame(be),clearTimeout(b),te.disconnect(),window.removeEventListener("resize",de),window.removeEventListener("orientationchange",de),clearTimeout(ve);},replay(){p=0,ee();},pause(){me||!ce||(me=true,N=performance.now()-y,cancelAnimationFrame(be));},resume(){me&&(me=false,ce=true,y=performance.now()-N,be=requestAnimationFrame(pe));},seek(Me){let Ae=Math.min(1,Math.max(0,Me));u=Ae,me=true,N=Ae*f,y=performance.now()-N,cancelAnimationFrame(be),xe(N);},getProgress(){return u},refresh(){clearTimeout(ve),l.forEach(Ze);}}}if(X)return yt(Lr());Pt();let kt=()=>Y(at(),j,Ne,1);function $t(){oe=true,q?.(),p<(K==="infinite"?1/0:K)&&(p++,b=setTimeout(()=>{le=true;},_));}function Ot(){Ye=-1,je=[],Ie=false,oe=false,le=false,Ce.clear(),wt(),We=true;}function Pr(){let a=performance.now(),f=at();if(le&&kt()%1&&Ot(),!We&&F===false&&f===ze)return;We=false,ze=f;let y=c;if(F!==false){let ee=a-xt,te=ee>0?Math.abs(f-(it<0?f:it))/ee:0;y=c*Math.max(.2,1+te*(typeof F=="number"?F:1)*.04);}it=f,xt=a;let N=Z?Ue===-1||f>=Ue?"forward":"reverse":S;Ue=f;let ce=V-H,xe=true,pe=ce===0?0:(f-H)/ce;if(isNaN(Qe)||(Qe<=0&&pe>0&&ue?.(),Qe<1&&pe>=1&&Ee?.(),Qe>=1&&pe<1&&fe?.(),Qe>0&&pe<=0&&ie?.()),Qe=pe,x){let ee=Ct(0,Y(f,H,V,y));u=ee,e.style.setProperty("--scroll-draw-progress",String(ee));let te=N==="reverse"?1-ee:ee;e.style.clipPath=Pe(te),he?.(ee),!Ie&&Y(f,H,V,y)>0&&(Ie=true,D?.()),ee>=1&&!oe?$t():ee<1&&!G&&(oe=false);return}if(l.forEach((ee,te)=>{let ve=te*B*ce,de=Ct(te,Y(f,H+ve,V+ve,y));bt(ee,te,de,N),te===0&&(u=de,he?.(de),e.style.setProperty("--scroll-draw-progress",String(de))),de<1&&(xe=false);}),h){let ee=M(Y(f,H,V,y));for(let te in h){let ve=parseFloat(te);ee>=ve&&!Ce.has(ve)&&(Ce.add(ve),h[te]?.());}}!Ie&&Y(f,H,V,y)>0&&(Ie=true,D?.()),xe&&!oe?$t():!xe&&!G&&(oe=false);}let et=De(J??window,[e],kt,Pr,()=>{let a=d.join();l.forEach(Ze),Pt(),We=true,d.join()!==a&&tt();}),vt=k>0;function tt(){et.hold(me||vt);}let Ft;return vt&&(Ft=setTimeout(()=>{vt=false,tt();},k)),tt(),yt({destroy(){clearTimeout(b),clearTimeout(Ft),et.off(),Ve();},replay(){Ot(),Ue=-1,it=-1,p=0,me=false,u=0,clearTimeout(b),tt();},pause(){me=true,et.hold(true);},resume(){me&&(me=false,We=true,tt());},seek(a){let f=Math.min(1,Math.max(0,a));u=f,Ye=f,je=[],me=true,et.hold(true),Tr(f,S),We=true;},getProgress(){return u},refresh:et.remeasure},()=>({tStart:H,tEnd:V}))}var Xt=new WeakMap,qr=0;function st(e){return JSON.stringify(e,(r,t)=>{if(typeof t=="function")return "\u0192";if(typeof Element<"u"&&t instanceof Element){let n=Xt.get(t);return n===void 0&&Xt.set(t,n=++qr),`el#${n}`}return t})}function Jt(e,r){let t={...e};for(let n of Object.keys(t))typeof t[n]=="function"&&(t[n]=(...o)=>r()[n]?.(...o));return t}function jr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Zt(e){let r=[],t=/([\w]+)\(([^)]*)\)/g,n;for(;(n=t.exec(e))!==null;){let o=[],s=[],i=n[2].trim();if(i)for(let c of i.split(/[\s,]+/)){let m=c.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(m?parseFloat(m[1]):0),s.push(m?m[2]:"");}r.push({fn:n[1],nums:o,units:s});}return r}function Ur(e,r,t){let n=Zt(e),o=Zt(r);return n.length===0||n.length!==o.length?t<1?e:r:n.map((s,i)=>{let c=o[i];return s.fn!==c.fn||s.nums.length!==c.nums.length?t<1?`${s.fn}(${s.nums.map((m,g)=>`${m}${s.units[g]}`).join(", ")})`:`${c.fn}(${c.nums.map((m,g)=>`${m}${c.units[g]}`).join(", ")})`:`${s.fn}(${s.nums.map((m,g)=>`${m+(c.nums[g]-m)*t}${s.units[g]}`).join(", ")})`}).join(" ")}function er(e,r,t){if(typeof e=="number"&&typeof r=="number")return String(e+(r-e)*t);let n=String(e),o=String(r);if(jr(n))return ft(n,o,t);if(n.includes("("))return Ur(n,o,t);let s=n.match(/^([-+]?[\d.]+)(.*)$/),i=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&i){let c=parseFloat(s[1]),m=parseFloat(i[1]);return `${c+(m-c)*t}${s[2]||i[2]}`}return t<1?n:o}function Yr(e){return e.replace(/([A-Z])/g,r=>`-${r.toLowerCase()}`)}var Qr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Kr=0,tr="--scroll-draw-progress";function Xr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var nr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function or(e,r){return typeof window>"u"?nr:r.respectReducedMotion===false?rr(e,r,false):Be(r,(t,n)=>rr(e,t,n))}function rr(e,r,t){let{props:n,trigger:o={},easing:s="ease-out",speed:i=1,once:c=false,axis:m="y",scrollContainer:g,native:w=true,velocityScale:A=false,triggerElement:S,onProgress:G,onComplete:Q,onEnter:v,onLeave:z,onEnterBack:Z,onLeaveBack:k}=r,C=Re(s,"ease-out"),L=ae(o.start||"top bottom"),O=ae(o.end||"bottom top"),h=S??e,F=typeof g=="string"?document.querySelector(g):g??null,W=Object.entries(n).map(([l,d])=>({prop:Yr(l),from:Array.isArray(d)?d[0]:"",to:Array.isArray(d)?d[1]:d}));function se(){let l=window.getComputedStyle(e);for(let d of W)d.from===""&&(d.from=l.getPropertyValue(d.prop).trim()||"0");}function K(){for(let l of W)e.style.setProperty(l.prop,String(l.to));}let _=new Map;for(let l of [...W.map(d=>d.prop),tr])_.set(l,e.style.getPropertyValue(l));function R(){for(let[l,d]of _)d?e.style.setProperty(l,d):e.style.removeProperty(l);}if(t)return K(),Q?.(),{...nr,destroy:R,getProgress:()=>1};se();let T=()=>F?m==="x"?F.scrollLeft:F.scrollTop:m==="x"?window.scrollX:window.scrollY,X=()=>F?m==="x"?F.clientWidth:F.clientHeight:m==="x"?window.innerWidth:window.innerHeight,E=typeof s=="string"?mt(s):null;function P(){if(!w||!Xr()||!E||m!=="y"||F||h!==e||c||i!==1||G||Q||v||z||Z||k||A!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let l of W)if(!Qr.has(l.prop))return false;return true}function he(){let l=`ssd-a-${++Kr}`,d=W.map(j=>`${j.prop}:${j.from}`).join(";"),ne=W.map(j=>`${j.prop}:${j.to}`).join(";"),H=document.createElement("style");H.setAttribute("data-ssd-animate",""),H.textContent=`@keyframes ${l}{from{${d}}to{${ne}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${E};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(H),e.classList.add(l);let V=()=>{let j=e.getBoundingClientRect();return Le({top:j.top,height:j.height},T(),X(),L,O)};ke(e,{type:"animate",getProgress:()=>B.getProgress(),getTrigger:V});let B={refresh(){},destroy(){e.classList.remove(l),H.remove(),e.style.animationPlayState="",R(),$e(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(j){let Ne=Math.min(1,Math.max(0,j));e.classList.remove(l);for(let oe of W)e.style.setProperty(oe.prop,er(oe.from,oe.to,Ne));},getProgress(){let{tStart:j,tEnd:Ne}=V();return C(Y(T(),j,Ne,i))}};return B}if(P())return he();let D=0,q=0,ue=false,Ee=-1,fe=0,ie=0,x=false,M=NaN,re=-1,Oe=0,J=h===e?W:[],Fe=false;function Se(){let l=e.style,d=J.map(B=>l.getPropertyValue(B.prop)),ne=l.transition;J.length&&(l.transition="none"),J.forEach(B=>l.setProperty(B.prop,_.get(B.prop)??""));let H=lt(h,F,m);J.forEach((B,j)=>l.setProperty(B.prop,d[j])),J.length&&(e.offsetWidth,l.transition=ne);let V=Le(H,H.scroll,X(),L,O);Fe&&Math.abs(V.tStart-D)<1&&Math.abs(V.tEnd-q)<1||(Fe=true,D=V.tStart,q=V.tEnd);}function ye(l){e.style.setProperty(tr,String(l));for(let d of W)e.style.setProperty(d.prop,er(d.from,d.to,l));G?.(l);}function _e(l){if(isNaN(M)){M=l;return}M<=0&&l>0&&v?.(),M<1&&l>=1&&z?.(),M>=1&&l<1&&Z?.(),M>0&&l<=0&&k?.(),M=l;}function He(){if(ue)return;let l=performance.now(),d=T(),ne=i;if(A!==false){let j=l-Oe,Ne=j>0?Math.abs(d-(re<0?d:re))/j:0;ne=i*Math.max(.2,1+Ne*(typeof A=="number"?A:1)*.04);}re=d,Oe=l;let H=q===D?0:(d-D)/(q-D);_e(H);let V=Y(d,D,q,ne),B=c?Math.max(Ee,C(fe=Math.max(fe,V))):C(V);ie=B,ye(B),B>=1&&!x?(x=true,Q?.()):B<1&&!c&&(x=false);}let Te=De(F??window,[h],()=>Y(T(),D,q,Math.min(i,1)),He,Se);Se(),q===D&&$("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),fe=Y(T(),D,q,i),ie=C(fe),ye(ie),ke(e,{type:"animate",getProgress:()=>ie,getTrigger:()=>({tStart:D,tEnd:q})});function Pe(){ue=true,Te.hold(true);}return {destroy(){ue=true,Te.off(),R(),$e(e);},replay(){Ee=-1,fe=0,x=false,ie=0,ue=false,ye(0),Te.hold(false);},pause:Pe,resume(){ue&&(ue=false,Te.hold(false));},seek(l){let d=Math.min(1,Math.max(0,l));ie=d,Ee=d,fe=0,Pe(),ye(d);},getProgress(){return ie},refresh:Te.remeasure}}var St={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function sr(e,r){if(typeof window>"u")return St;let t=typeof e=="string"?document.querySelector(e):e;return t?Be(r,(n,o)=>Jr(t,n,o)):($("scrollCounter: element not found:",e),St)}function Jr(e,r,t){let{from:n=0,to:o,format:s,easing:i="ease-out",trigger:c={},once:m=true,decimals:g,onComplete:w}=r,A=g!==void 0?E=>E.toFixed(g):s??(E=>String(Math.round(E))),S=Re(i,"ease-out"),G=ae(c.start||"top 80%"),Q=ae(c.end||"top 20%");if(t)return e.textContent=A(o),w?.(),{...St,getProgress:()=>1};let v=0,z=0,Z=false,k=-1,C=0,L=0,O=false,h=()=>window.scrollY,F=()=>window.innerHeight;function W(){let E=e.getBoundingClientRect(),P=Le({top:E.top,height:E.height},h(),F(),G,Q);Z&&Math.abs(P.tStart-v)<1&&Math.abs(P.tEnd-z)<1||(Z=true,v=P.tStart,z=P.tEnd);}let se=e.style.getPropertyValue("--scroll-draw-progress");function K(E){e.textContent=A(n+(o-n)*E),e.style.setProperty("--scroll-draw-progress",String(E));}let _=()=>Y(h(),v,z,1);function R(){let E=_(),P=m?Math.max(k,S(C=Math.max(C,E))):S(E);L=P,K(P),P>=1&&!O?(O=true,w?.()):P<1&&!m&&(O=false);}W();{C=Y(h(),v,z,1);let E=S(C);L=E,K(E);}let T=De(window,[e],_,R,W);ke(e,{type:"counter",getProgress:()=>L,getTrigger:()=>({tStart:v,tEnd:z})});let X=()=>T.hold(false);return {destroy(){T.off(),e.style.setProperty("--scroll-draw-progress",se),$e(e);},replay(){k=-1,C=0,O=false,L=0,K(0),X();},pause:()=>T.hold(true),resume:X,seek(E){let P=Math.min(1,Math.max(0,E));L=P,k=P,C=0,T.hold(true),K(P);},getProgress(){return L}}}var ir={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function ar(e,r={}){if(typeof window>"u")return ir;let t=typeof e=="string"?document.querySelector(e):e;if(!t||t.tagName.toLowerCase()!=="video")return $("scrollVideo: <video> element not found:",e),ir;let n=t,{trigger:o={},easing:s="linear",once:i=false,axis:c="y",preload:m="auto",triggerElement:g,onReady:w,onComplete:A,onProgress:S}=r,G=g??n,Q=window.matchMedia("(prefers-reduced-motion: reduce)").matches,v=Re(s),z=ae(o.start||"top top"),Z=ae(o.end||"bottom top");n.pause(),n.hasAttribute("preload")||(n.preload=m);let k=r.from??0,C=r.to,L=0,O=0,h=false,F=-1,W=0,se=0,K=false,_=false,R=()=>c==="x"?window.scrollX:window.scrollY,T=()=>c==="x"?window.innerWidth:window.innerHeight;function X(){let x=G.getBoundingClientRect(),M=c==="x"?x.left:x.top,re=c==="x"?x.width:x.height,Oe=Le({top:M,height:re},R(),T(),z,Z);L=Oe.tStart,O=Oe.tEnd,_&&O===L&&$("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n);}let E=NaN;function P(x){if(!_)return;let M=C??n.duration??0,re=k+(M-k)*x;re!==E&&(E=re,n.currentTime=re),n.style.setProperty("--scroll-draw-progress",String(x)),S?.(x);}let he=()=>Y(R(),L,O,1);function D(){if(!_||Q)return;let x=he(),M=i?Math.max(F,v(W=Math.max(W,x))):v(x);se=M,P(M),M>=1&&!K?(K=true,A?.()):M<1&&!i&&(K=false);}let q=De(window,[G],he,D,X),ue=()=>q.hold(h||!_||Q);ue();function Ee(){if(_=true,C===void 0&&(C=n.duration),Q){P(1),w?.();return}X(),w?.(),h?P(se):ue();}n.readyState>=1?Ee():n.addEventListener("loadedmetadata",Ee,{once:true}),_||X();let fe=Q?()=>{}:Je(x=>{x&&(fe(),Q=true,q.hold(true),P(1));});ke(n,{type:"video",getProgress:()=>se,getTrigger:()=>({tStart:L,tEnd:O})});function ie(){h&&(h=false,ue());}return {destroy(){q.off(),n.removeEventListener("loadedmetadata",Ee),fe(),$e(n);},replay(){F=-1,W=0,K=false,se=0,E=NaN,P(0),ie();},pause(){h=true,q.hold(true);},resume:ie,seek(x){let M=Math.min(1,Math.max(0,x));se=M,F=M,W=0,h=true,q.hold(true),E=NaN,P(M);},getProgress(){return se}}}var Zr=1e4;function lr(e){let{frames:r,count:t}=e;if(typeof r!="function")return st(e);let n=Number.isFinite(t)?Math.min(Math.max(Math.floor(t),0),Zr):0,o;try{o=Array.from({length:n},(s,i)=>r(i));}catch{o=["throws"];}return st({...e,frames:o})}function cr(e,r="<ScrollFrames>"){if(!e||e.getAttribute("aria-hidden")==="true")return;let t=e.getAttribute("role");t==="presentation"||t==="none"||e.getAttribute("aria-label")||e.getAttribute("aria-labelledby")||$(`${r}: the canvas has no aria-label. Say what the frames show, or set aria-hidden="true" if they are decoration.`,e);}var gt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function en(e){let r=e>1?[0,e-1]:[0],t=[[0,e-1]];for(let n=0;n<t.length;n++){let[o,s]=t[n];if(s-o<2)continue;let i=o+s>>1;r.push(i),t.push([o,i],[i,s]);}return r}function ur(e,r){if(typeof window>"u")return gt;let t=typeof e=="string"?document.querySelector(e):e;if(!t||t.tagName.toLowerCase()!=="canvas")return $("scrollFrames: <canvas> element not found:",e),gt;let n=t,{frames:o,trigger:s={},easing:i="linear",once:c=false,axis:m="y",fit:g="cover",triggerElement:w,onReady:A,onLoad:S,onComplete:G,onProgress:Q}=r||{},v=Array.isArray(o)?o:null,z=r?.count,Z=Math.floor(v?Math.min(z??v.length,v.length):z??NaN);if(!(v||typeof o=="function")||!Number.isFinite(Z)||Z<1)return $("scrollFrames: no frames. Pass `frames` as an array of URLs, or a function with a finite `count` of 1 or more.",n),gt;let k=r.concurrency??6;(!Number.isFinite(k)||k<1)&&($("scrollFrames: `concurrency` must be a finite number of 1 or more; using 6.",r.concurrency),k=6),k=Math.floor(k);let C=n.getContext("2d");if(!C)return $("scrollFrames: the canvas has no 2D context.",n),gt;let L=Z-1,O=w??n,h=window.matchMedia("(prefers-reduced-motion: reduce)").matches,F=Re(i),W=u=>{let p=F(u);return p===p?p:0},se=ae(s.start||"top top"),K=ae(s.end||"bottom top"),_=0,R=0,T=false,X=-1,E=0,P=0,he=false,D=false,q=false,ue=false,Ee=0,fe=-1,ie=new Array(Z),x=new Uint8Array(Z),M=new Set,re=h?[L]:en(Z),Oe=0,J=0,Fe=false,Se=(u,...p)=>{if(u)try{u(...p);}catch(b){typeof reportError=="function"?reportError(b):setTimeout(()=>{throw b});}},ye=false,_e=u=>{let p;try{p=v?v[u]:o(u);}catch(b){p=b;}return typeof p=="string"&&p?p:(ye||(ye=true,$(`scrollFrames: no URL for frame ${u}; it is skipped for its nearest neighbour.`,p)),null)},He=()=>m==="x"?window.scrollX:window.scrollY,Te=()=>m==="x"?window.innerWidth:window.innerHeight;function Pe(){!Fe&&J===re.length&&(Fe=true,Se(S));}function l(){for(;!D&&M.size<k&&Oe<re.length;){let u=re[Oe++];x[u]||d(u);}}function d(u){x[u]=1;let p=_e(u);if(p===null){J++,queueMicrotask(()=>{D||Pe();});return}let b=new Image,le=false,we=Ve=>{le||D||(le=true,b.onload=b.onerror=null,M.delete(b),Ve?ie[u]=b:$("scrollFrames: a frame failed to load; its nearest neighbour shows instead:",p),J++,l(),V(),Pe());};M.add(b),b.decoding="async",b.onerror=()=>we(false),b.src=p,typeof b.decode=="function"?b.decode().then(()=>we(true),()=>{b.complete?we(b.naturalWidth>0):b.onload=()=>we(true);}):b.onload=()=>we(true);}function ne(u){for(let p=0;p<=L;p++){if(ie[u-p])return u-p;if(ie[u+p])return u+p}return -1}function H(){let u=n.clientWidth,p=n.clientHeight;if(!u||!p)return;let b=Math.min(window.devicePixelRatio||1,2),le=Math.round(u*b),we=Math.round(p*b);if(Math.abs(n.width-le)<=1&&Math.abs(n.height-we)<=1)return;n.width=le,n.height=we,fe=-1;let Ve=n.clientWidth,Ce=n.clientHeight;if(Ve!==u||Ce!==p){let ze=n.style;Ve!==u&&Ce!==p?(ze.width=`${u}px`,ze.height=`${p}px`):ze.aspectRatio=`${u} / ${p}`;}}function V(){let u=ne(Ee);if(u<0||u===fe)return;let p=ie[u],b=n.width,le=n.height,we=p.naturalWidth||b,Ve=p.naturalHeight||le,Ce=(g==="contain"?Math.min:Math.max)(b/we,le/Ve),ze=we*Ce,We=Ve*Ce;C.clearRect(0,0,b,le),C.drawImage(p,(b-ze)/2,(le-We)/2,ze,We),fe=u,q||(q=true,Se(A));}function B(u){Ee=Math.min(L,Math.max(0,Math.round(u*L))),n.style.setProperty("--scroll-draw-progress",String(u)),V(),Se(Q,u,Ee);}function j(){let u=O.getBoundingClientRect(),p=m==="x"?u.left:u.top,b=m==="x"?u.width:u.height,le=Le({top:p,height:b},He(),Te(),se,K);_=le.tStart,R=le.tEnd,R===_&&b>0&&!h&&!ue&&(ue=true,$("scrollFrames: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n));}let Ne=()=>Y(He(),_,R,1);function oe(){if(h)return;let u=Ne(),p=c?Math.max(X,W(E=Math.max(E,u))):W(u);P=p,B(p),p>=1&&!he?(he=true,Se(G)):p<1&&!c&&(he=false);}function Ie(){P=1,B(1);}H(),h||j();let be=De(window,[O],Ne,oe,()=>{H(),h||j(),V();}),Ye=()=>be.hold(T||h);Ye(),h&&Ie(),l();let je=typeof ResizeObserver=="function"?new ResizeObserver(()=>{H(),V();}):null;je?.observe(n);let Ue=h?()=>{}:Je(u=>{u&&(Ue(),h=true,be.hold(true),re=re.slice(0,Oe),x[L]||re.push(L),Pe(),Ie(),l());});ke(n,{type:"frames",getProgress:()=>P,getTrigger:()=>({tStart:_,tEnd:R})});function me(){D||!T||(T=false,Ye());}return {destroy(){if(!D){D=true,be.off(),je?.disconnect(),Ue();for(let u of M)u.onload=u.onerror=null,u.src="";M.clear(),$e(n);}},replay(){D||(X=-1,E=0,he=false,P=0,B(0),me());},pause(){D||(T=true,be.hold(true));},resume:me,seek(u){if(D)return;let p=Math.min(1,Math.max(0,u===u?u:0));P=p,X=p,E=0,T=true,be.hold(true),B(p);},getProgress(){return P}}}function fr(e,{triggerElement:r,...t},n){let o=r;return typeof r=="string"&&typeof document<"u"&&(o=document.querySelector(r),o||$(`scrollFrames: triggerElement "${r}" matches nothing; measuring the canvas.`)),ur(e,{...t,frames:n.frames,triggerElement:o??void 0})}function mr(e,r){let t=document.createElement("span");t.textContent=r,t.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(t);}function ht(e=""){let r=document.createElement("span");return r.setAttribute("aria-hidden","true"),r.textContent=e,r}function dr(e){let r=e.textContent??"";return e.textContent="",r.split(/(\s+)/).filter(Boolean).map(t=>{let n=e.appendChild(ht(t)),o=/^\s+$/.test(t);return o?n.style.whiteSpace="pre":n.style.display="inline-block",o?null:n}).filter(t=>t!==null)}function tn(e){let r=e.textContent??"";e.textContent="";let t=[],n=null;for(let o of r){let s=ht(o),i=o===" ";i?s.style.whiteSpace="pre":(s.style.display="inline-block",t.push(s)),i||o>"\u0DFF"?n=null:n||(n=e.appendChild(ht()),n.style.cssText="display:inline-block;white-space:nowrap"),(n??e).appendChild(s);}return t}function pr(e){let r=dr(e),t=new Map;for(let s of r){let i=s.offsetTop;t.has(i)||t.set(i,[]),t.get(i).push(s);}let n=[],o=Array.from(t.keys()).sort((s,i)=>s-i);for(let s of o){let i=t.get(s),c=ht();c.style.display="inline-block",i.forEach((m,g)=>{let w=m.nextElementSibling;c.appendChild(m),g<i.length-1&&w&&w.style.whiteSpace==="pre"&&c.appendChild(w);}),n.push(c);}return e.textContent="",n.forEach((s,i)=>{e.appendChild(s),i<n.length-1&&e.appendChild(document.createTextNode(" "));}),n}function rn(e,r,t,n){if(t<=1||n===0)return e;n=Math.min(n,1/t);let o=(t-1)*n,s=r*n,i=s+(1-o);return i<=s?e>=s?1:0:rt((e-s)/(i-s),0,1)}function nn(e,r){let t=[];if(r?.y!==void 0&&t.push(`translateY(${r.y*(1-e)}px)`),r?.x!==void 0&&t.push(`translateX(${r.x*(1-e)}px)`),r?.rotate!==void 0&&t.push(`rotate(${r.rotate*(1-e)}deg)`),r?.scale!==void 0){let n=r.scale+(1-r.scale)*e;t.push(`scale(${n})`);}return t.join(" ")}var Tt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function gr(e,r={}){if(typeof window>"u")return Tt;let t=typeof e=="string"?document.querySelector(e):e;if(!t)return $("scrollText: element not found:",e),Tt;let n=t;return Be(r,(o,s)=>on(n,o,s))}function on(e,r,t){let{split:n="words",stagger:o=.04,easing:s="ease-out",from:i={opacity:0,y:24},trigger:c={},once:m=true,onComplete:g}=r,w=Re(s,"ease-out"),A=ae(c.start||"top 85%"),S=ae(c.end||"top 40%"),G=e.innerHTML,Q=e.textContent??"",v;n==="chars"?v=tn(e):n==="lines"?v=pr(e):v=dr(e),mr(e,Q);let z=v.length;function Z(T,X){i?.opacity!==void 0&&(T.style.opacity=String(i.opacity+(1-i.opacity)*X));let E=nn(X,i);E&&(T.style.transform=E);}function k(T){e.style.setProperty("--scroll-draw-progress",String(T)),v.forEach((X,E)=>{let P=w(rn(T,E,z,o));Z(X,P);});}if(t)return k(1),g?.(),{...Tt,destroy:()=>{e.innerHTML=G;},getProgress:()=>1};k(0);let C=0,L=0,O=-1,h=0,F=false;function W(){({tStart:C,tEnd:L}=Le(e.getBoundingClientRect(),window.scrollY,window.innerHeight,A,S));}let se=()=>Y(window.scrollY,C,L,1);function K(){let T=m?O=Math.max(O,se()):se();h=T,k(T),T>=1&&!F?(F=true,g?.()):T<1&&!m&&(F=false);}W();let _=De(window,[e],se,K,()=>{n==="lines"&&(e.innerHTML=G,v=pr(e),mr(e,Q),k(h)),W();});ke(e,{type:"text",getProgress:()=>h,getTrigger:()=>({tStart:C,tEnd:L})});let R=()=>_.hold(false);return {destroy(){_.off(),e.innerHTML=G,$e(e);},replay(){O=-1,F=false,h=0,k(0),R();},pause:()=>_.hold(true),resume:R,seek(T){_.hold(true),k(h=O=rt(T,0,1));},getProgress(){return h}}}var qe=class{constructor(r,t=st){this.create=r;this.keyOf=t;this.instance=null;this.el=null;this.key="";}init(r,t){return this.destroy(),this.el=r,this.latest=t,this.key=this.keyOf(t),this.instance=this.create(r,Jt(t,()=>this.latest),t),this}update(r){return this.el?this.keyOf(r)!==this.key?this.init(this.el,r):(this.latest=r,this):this}replay(){return this.instance?.replay(),this}pause(){return this.instance?.pause(),this}resume(){return this.instance?.resume(),this}seek(r){return this.instance?.seek(r),this}getProgress(){return this.instance?.getProgress()??0}destroy(){return this.instance?.destroy(),this.instance=this.el=null,this}},hr=class extends qe{constructor(){super(Kt);}init(r,t={}){return super.init(r,t)}},yr=class extends qe{constructor(){super(or);}},br=class extends qe{constructor(){super(sr);}},wr=class extends qe{constructor(){super(ar);}init(r,t={}){return super.init(r,t)}},vr=class extends qe{constructor(){super(fr,lr);this.named=null;}init(t,n){return this.named!==t&&cr(t,"ScrollFramesRef"),this.named=t,super.init(t,n)}},Er=class extends qe{constructor(){super(gr);}init(r,t={}){return super.init(r,t)}};exports.EngineRef=qe;exports.ScrollAnimateRef=yr;exports.ScrollCounterRef=br;exports.ScrollDrawRef=hr;exports.ScrollFramesRef=vr;exports.ScrollTextRef=Er;exports.ScrollVideoRef=wr;
3
+ <div style="position:absolute;${m?`left:${c}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${c}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",o,{passive:true}),o(),{el:n,destroy(){window.removeEventListener("scroll",o),n.remove();}}}var Yt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Qt=/[MmLlHhVvCcSsQqTtAaZz]/g;function Wr(e,r,t){if(!Ke)return;let n=(e.match(Qt)??[]).join("").toUpperCase(),o=(r.match(Qt)??[]).join("").toUpperCase(),s=(e.match(Yt)??[]).length,i=(r.match(Yt)??[]).length;if(n!==o){A(`morphTo: command sequence differs (${n||"\u2205"} \u2192 ${o||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,t);return}s!==i&&A(`morphTo: coordinate count differs (${s} \u2192 ${i}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,t);}function Gr(e,r,t){let n=(r.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let i=parseFloat(s),c=n[o++]??i;return String(+(i+(c-i)*t).toFixed(4))})}function Kt(e,r={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:Be(r,(t,n)=>Br(e,t,n))}function Br(e,r,t){let{preset:n,...o}=r,s=n?{...Vt[n],...o}:o,{selector:i="path, polyline, line, polygon, rect, circle",speed:c=1,fade:m=false,easing:g="linear",trigger:w={},stagger:k=0,direction:x="forward",once:$=false,debug:z=false,axis:T="y",scrollContainer:q,autoReverse:G=false,delay:M=0,strokeColor:P,strokeWidth:C,fillOpacity:W,waypoints:b,velocityScale:O=false,threshold:D=0,rootMargin:Z="0px",repeat:se=0,repeatDelay:F=0,morphTo:H,clip:h,autoplay:L=false,duration:ee=1e3,native:te=true,onProgress:he,onStart:N,onComplete:j,onEnter:ue,onLeave:Ee,onEnterBack:fe,onLeaveBack:ie}=s,E=h===true?"left":typeof h=="string"?h:false,S=Re(g),re=ae(w.start||"top bottom"),Oe=ae(w.end||"bottom top"),K=typeof q=="string"?document.querySelector(q):q??null,Fe=Array.isArray(P)?P[0]:null,Se=Array.isArray(P)?P[1]:typeof P=="string"?P:null,ye=Array.isArray(C)?C[0]:null,_e=Array.isArray(C)?C[1]:typeof C=="number"?C:null,He=Array.isArray(W)?W[0]:null,Te=Array.isArray(W)?W[1]:typeof W=="number"?W:null;function Ce(a){let f=a*100;switch(E){case "right":return `inset(0 0 0 ${100-f}%)`;case "top":return `inset(0 0 ${100-f}% 0)`;case "bottom":return `inset(${100-f}% 0 0 0)`;case "center":return `circle(${a*150}% at 50% 50%)`;default:return `inset(0 ${100-f}% 0 0)`}}let l=E?[]:Array.from(e.querySelectorAll(i)),d=[],ne=[],I=0,V=0,B=k,U=0,Ne=0,oe=false,Ie=false,be=0,Ye=-1,je=[],Ue=-1,me=false,u=0,p=0,v,le=false,we=null;function Ve(){we?.destroy(),we=null;}let Pe=new Set,ze=NaN,We=true,it=-1,xt=performance.now(),Qe=NaN;function at(){return K?T==="x"?K.scrollLeft:K.scrollTop:T==="x"?window.scrollX:window.scrollY}function Mt(){return K?T==="x"?K.clientWidth:K.clientHeight:T==="x"?window.innerWidth:window.innerHeight}function Lt(){let a=lt(e,K,T);return Le(a,a.scroll,Mt(),re,Oe)}function Sr(){let a=V-I,f=l.length-1,y=K??document.documentElement,_=T==="x"?"Width":"Height";if(B=k,k>0&&f>0&&a>0){let pe=y[`scroll${_}`]-y[`client${_}`]-1-I-a/c;pe>=0&&(B=Math.min(k,pe/(f*a)));}let ce=Math.max(0,f)*B*a,xe=a/Math.min(c,1);U=I+Math.min(0,ce,xe,ce+xe),Ne=I+Math.max(0,ce,xe,ce+xe);}function Ct(){(({tStart:I,tEnd:V}=Lt())),Sr(),z&&Ke&&(Ve(),we=zr(I,V,T));}function yt(a,f=Lt){ke(e,{type:"draw",getProgress:()=>a.getProgress(),getTrigger:f});let y=a.destroy;return a.destroy=()=>{y.call(a),$e(e);},a}function Pt(a,f){return $&&!G?Math.max(Ye,S(je[a]=Math.max(je[a]??0,f))):S(f)}function Tr(a,f){if(e.style.setProperty("--scroll-draw-progress",String(a)),E){let y=f==="reverse"?1-a:a;e.style.clipPath=Ce(y);return}l.forEach((y,_)=>bt(y,_,a,f));}function bt(a,f,y,_){a.style.strokeDashoffset=_==="reverse"?`${d[f]*y}`:`${d[f]*(1-y)}`,m&&(a.style.opacity=_==="reverse"?`${1-y}`:`${y}`),Fe&&Se?a.style.stroke=ft(Fe,Se,y):Se&&(a.style.stroke=Se),ye!==null&&_e!==null?a.style.strokeWidth=`${ye+(_e-ye)*y}`:_e!==null&&(a.style.strokeWidth=`${_e}`),He!==null&&Te!==null?a.style.fillOpacity=`${He+(Te-He)*y}`:Te!==null&&(a.style.fillOpacity=`${Te}`),H&&a.tagName.toLowerCase()==="path"&&ne[f]&&a.setAttribute("d",Gr(ne[f],H,y));}function wt(){if(e.style.setProperty("--scroll-draw-progress","0"),E){e.style.clipPath=Ce(x==="reverse"?1:0);return}l.forEach((a,f)=>{a.style.strokeDasharray=ut(d[f]),a.style.strokeDashoffset=x==="reverse"?"0":`${d[f]}`,m?a.style.opacity=x==="reverse"?"1":"0":a.style.opacity="",Fe&&(a.style.stroke=Fe),ye!==null&&(a.style.strokeWidth=`${ye}`),He!==null&&(a.style.fillOpacity=`${He}`),H&&a.tagName.toLowerCase()==="path"&&ne[f]&&a.setAttribute("d",ne[f]);});}function Ze(a,f){let y=a.getAttribute("d"),_=ct(a);if(H&&ne[f]){a.setAttribute("d",H);let ce=ct(a);a.setAttribute("d",ne[f]),_=Math.max(ct(a),ce),a.setAttribute("d",y);}d[f]=_,a.style.strokeDasharray=ut(_);}if(l.forEach((a,f)=>{Vr(a);let y=a.tagName.toLowerCase()==="path";y?ne.push(a.getAttribute("d")??""):ne.push(""),Ze(a,f);let _=d[f];H&&(y?Wr(ne[ne.length-1],H,a):A(`morphTo only applies to <path> elements \u2014 ignored on <${a.tagName}>.`,a)),t?(a.style.strokeDashoffset=x==="reverse"?`${_}`:"0",m&&(a.style.opacity="1"),Se&&(a.style.stroke=Se),_e!==null&&(a.style.strokeWidth=`${_e}`),Te!==null&&(a.style.fillOpacity=`${Te}`),H&&a.tagName.toLowerCase()==="path"&&a.setAttribute("d",H)):(a.style.strokeDashoffset=x==="reverse"?"0":`${_}`,m?a.style.opacity=x==="reverse"?"1":"0":a.style.opacity="",Fe&&(a.style.stroke=Fe),ye!==null&&(a.style.strokeWidth=`${ye}`),He!==null&&(a.style.fillOpacity=`${He}`));}),t)return E&&(e.style.clipPath=Ce(1)),j?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};E&&(e.style.clipPath=Ce(x==="reverse"?1:0));let At=typeof g=="string"?mt(g):null;function xr(){return !(te===false||L||z&&Ke||!_r()||!l.length||!At||E||T!=="y"||K||c!==1||k!==0||$||G||O!==false||H||b||se||M>0||he||N||j||ue||Ee||fe||ie||P!=null||C!=null||W!=null||(w.start||"top bottom").trim()!=="top bottom"||(w.end||"bottom top").trim()!=="bottom top")}function Mr(){let a=++Nr,f=`svg-scroll-draw-${a}`,y=`svg-scroll-draw-host-${a}`,_=`--svg-scroll-draw-${a}`,ce=x==="reverse"?"0":"var(--ssd-len)",xe=x==="reverse"?"var(--ssd-len)":"0",pe=`stroke-dashoffset:${ce};`,X=`stroke-dashoffset:${xe};`;m&&(pe+=`opacity:${x==="reverse"?1:0};`,X+=`opacity:${x==="reverse"?0:1};`);let J=document.createElement("style");J.setAttribute("data-svg-scroll-draw",""),J.textContent=`@keyframes ${f}{from{${pe}}to{${X}}}.${y}{view-timeline-name:${_};view-timeline-axis:block;}.${f}{animation-name:${f};animation-duration:auto;animation-timing-function:${At};animation-fill-mode:both;animation-timeline:${_};animation-range:cover 0% cover 100%;}`,document.head.appendChild(J),e.classList.add(y);function ve(R,Y){R.style.setProperty("--ssd-len",String(d[Y])),R.style.strokeDasharray=ut(d[Y]),R.style.strokeDashoffset="",R.style.opacity="",R.style.animationPlayState="",R.classList.add(f);}l.forEach(ve);let de=false,Me=-1;function Ae(){if(Me>=0)return Me;let R=e.getBoundingClientRect(),{tStart:Y,tEnd:ge}=Le({top:R.top,height:R.height},at(),Mt(),re,Oe);return S(Q(at(),Y,ge,c))}return {destroy(){e.classList.remove(y),l.forEach(R=>{R.classList.remove(f),R.style.removeProperty("--ssd-len"),R.style.animationPlayState="";}),J.remove();},replay(){de=false,Me=-1,l.forEach(ve);},pause(){de=true,l.forEach(R=>{R.style.animationPlayState="paused";});},resume(){de&&(de=false,l.forEach(R=>{R.style.animationPlayState="running";}));},seek(R){let Y=Math.min(1,Math.max(0,R));Me=Y,de=true,l.forEach((ge,Ge)=>{ge.classList.remove(f),ge.style.strokeDashoffset=x==="reverse"?`${d[Ge]*Y}`:`${d[Ge]*(1-Y)}`,m&&(ge.style.opacity=x==="reverse"?`${1-Y}`:`${Y}`);});},getProgress(){return Ae()},refresh(){l.forEach((R,Y)=>{Ze(R,Y),R.style.setProperty("--ssd-len",String(d[Y]));});}}}if(xr())return yt(Mr());function Lr(){let a=Math.max(1,ee),f=E?a:a*(1+Math.max(0,l.length-1)*k),y=0,_=0,ce=false;function xe(Me){let Ae=true,R=Math.min(1,Math.max(0,Me/f));if(E){let Y=Math.min(1,Math.max(0,Me/a)),ge=S(Y);u=ge,e.style.setProperty("--scroll-draw-progress",String(ge)),e.style.clipPath=Ce(x==="reverse"?1-ge:ge),he?.(ge),Y<1&&(Ae=false);}else {l.forEach((ge,Ge)=>{let Pr=Ge*k*a,Ht=Math.min(1,Math.max(0,(Me-Pr)/a));bt(ge,Ge,S(Ht),x),Ht<1&&(Ae=false);});let Y=S(R);u=Y,he?.(Y),e.style.setProperty("--scroll-draw-progress",String(Y));}if(b){let Y=S(R);for(let ge in b){let Ge=parseFloat(ge);Y>=Ge&&!Pe.has(Ge)&&(Pe.add(Ge),b[ge]?.());}}return Ae}function pe(Me){if(me)return;let Ae=Me-y;Ie||(Ie=true,N?.());let R=xe(Ae);if(R&&!oe){oe=true,xe(f),j?.(),p<(se==="infinite"?1/0:se??0)&&(p++,v=setTimeout(()=>{y=performance.now(),Ie=false,oe=false,Pe.clear(),wt(),be=requestAnimationFrame(pe);},F));return}R||(be=requestAnimationFrame(pe));}function X(){cancelAnimationFrame(be),clearTimeout(v),y=performance.now(),_=0,me=false,Ie=false,oe=false,p=0,ce=true,u=0,Pe.clear(),wt(),be=requestAnimationFrame(pe);}let J=new IntersectionObserver(Me=>{Me.forEach(Ae=>{Ae.isIntersecting&&!($&&oe)?X():!Ae.isIntersecting&&!$&&!oe&&(cancelAnimationFrame(be),clearTimeout(v),ce=false);});},{root:K??null,threshold:D,rootMargin:Z}),ve;function de(){clearTimeout(ve),ve=setTimeout(()=>l.forEach(Ze),150);}return window.addEventListener("resize",de),window.addEventListener("orientationchange",de),M>0?setTimeout(()=>J.observe(e),M):J.observe(e),{destroy(){cancelAnimationFrame(be),clearTimeout(v),J.disconnect(),window.removeEventListener("resize",de),window.removeEventListener("orientationchange",de),clearTimeout(ve);},replay(){p=0,X();},pause(){me||!ce||(me=true,_=performance.now()-y,cancelAnimationFrame(be));},resume(){me&&(me=false,ce=true,y=performance.now()-_,be=requestAnimationFrame(pe));},seek(Me){let Ae=Math.min(1,Math.max(0,Me));u=Ae,me=true,_=Ae*f,y=performance.now()-_,cancelAnimationFrame(be),xe(_);},getProgress(){return u},refresh(){clearTimeout(ve),l.forEach(Ze);}}}if(L)return yt(Lr());Ct();let kt=()=>Q(at(),U,Ne,1);function $t(){oe=true,j?.(),p<(se==="infinite"?1/0:se)&&(p++,v=setTimeout(()=>{le=true;},F));}function Ot(){Ye=-1,je=[],Ie=false,oe=false,le=false,Pe.clear(),wt(),We=true;}function Cr(){let a=performance.now(),f=at();if(le&&kt()%1&&Ot(),!We&&O===false&&f===ze)return;We=false,ze=f;let y=c;if(O!==false){let X=a-xt,J=X>0?Math.abs(f-(it<0?f:it))/X:0;y=c*Math.max(.2,1+J*(typeof O=="number"?O:1)*.04);}it=f,xt=a;let _=G?Ue===-1||f>=Ue?"forward":"reverse":x;Ue=f;let ce=V-I,xe=true,pe=ce===0?0:(f-I)/ce;if(isNaN(Qe)||(Qe<=0&&pe>0&&ue?.(),Qe<1&&pe>=1&&Ee?.(),Qe>=1&&pe<1&&fe?.(),Qe>0&&pe<=0&&ie?.()),Qe=pe,E){let X=Pt(0,Q(f,I,V,y));u=X,e.style.setProperty("--scroll-draw-progress",String(X));let J=_==="reverse"?1-X:X;e.style.clipPath=Ce(J),he?.(X),!Ie&&Q(f,I,V,y)>0&&(Ie=true,N?.()),X>=1&&!oe?$t():X<1&&!$&&(oe=false);return}if(l.forEach((X,J)=>{let ve=J*B*ce,de=Pt(J,Q(f,I+ve,V+ve,y));bt(X,J,de,_),J===0&&(u=de,he?.(de),e.style.setProperty("--scroll-draw-progress",String(de))),de<1&&(xe=false);}),b){let X=S(Q(f,I,V,y));for(let J in b){let ve=parseFloat(J);X>=ve&&!Pe.has(ve)&&(Pe.add(ve),b[J]?.());}}!Ie&&Q(f,I,V,y)>0&&(Ie=true,N?.()),xe&&!oe?$t():!xe&&!$&&(oe=false);}let et=De(K??window,[e],kt,Cr,()=>{let a=d.join();l.forEach(Ze),Ct(),We=true,d.join()!==a&&tt();}),vt=M>0;function tt(){et.hold(me||vt);}let Ft;return vt&&(Ft=setTimeout(()=>{vt=false,tt();},M)),tt(),yt({destroy(){clearTimeout(v),clearTimeout(Ft),et.off(),Ve();},replay(){Ot(),Ue=-1,it=-1,p=0,me=false,u=0,clearTimeout(v),tt();},pause(){me=true,et.hold(true);},resume(){me&&(me=false,We=true,tt());},seek(a){let f=Math.min(1,Math.max(0,a));u=f,Ye=f,je=[],me=true,et.hold(true),Tr(f,x),We=true;},getProgress(){return u},refresh:et.remeasure},()=>({tStart:I,tEnd:V}))}var Xt=new WeakMap,qr=0;function st(e){return JSON.stringify(e,(r,t)=>{if(typeof t=="function")return "\u0192";if(typeof Element<"u"&&t instanceof Element){let n=Xt.get(t);return n===void 0&&Xt.set(t,n=++qr),`el#${n}`}return t})}function Jt(e,r){let t={...e};for(let n of Object.keys(t))typeof t[n]=="function"&&(t[n]=(...o)=>r()[n]?.(...o));return t}function jr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Zt(e){let r=[],t=/([\w]+)\(([^)]*)\)/g,n;for(;(n=t.exec(e))!==null;){let o=[],s=[],i=n[2].trim();if(i)for(let c of i.split(/[\s,]+/)){let m=c.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(m?parseFloat(m[1]):0),s.push(m?m[2]:"");}r.push({fn:n[1],nums:o,units:s});}return r}function Ur(e,r,t){let n=Zt(e),o=Zt(r);return n.length===0||n.length!==o.length?t<1?e:r:n.map((s,i)=>{let c=o[i];return s.fn!==c.fn||s.nums.length!==c.nums.length?t<1?`${s.fn}(${s.nums.map((m,g)=>`${m}${s.units[g]}`).join(", ")})`:`${c.fn}(${c.nums.map((m,g)=>`${m}${c.units[g]}`).join(", ")})`:`${s.fn}(${s.nums.map((m,g)=>`${m+(c.nums[g]-m)*t}${s.units[g]}`).join(", ")})`}).join(" ")}function er(e,r,t){if(typeof e=="number"&&typeof r=="number")return String(e+(r-e)*t);let n=String(e),o=String(r);if(jr(n))return ft(n,o,t);if(n.includes("("))return Ur(n,o,t);let s=n.match(/^([-+]?[\d.]+)(.*)$/),i=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&i){let c=parseFloat(s[1]),m=parseFloat(i[1]);return `${c+(m-c)*t}${s[2]||i[2]}`}return t<1?n:o}function Yr(e){return e.replace(/([A-Z])/g,r=>`-${r.toLowerCase()}`)}var Qr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Kr=0,tr="--scroll-draw-progress";function Xr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var nr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function or(e,r){return typeof window>"u"?nr:r.respectReducedMotion===false?rr(e,r,false):Be(r,(t,n)=>rr(e,t,n))}function rr(e,r,t){let{props:n,trigger:o={},easing:s="ease-out",speed:i=1,once:c=false,axis:m="y",scrollContainer:g,native:w=true,velocityScale:k=false,triggerElement:x,onProgress:$,onComplete:z,onEnter:T,onLeave:q,onEnterBack:G,onLeaveBack:M}=r,P=Re(s,"ease-out"),C=ae(o.start||"top bottom"),W=ae(o.end||"bottom top"),b=x??e,O=typeof g=="string"?document.querySelector(g):g??null,D=Object.entries(n).map(([l,d])=>({prop:Yr(l),from:Array.isArray(d)?d[0]:"",to:Array.isArray(d)?d[1]:d}));function Z(){let l=window.getComputedStyle(e);for(let d of D)d.from===""&&(d.from=l.getPropertyValue(d.prop).trim()||"0");}function se(){for(let l of D)e.style.setProperty(l.prop,String(l.to));}let F=new Map;for(let l of [...D.map(d=>d.prop),tr])F.set(l,e.style.getPropertyValue(l));function H(){for(let[l,d]of F)d?e.style.setProperty(l,d):e.style.removeProperty(l);}if(t)return se(),z?.(),{...nr,destroy:H,getProgress:()=>1};Z();let h=()=>O?m==="x"?O.scrollLeft:O.scrollTop:m==="x"?window.scrollX:window.scrollY,L=()=>O?m==="x"?O.clientWidth:O.clientHeight:m==="x"?window.innerWidth:window.innerHeight,ee=typeof s=="string"?mt(s):null;function te(){if(!w||!Xr()||!ee||m!=="y"||O||b!==e||c||i!==1||$||z||T||q||G||M||k!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let l of D)if(!Qr.has(l.prop))return false;return true}function he(){let l=`ssd-a-${++Kr}`,d=D.map(U=>`${U.prop}:${U.from}`).join(";"),ne=D.map(U=>`${U.prop}:${U.to}`).join(";"),I=document.createElement("style");I.setAttribute("data-ssd-animate",""),I.textContent=`@keyframes ${l}{from{${d}}to{${ne}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${ee};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(I),e.classList.add(l);let V=()=>{let U=e.getBoundingClientRect();return Le({top:U.top,height:U.height},h(),L(),C,W)};ke(e,{type:"animate",getProgress:()=>B.getProgress(),getTrigger:V});let B={refresh(){},destroy(){e.classList.remove(l),I.remove(),e.style.animationPlayState="",H(),$e(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(U){let Ne=Math.min(1,Math.max(0,U));e.classList.remove(l);for(let oe of D)e.style.setProperty(oe.prop,er(oe.from,oe.to,Ne));},getProgress(){let{tStart:U,tEnd:Ne}=V();return P(Q(h(),U,Ne,i))}};return B}if(te())return he();let N=0,j=0,ue=false,Ee=-1,fe=0,ie=0,E=false,S=NaN,re=-1,Oe=0,K=b===e?D:[],Fe=false;function Se(){let l=e.style,d=K.map(B=>l.getPropertyValue(B.prop)),ne=l.transition;K.length&&(l.transition="none"),K.forEach(B=>l.setProperty(B.prop,F.get(B.prop)??""));let I=lt(b,O,m);K.forEach((B,U)=>l.setProperty(B.prop,d[U])),K.length&&(e.offsetWidth,l.transition=ne);let V=Le(I,I.scroll,L(),C,W);Fe&&Math.abs(V.tStart-N)<1&&Math.abs(V.tEnd-j)<1||(Fe=true,N=V.tStart,j=V.tEnd);}function ye(l){e.style.setProperty(tr,String(l));for(let d of D)e.style.setProperty(d.prop,er(d.from,d.to,l));$?.(l);}function _e(l){if(isNaN(S)){S=l;return}S<=0&&l>0&&T?.(),S<1&&l>=1&&q?.(),S>=1&&l<1&&G?.(),S>0&&l<=0&&M?.(),S=l;}function He(){if(ue)return;let l=performance.now(),d=h(),ne=i;if(k!==false){let U=l-Oe,Ne=U>0?Math.abs(d-(re<0?d:re))/U:0;ne=i*Math.max(.2,1+Ne*(typeof k=="number"?k:1)*.04);}re=d,Oe=l;let I=j===N?0:(d-N)/(j-N);_e(I);let V=Q(d,N,j,ne),B=c?Math.max(Ee,P(fe=Math.max(fe,V))):P(V);ie=B,ye(B),B>=1&&!E?(E=true,z?.()):B<1&&!c&&(E=false);}let Te=De(O??window,[b],()=>Q(h(),N,j,Math.min(i,1)),He,Se);Se(),j===N&&A("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),fe=Q(h(),N,j,i),ie=P(fe),ye(ie),ke(e,{type:"animate",getProgress:()=>ie,getTrigger:()=>({tStart:N,tEnd:j})});function Ce(){ue=true,Te.hold(true);}return {destroy(){ue=true,Te.off(),H(),$e(e);},replay(){Ee=-1,fe=0,E=false,ie=0,ue=false,ye(0),Te.hold(false);},pause:Ce,resume(){ue&&(ue=false,Te.hold(false));},seek(l){let d=Math.min(1,Math.max(0,l));ie=d,Ee=d,fe=0,Ce(),ye(d);},getProgress(){return ie},refresh:Te.remeasure}}var Jr=({decimals:e,format:r})=>e!==void 0?t=>t.toFixed(e):r??(t=>String(Math.round(t)));var St={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function sr(e,r){if(typeof window>"u")return St;let t=typeof e=="string"?document.querySelector(e):e;return t?Be(r,(n,o)=>Zr(t,n,o)):(A("scrollCounter: element not found:",e),St)}function Zr(e,r,t){let{from:n=0,to:o,easing:s="ease-out",trigger:i={},once:c=true,onComplete:m}=r,g=Jr(r),w=Re(s,"ease-out"),k=ae(i.start||"top 80%"),x=ae(i.end||"top 20%");if(t)return e.textContent=g(o),m?.(),{...St,getProgress:()=>1};let $=0,z=0,T=false,q=-1,G=0,M=0,P=false,C=()=>window.scrollY,W=()=>window.innerHeight;function b(){let h=e.getBoundingClientRect(),L=Le({top:h.top,height:h.height},C(),W(),k,x);T&&Math.abs(L.tStart-$)<1&&Math.abs(L.tEnd-z)<1||(T=true,$=L.tStart,z=L.tEnd);}let O=e.style.getPropertyValue("--scroll-draw-progress");function D(h){e.textContent=g(n+(o-n)*h),e.style.setProperty("--scroll-draw-progress",String(h));}let Z=()=>Q(C(),$,z,1);function se(){let h=Z(),L=c?Math.max(q,w(G=Math.max(G,h))):w(h);M=L,D(L),L>=1&&!P?(P=true,m?.()):L<1&&!c&&(P=false);}b();{G=Q(C(),$,z,1);let h=w(G);M=h,D(h);}let F=De(window,[e],Z,se,b);ke(e,{type:"counter",getProgress:()=>M,getTrigger:()=>({tStart:$,tEnd:z})});let H=()=>F.hold(false);return {destroy(){F.off(),e.style.setProperty("--scroll-draw-progress",O),$e(e);},replay(){q=-1,G=0,P=false,M=0,D(0),H();},pause:()=>F.hold(true),resume:H,seek(h){let L=Math.min(1,Math.max(0,h));M=L,q=L,G=0,F.hold(true),D(L);},getProgress(){return M}}}var ir={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function ar(e,r={}){if(typeof window>"u")return ir;let t=typeof e=="string"?document.querySelector(e):e;if(!t||t.tagName.toLowerCase()!=="video")return A("scrollVideo: <video> element not found:",e),ir;let n=t,{trigger:o={},easing:s="linear",once:i=false,axis:c="y",preload:m="auto",triggerElement:g,onReady:w,onComplete:k,onProgress:x}=r,$=g??n,z=window.matchMedia("(prefers-reduced-motion: reduce)").matches,T=Re(s),q=ae(o.start||"top top"),G=ae(o.end||"bottom top");n.pause(),n.hasAttribute("preload")||(n.preload=m);let M=r.from??0,P=r.to,C=0,W=0,b=false,O=-1,D=0,Z=0,se=false,F=false,H=()=>c==="x"?window.scrollX:window.scrollY,h=()=>c==="x"?window.innerWidth:window.innerHeight;function L(){let E=$.getBoundingClientRect(),S=c==="x"?E.left:E.top,re=c==="x"?E.width:E.height,Oe=Le({top:S,height:re},H(),h(),q,G);C=Oe.tStart,W=Oe.tEnd,F&&W===C&&A("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n);}let ee=NaN;function te(E){if(!F)return;let S=P??n.duration??0,re=M+(S-M)*E;re!==ee&&(ee=re,n.currentTime=re),n.style.setProperty("--scroll-draw-progress",String(E)),x?.(E);}let he=()=>Q(H(),C,W,1);function N(){if(!F||z)return;let E=he(),S=i?Math.max(O,T(D=Math.max(D,E))):T(E);Z=S,te(S),S>=1&&!se?(se=true,k?.()):S<1&&!i&&(se=false);}let j=De(window,[$],he,N,L),ue=()=>j.hold(b||!F||z);ue();function Ee(){if(F=true,P===void 0&&(P=n.duration),z){te(1),w?.();return}L(),w?.(),b?te(Z):ue();}n.readyState>=1?Ee():n.addEventListener("loadedmetadata",Ee,{once:true}),F||L();let fe=z?()=>{}:Je(E=>{E&&(fe(),z=true,j.hold(true),te(1));});ke(n,{type:"video",getProgress:()=>Z,getTrigger:()=>({tStart:C,tEnd:W})});function ie(){b&&(b=false,ue());}return {destroy(){j.off(),n.removeEventListener("loadedmetadata",Ee),fe(),$e(n);},replay(){O=-1,D=0,se=false,Z=0,ee=NaN,te(0),ie();},pause(){b=true,j.hold(true);},resume:ie,seek(E){let S=Math.min(1,Math.max(0,E));Z=S,O=S,D=0,b=true,j.hold(true),ee=NaN,te(S);},getProgress(){return Z}}}var en=1e4;function lr(e){let{frames:r,count:t}=e;if(typeof r!="function")return st(e);let n=Number.isFinite(t)?Math.min(Math.max(Math.floor(t),0),en):0,o;try{o=Array.from({length:n},(s,i)=>r(i));}catch{o=["throws"];}return st({...e,frames:o})}function cr(e,r="<ScrollFrames>"){if(!e||e.getAttribute("aria-hidden")==="true")return;let t=e.getAttribute("role");t==="presentation"||t==="none"||e.getAttribute("aria-label")||e.getAttribute("aria-labelledby")||A(`${r}: the canvas has no aria-label. Say what the frames show, or set aria-hidden="true" if they are decoration.`,e);}var gt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function tn(e){let r=e>1?[0,e-1]:[0],t=[[0,e-1]];for(let n=0;n<t.length;n++){let[o,s]=t[n];if(s-o<2)continue;let i=o+s>>1;r.push(i),t.push([o,i],[i,s]);}return r}function ur(e,r){if(typeof window>"u")return gt;let t=typeof e=="string"?document.querySelector(e):e;if(!t||t.tagName.toLowerCase()!=="canvas")return A("scrollFrames: <canvas> element not found:",e),gt;let n=t,{frames:o,trigger:s={},easing:i="linear",once:c=false,axis:m="y",fit:g="cover",triggerElement:w,onReady:k,onLoad:x,onComplete:$,onProgress:z}=r||{},T=Array.isArray(o)?o:null,q=r?.count,G=Math.floor(T?Math.min(q??T.length,T.length):q??NaN);if(!(T||typeof o=="function")||!Number.isFinite(G)||G<1)return A("scrollFrames: no frames. Pass `frames` as an array of URLs, or a function with a finite `count` of 1 or more.",n),gt;let M=r.concurrency??6;(!Number.isFinite(M)||M<1)&&(A("scrollFrames: `concurrency` must be a finite number of 1 or more; using 6.",r.concurrency),M=6),M=Math.floor(M);let P=n.getContext("2d");if(!P)return A("scrollFrames: the canvas has no 2D context.",n),gt;let C=G-1,W=w??n,b=window.matchMedia("(prefers-reduced-motion: reduce)").matches,O=Re(i),D=u=>{let p=O(u);return p===p?p:0},Z=ae(s.start||"top top"),se=ae(s.end||"bottom top"),F=0,H=0,h=false,L=-1,ee=0,te=0,he=false,N=false,j=false,ue=false,Ee=0,fe=-1,ie=new Array(G),E=new Uint8Array(G),S=new Set,re=b?[C]:tn(G),Oe=0,K=0,Fe=false,Se=(u,...p)=>{if(u)try{u(...p);}catch(v){typeof reportError=="function"?reportError(v):setTimeout(()=>{throw v});}},ye=false,_e=u=>{let p;try{p=T?T[u]:o(u);}catch(v){p=v;}return typeof p=="string"&&p?p:(ye||(ye=true,A(`scrollFrames: no URL for frame ${u}; it is skipped for its nearest neighbour.`,p)),null)},He=()=>m==="x"?window.scrollX:window.scrollY,Te=()=>m==="x"?window.innerWidth:window.innerHeight;function Ce(){!Fe&&K===re.length&&(Fe=true,Se(x));}function l(){for(;!N&&S.size<M&&Oe<re.length;){let u=re[Oe++];E[u]||d(u);}}function d(u){E[u]=1;let p=_e(u);if(p===null){K++,queueMicrotask(()=>{N||Ce();});return}let v=new Image,le=false,we=Ve=>{le||N||(le=true,v.onload=v.onerror=null,S.delete(v),Ve?ie[u]=v:A("scrollFrames: a frame failed to load; its nearest neighbour shows instead:",p),K++,l(),V(),Ce());};S.add(v),v.decoding="async",v.onerror=()=>we(false),v.src=p,typeof v.decode=="function"?v.decode().then(()=>we(true),()=>{v.complete?we(v.naturalWidth>0):v.onload=()=>we(true);}):v.onload=()=>we(true);}function ne(u){for(let p=0;p<=C;p++){if(ie[u-p])return u-p;if(ie[u+p])return u+p}return -1}function I(){let u=n.clientWidth,p=n.clientHeight;if(!u||!p)return;let v=Math.min(window.devicePixelRatio||1,2),le=Math.round(u*v),we=Math.round(p*v);if(Math.abs(n.width-le)<=1&&Math.abs(n.height-we)<=1)return;n.width=le,n.height=we,fe=-1;let Ve=n.clientWidth,Pe=n.clientHeight;if(Ve!==u||Pe!==p){let ze=n.style;Ve!==u&&Pe!==p?(ze.width=`${u}px`,ze.height=`${p}px`):ze.aspectRatio=`${u} / ${p}`;}}function V(){let u=ne(Ee);if(u<0||u===fe)return;let p=ie[u],v=n.width,le=n.height,we=p.naturalWidth||v,Ve=p.naturalHeight||le,Pe=(g==="contain"?Math.min:Math.max)(v/we,le/Ve),ze=we*Pe,We=Ve*Pe;P.clearRect(0,0,v,le),P.drawImage(p,(v-ze)/2,(le-We)/2,ze,We),fe=u,j||(j=true,Se(k));}function B(u){Ee=Math.min(C,Math.max(0,Math.round(u*C))),n.style.setProperty("--scroll-draw-progress",String(u)),V(),Se(z,u,Ee);}function U(){let u=W.getBoundingClientRect(),p=m==="x"?u.left:u.top,v=m==="x"?u.width:u.height,le=Le({top:p,height:v},He(),Te(),Z,se);F=le.tStart,H=le.tEnd,H===F&&v>0&&!b&&!ue&&(ue=true,A("scrollFrames: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n));}let Ne=()=>Q(He(),F,H,1);function oe(){if(b)return;let u=Ne(),p=c?Math.max(L,D(ee=Math.max(ee,u))):D(u);te=p,B(p),p>=1&&!he?(he=true,Se($)):p<1&&!c&&(he=false);}function Ie(){te=1,B(1);}I(),b||U();let be=De(window,[W],Ne,oe,()=>{I(),b||U(),V();}),Ye=()=>be.hold(h||b);Ye(),b&&Ie(),l();let je=typeof ResizeObserver=="function"?new ResizeObserver(()=>{I(),V();}):null;je?.observe(n);let Ue=b?()=>{}:Je(u=>{u&&(Ue(),b=true,be.hold(true),re=re.slice(0,Oe),E[C]||re.push(C),Ce(),Ie(),l());});ke(n,{type:"frames",getProgress:()=>te,getTrigger:()=>({tStart:F,tEnd:H})});function me(){N||!h||(h=false,Ye());}return {destroy(){if(!N){N=true,be.off(),je?.disconnect(),Ue();for(let u of S)u.onload=u.onerror=null,u.src="";S.clear(),$e(n);}},replay(){N||(L=-1,ee=0,he=false,te=0,B(0),me());},pause(){N||(h=true,be.hold(true));},resume:me,seek(u){if(N)return;let p=Math.min(1,Math.max(0,u===u?u:0));te=p,L=p,ee=0,h=true,be.hold(true),B(p);},getProgress(){return te}}}function fr(e,{triggerElement:r,...t},n){let o=r;return typeof r=="string"&&typeof document<"u"&&(o=document.querySelector(r),o||A(`scrollFrames: triggerElement "${r}" matches nothing; measuring the canvas.`)),ur(e,{...t,frames:n.frames,triggerElement:o??void 0})}function mr(e,r){let t=document.createElement("span");t.textContent=r,t.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(t);}function ht(e=""){let r=document.createElement("span");return r.setAttribute("aria-hidden","true"),r.textContent=e,r}function dr(e){let r=e.textContent??"";return e.textContent="",r.split(/(\s+)/).filter(Boolean).map(t=>{let n=e.appendChild(ht(t)),o=/^\s+$/.test(t);return o?n.style.whiteSpace="pre":n.style.display="inline-block",o?null:n}).filter(t=>t!==null)}function rn(e){let r=e.textContent??"";e.textContent="";let t=[],n=null;for(let o of r){let s=ht(o),i=o===" ";i?s.style.whiteSpace="pre":(s.style.display="inline-block",t.push(s)),i||o>"\u0DFF"?n=null:n||(n=e.appendChild(ht()),n.style.cssText="display:inline-block;white-space:nowrap"),(n??e).appendChild(s);}return t}function pr(e){let r=dr(e),t=new Map;for(let s of r){let i=s.offsetTop;t.has(i)||t.set(i,[]),t.get(i).push(s);}let n=[],o=Array.from(t.keys()).sort((s,i)=>s-i);for(let s of o){let i=t.get(s),c=ht();c.style.display="inline-block",i.forEach((m,g)=>{let w=m.nextElementSibling;c.appendChild(m),g<i.length-1&&w&&w.style.whiteSpace==="pre"&&c.appendChild(w);}),n.push(c);}return e.textContent="",n.forEach((s,i)=>{e.appendChild(s),i<n.length-1&&e.appendChild(document.createTextNode(" "));}),n}function nn(e,r,t,n){if(t<=1||n===0)return e;n=Math.min(n,1/t);let o=(t-1)*n,s=r*n,i=s+(1-o);return i<=s?e>=s?1:0:rt((e-s)/(i-s),0,1)}function on(e,r){let t=[];if(r?.y!==void 0&&t.push(`translateY(${r.y*(1-e)}px)`),r?.x!==void 0&&t.push(`translateX(${r.x*(1-e)}px)`),r?.rotate!==void 0&&t.push(`rotate(${r.rotate*(1-e)}deg)`),r?.scale!==void 0){let n=r.scale+(1-r.scale)*e;t.push(`scale(${n})`);}return t.join(" ")}var Tt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function gr(e,r={}){if(typeof window>"u")return Tt;let t=typeof e=="string"?document.querySelector(e):e;if(!t)return A("scrollText: element not found:",e),Tt;let n=t;return Be(r,(o,s)=>sn(n,o,s))}function sn(e,r,t){let{split:n="words",stagger:o=.04,easing:s="ease-out",from:i={opacity:0,y:24},trigger:c={},once:m=true,onComplete:g}=r,w=Re(s,"ease-out"),k=ae(c.start||"top 85%"),x=ae(c.end||"top 40%"),$=e.innerHTML,z=e.textContent??"",T;n==="chars"?T=rn(e):n==="lines"?T=pr(e):T=dr(e),mr(e,z);let q=T.length;function G(h,L){i?.opacity!==void 0&&(h.style.opacity=String(i.opacity+(1-i.opacity)*L));let ee=on(L,i);ee&&(h.style.transform=ee);}function M(h){e.style.setProperty("--scroll-draw-progress",String(h)),T.forEach((L,ee)=>{let te=w(nn(h,ee,q,o));G(L,te);});}if(t)return M(1),g?.(),{...Tt,destroy:()=>{e.innerHTML=$;},getProgress:()=>1};M(0);let P=0,C=0,W=-1,b=0,O=false;function D(){({tStart:P,tEnd:C}=Le(e.getBoundingClientRect(),window.scrollY,window.innerHeight,k,x));}let Z=()=>Q(window.scrollY,P,C,1);function se(){let h=m?W=Math.max(W,Z()):Z();b=h,M(h),h>=1&&!O?(O=true,g?.()):h<1&&!m&&(O=false);}D();let F=De(window,[e],Z,se,()=>{n==="lines"&&(e.innerHTML=$,T=pr(e),mr(e,z),M(b)),D();});ke(e,{type:"text",getProgress:()=>b,getTrigger:()=>({tStart:P,tEnd:C})});let H=()=>F.hold(false);return {destroy(){F.off(),e.innerHTML=$,$e(e);},replay(){W=-1,O=false,b=0,M(0),H();},pause:()=>F.hold(true),resume:H,seek(h){F.hold(true),M(b=W=rt(h,0,1));},getProgress(){return b}}}var qe=class{constructor(r,t=st){this.create=r;this.keyOf=t;this.instance=null;this.el=null;this.key="";}init(r,t){return this.destroy(),this.el=r,this.latest=t,this.key=this.keyOf(t),this.instance=this.create(r,Jt(t,()=>this.latest),t),this}update(r){return this.el?this.keyOf(r)!==this.key?this.init(this.el,r):(this.latest=r,this):this}replay(){return this.instance?.replay(),this}pause(){return this.instance?.pause(),this}resume(){return this.instance?.resume(),this}seek(r){return this.instance?.seek(r),this}getProgress(){return this.instance?.getProgress()??0}destroy(){return this.instance?.destroy(),this.instance=this.el=null,this}},hr=class extends qe{constructor(){super(Kt);}init(r,t={}){return super.init(r,t)}},yr=class extends qe{constructor(){super(or);}},br=class extends qe{constructor(){super(sr);}},wr=class extends qe{constructor(){super(ar);}init(r,t={}){return super.init(r,t)}},vr=class extends qe{constructor(){super(fr,lr);this.named=null;}init(t,n){return this.named!==t&&cr(t,"ScrollFramesRef"),this.named=t,super.init(t,n)}},Er=class extends qe{constructor(){super(gr);}init(r,t={}){return super.init(r,t)}};exports.EngineRef=qe;exports.ScrollAnimateRef=yr;exports.ScrollCounterRef=br;exports.ScrollDrawRef=hr;exports.ScrollFramesRef=vr;exports.ScrollTextRef=Er;exports.ScrollVideoRef=wr;
@@ -1 +1 @@
1
- import {a as a$4}from'../chunk-NJV6S5LD.mjs';import {a,b,c,d as d$1}from'../chunk-KN2YB54Z.mjs';import {a as a$3}from'../chunk-HJTHOZK5.mjs';import'../chunk-GBFWTY5L.mjs';import {a as a$5}from'../chunk-UF3MO5XQ.mjs';import {a as a$2}from'../chunk-Z72TVDHY.mjs';import {a as a$1}from'../chunk-HAGTU5EX.mjs';import {b as b$1}from'../chunk-XLXVGQ3P.mjs';import'../chunk-7LDSB4FT.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-YOOPMYT6.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-NV6YTPHI.mjs';import'../chunk-IXR6RML7.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-EBU6E26L.mjs';import'../chunk-LFSU6LR3.mjs';var r=class{constructor(t,e=a){this.create=t;this.keyOf=e;this.instance=null;this.el=null;this.key="";}init(t,e){return this.destroy(),this.el=t,this.latest=e,this.key=this.keyOf(e),this.instance=this.create(t,b(e,()=>this.latest),e),this}update(t){return this.el?this.keyOf(t)!==this.key?this.init(this.el,t):(this.latest=t,this):this}replay(){return this.instance?.replay(),this}pause(){return this.instance?.pause(),this}resume(){return this.instance?.resume(),this}seek(t){return this.instance?.seek(t),this}getProgress(){return this.instance?.getProgress()??0}destroy(){return this.instance?.destroy(),this.instance=this.el=null,this}},O=class extends r{constructor(){super(b$1);}init(t,e={}){return super.init(t,e)}},d=class extends r{constructor(){super(a$1);}},y=class extends r{constructor(){super(a$2);}},x=class extends r{constructor(){super(a$3);}init(t,e={}){return super.init(t,e)}},S=class extends r{constructor(){super(a$4,c);this.named=null;}init(e,f){return this.named!==e&&d$1(e,"ScrollFramesRef"),this.named=e,super.init(e,f)}},E=class extends r{constructor(){super(a$5);}init(t,e={}){return super.init(t,e)}};export{r as EngineRef,d as ScrollAnimateRef,y as ScrollCounterRef,O as ScrollDrawRef,S as ScrollFramesRef,E as ScrollTextRef,x as ScrollVideoRef};
1
+ import {a as a$3}from'../chunk-NJV6S5LD.mjs';import {a,b,c,d as d$1}from'../chunk-KN2YB54Z.mjs';import {a as a$2}from'../chunk-HJTHOZK5.mjs';import'../chunk-GBFWTY5L.mjs';import {a as a$4}from'../chunk-UF3MO5XQ.mjs';import {b as b$2}from'../chunk-OGFXZCKC.mjs';import {a as a$1}from'../chunk-HAGTU5EX.mjs';import {b as b$1}from'../chunk-XLXVGQ3P.mjs';import'../chunk-7LDSB4FT.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-YOOPMYT6.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-NV6YTPHI.mjs';import'../chunk-IXR6RML7.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-EBU6E26L.mjs';import'../chunk-LFSU6LR3.mjs';var r=class{constructor(t,e=a){this.create=t;this.keyOf=e;this.instance=null;this.el=null;this.key="";}init(t,e){return this.destroy(),this.el=t,this.latest=e,this.key=this.keyOf(e),this.instance=this.create(t,b(e,()=>this.latest),e),this}update(t){return this.el?this.keyOf(t)!==this.key?this.init(this.el,t):(this.latest=t,this):this}replay(){return this.instance?.replay(),this}pause(){return this.instance?.pause(),this}resume(){return this.instance?.resume(),this}seek(t){return this.instance?.seek(t),this}getProgress(){return this.instance?.getProgress()??0}destroy(){return this.instance?.destroy(),this.instance=this.el=null,this}},O=class extends r{constructor(){super(b$1);}init(t,e={}){return super.init(t,e)}},d=class extends r{constructor(){super(a$1);}},y=class extends r{constructor(){super(b$2);}},x=class extends r{constructor(){super(a$2);}init(t,e={}){return super.init(t,e)}},S=class extends r{constructor(){super(a$3,c);this.named=null;}init(e,f){return this.named!==e&&d$1(e,"ScrollFramesRef"),this.named=e,super.init(e,f)}},E=class extends r{constructor(){super(a$4);}init(t,e={}){return super.init(t,e)}};export{r as EngineRef,d as ScrollAnimateRef,y as ScrollCounterRef,O as ScrollDrawRef,S as ScrollFramesRef,E as ScrollTextRef,x as ScrollVideoRef};
@@ -1,3 +1,3 @@
1
- 'use strict';var ze=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function V(e,...t){ze&&console.warn(`[svg-scroll-draw] ${e}`,...t);}function hr({tension:e=2.5,friction:t=2.2}={}){return r=>1-Math.cos(r*Math.PI*e)*Math.pow(1-r,t)}function br({bounces:e=3,decay:t=.5}={}){let r=Math.max(1,Math.round(e)),n=Math.max(.01,Math.min(.99,t)),o=Math.sqrt(n),s=0,a=[];for(let m=0;m<r;m++){let g=Math.pow(o,m);a.push(g),s+=g;}let l=[0],u=0;for(let m=0;m<r;m++)u+=a[m]/s,l.push(u);return m=>{if(m<=0)return 0;if(m>=1)return 1;for(let g=0;g<r;g++)if(m<=l[g+1]){let S=(m-l[g])/(l[g+1]-l[g]);if(g===0)return S*(2-S);let y=1-Math.pow(n,g);return y+(1-y)*(2*S-1)*(2*S-1)}return 1}}function wr({amplitude:e=1,period:t=.4}={}){let r=Math.max(1,e),n=Math.max(.1,t),o=r<=1?n/4:n/(2*Math.PI)*Math.asin(1/r);return s=>s<=0?0:s>=1?1:r*Math.pow(2,-10*s)*Math.sin((s-o)*(2*Math.PI)/n)+1}var We={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:hr(),bounce:br(),elastic:wr()};function vr(e,t,r,n){let o=(s,a,l)=>((1+3*s-3*a)*l+3*a-6*s)*l*l+3*s*l;return s=>{if(s<=0||s>=1)return +(s>0);let a=s;for(let l=0;l<8;l++)a-=(o(e,r,a)-s)/((3*(1+3*e-3*r)*a+6*r-12*e)*a+3*e);if(!(a>=0&&a<=1&&Math.abs(o(e,r,a)-s)<1e-9))for(let l=0,u=0,m=1;l<30;l++)a=(u+m)/2,o(e,r,a)<s?u=a:m=a;return o(t,n,a)}}function wt(e){let t=/^cubic-bezier\((.*)\)$/.exec(e==="ease"?"cubic-bezier(.25,.1,.25,1)":e.trim()),r=t?t[1].split(",").map(parseFloat):[];if(r.length===4&&r.every(Number.isFinite)&&r[0]*(1-r[0])>=0&&r[2]*(1-r[2])>=0)return [vr(r[0],r[1],r[2],r[3]),`cubic-bezier(${r})`]}var Rt=new Set;function $e(e,t="linear"){if(typeof e=="function")return e;if(e==null)return We[t];if({}.hasOwnProperty.call(We,e))return We[e];let r=wt(String(e));return r?r[0]:(!Rt.has(e)&&Rt.add(e)&&V(`Unknown easing ${JSON.stringify(e)}: use a name, cubic-bezier() or a function.`),We[t])}function Qe(e,t,r){return Math.min(r,Math.max(t,e))}function fe(e="top bottom"){let t=e.trim();if(/^\d+(\.\d+)?%$/.test(t))return {element:"top",viewport:t};let[r="top",n="bottom"]=t.split(/\s+/).filter(Boolean);return {element:r,viewport:n}}var _t=(e,t)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:t;function Nt(e,t,r,n){return e+r+t*_t(n,0)}function Ft(e,t){return t*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:_t(e,1))}function z(e,t,r,n){return r===t?0:Qe((e-t)/(r-t)*n,0,1)}function ge(e,t,r,n,o){let s=Nt(e.top,e.height,t,n.element)-Ft(n.viewport,r),a=Nt(e.top,e.height,t,o.element)-Ft(o.viewport,r);return {tStart:s,tEnd:a}}function tt(e,t,r){let n=e.getBoundingClientRect(),o=r==="x"?n.width:n.height;return t?{top:r==="x"?n.left-t.getBoundingClientRect().left-t.clientLeft+t.scrollLeft:n.top-t.getBoundingClientRect().top-t.clientTop+t.scrollTop,height:o,scroll:0}:{top:r==="x"?n.left:n.top,height:o,scroll:r==="x"?window.scrollX:window.scrollY}}function rt(e){let t=parseFloat(e.getAttribute("pathLength")??"");if(t>0)return t;let r=e.tagName.toLowerCase();if(r==="rect"){let n=parseFloat(e.getAttribute("width")??"0"),o=parseFloat(e.getAttribute("height")??"0");return 2*(n+o)}if(r==="circle"){let n=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*n}return e.getTotalLength()}function nt(e){return `${e} ${e*2}`}function Vt(e){let t=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(t)return [parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];let r=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(r)return [parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16)];let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return n?[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]:null}function ot(e,t,r){let n=Vt(e),o=Vt(t);return !n||!o?e:`rgb(${Math.round(n[0]+(o[0]-n[0])*r)},${Math.round(n[1]+(o[1]-n[1])*r)},${Math.round(n[2]+(o[2]-n[2])*r)})`}var zt={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Er="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Sr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Wt=33;function Tr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Mr(e){let t=[];for(let r=0;r<Wt;r++){let n=r/(Wt-1);t.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${t.join(",")})`}function st(e){switch(e){case "linear":return "linear";case "ease-in":return Er;case "ease-out":return Sr;case "ease-in-out":return Tr()?Mr(We["ease-in-out"]):null;default:return wt(e)?.[1]??null}}var Gt=Symbol.for("svg-scroll-draw.registry");function Bt(){let e=globalThis;return e[Gt]||(e[Gt]=new Map)}function Le(e,t){Bt().set(e,t);}function Ae(e){Bt().delete(e);}function qt(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let t=window.matchMedia("(prefers-reduced-motion: reduce)"),r=o=>e(!!o.matches);if(typeof t.addEventListener=="function")return t.addEventListener("change",r),()=>t.removeEventListener("change",r);let n=t;return n.addListener?.(r),()=>n.removeListener?.(r)}function De(e,t){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t(e,true);let r=t(e,false),n=qt(s=>{if(!s)return;n();let a=(r.getProgress?.()??0)>=1;r.destroy(),r=t(a?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(r))o[s]=(...a)=>r[s]?.(...a);return o.destroy=()=>{n(),r.destroy();},o}var Ue,it=new Set,at=new WeakMap,Ye=new Map,jt=e=>{let t=e.getBoundingClientRect();return t.width+" "+t.height};function xr(e){let t=new Set;for(let r of e)for(;r&&r!==document.body;r=r.parentElement)for(let n=r;n;n=n.previousElementSibling)t.add(n);return t}function Qt(e,t){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let r=()=>t();Ue??(Ue=new ResizeObserver(o=>{let s=false;for(let{target:a}of o)at.get(a)!==jt(a)&&(s=true),at.set(a,"");s&&it.forEach(a=>a());})),it.add(r);let n=xr(e);return [document.body,document.documentElement].forEach(o=>o&&n.add(o)),n.forEach(o=>{at.has(o)||at.set(o,jt(o)),Ye.set(o,(Ye.get(o)??0)+1),Ue.observe(o);}),()=>{it.delete(r)&&(n.forEach(o=>{let s=(Ye.get(o)??1)-1;if(s)return void Ye.set(o,s);Ye.delete(o),Ue?.unobserve(o);}),it.size||(Ue?.disconnect(),Ue=void 0));}}function ke(e,t,r,n,o){let s,a=NaN,l,u,m=()=>{s=0,n(),!l&&!s&&(a=r())>0&&a<1&&(s=requestAnimationFrame(m));},g=()=>{!s&&!l&&r()!==a&&(s=requestAnimationFrame(m));},S=$=>{l=$,cancelAnimationFrame(s),s=a=NaN,g();},y=()=>{clearTimeout(u),o(),g();},H=()=>{clearTimeout(u),u=setTimeout(y,150);},se=Qt(t,H),b=$=>{e[$]("scroll",g,{passive:true}),window[$]("resize",H),window[$]("orientationchange",H);};return b("addEventListener"),g(),{hold:S,remeasure:y,off(){S(true),b("removeEventListener"),se(),clearTimeout(u);}}}var Lr=0;function Ar(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Ut(e,t){let r="";try{r=getComputedStyle(e).getPropertyValue(t).trim();}catch{}return r||(e.getAttribute(t)??"").trim()}var Yt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Cr(e){if(!ze)return;let t=Ut(e,"stroke");if(!t||t==="none"){V("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!Yt.has(r)&&!Yt.has(Ut(e,"fill"))&&V("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Pr(e,t,r){let n=document.createElement("div");n.setAttribute("data-svg-scroll-draw-debug",""),n.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function o(){let s=r==="x"?window.scrollX:window.scrollY,a=e-s,l=t-s,u=r==="x";n.innerHTML=`
1
+ 'use strict';var Ve=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function N(e,...t){Ve&&console.warn(`[svg-scroll-draw] ${e}`,...t);}function hr({tension:e=2.5,friction:t=2.2}={}){return r=>1-Math.cos(r*Math.PI*e)*Math.pow(1-r,t)}function br({bounces:e=3,decay:t=.5}={}){let r=Math.max(1,Math.round(e)),n=Math.max(.01,Math.min(.99,t)),o=Math.sqrt(n),s=0,a=[];for(let m=0;m<r;m++){let y=Math.pow(o,m);a.push(y),s+=y;}let l=[0],u=0;for(let m=0;m<r;m++)u+=a[m]/s,l.push(u);return m=>{if(m<=0)return 0;if(m>=1)return 1;for(let y=0;y<r;y++)if(m<=l[y+1]){let v=(m-l[y])/(l[y+1]-l[y]);if(y===0)return v*(2-v);let h=1-Math.pow(n,y);return h+(1-h)*(2*v-1)*(2*v-1)}return 1}}function wr({amplitude:e=1,period:t=.4}={}){let r=Math.max(1,e),n=Math.max(.1,t),o=r<=1?n/4:n/(2*Math.PI)*Math.asin(1/r);return s=>s<=0?0:s>=1?1:r*Math.pow(2,-10*s)*Math.sin((s-o)*(2*Math.PI)/n)+1}var ze={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:hr(),bounce:br(),elastic:wr()};function vr(e,t,r,n){let o=(s,a,l)=>((1+3*s-3*a)*l+3*a-6*s)*l*l+3*s*l;return s=>{if(s<=0||s>=1)return +(s>0);let a=s;for(let l=0;l<8;l++)a-=(o(e,r,a)-s)/((3*(1+3*e-3*r)*a+6*r-12*e)*a+3*e);if(!(a>=0&&a<=1&&Math.abs(o(e,r,a)-s)<1e-9))for(let l=0,u=0,m=1;l<30;l++)a=(u+m)/2,o(e,r,a)<s?u=a:m=a;return o(t,n,a)}}function wt(e){let t=/^cubic-bezier\((.*)\)$/.exec(e==="ease"?"cubic-bezier(.25,.1,.25,1)":e.trim()),r=t?t[1].split(",").map(parseFloat):[];if(r.length===4&&r.every(Number.isFinite)&&r[0]*(1-r[0])>=0&&r[2]*(1-r[2])>=0)return [vr(r[0],r[1],r[2],r[3]),`cubic-bezier(${r})`]}var Rt=new Set;function Pe(e,t="linear"){if(typeof e=="function")return e;if(e==null)return ze[t];if({}.hasOwnProperty.call(ze,e))return ze[e];let r=wt(String(e));return r?r[0]:(!Rt.has(e)&&Rt.add(e)&&N(`Unknown easing ${JSON.stringify(e)}: use a name, cubic-bezier() or a function.`),ze[t])}function Qe(e,t,r){return Math.min(r,Math.max(t,e))}function ce(e="top bottom"){let t=e.trim();if(/^\d+(\.\d+)?%$/.test(t))return {element:"top",viewport:t};let[r="top",n="bottom"]=t.split(/\s+/).filter(Boolean);return {element:r,viewport:n}}var _t=(e,t)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:t;function Nt(e,t,r,n){return e+r+t*_t(n,0)}function Ft(e,t){return t*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:_t(e,1))}function V(e,t,r,n){return r===t?0:Qe((e-t)/(r-t)*n,0,1)}function de(e,t,r,n,o){let s=Nt(e.top,e.height,t,n.element)-Ft(n.viewport,r),a=Nt(e.top,e.height,t,o.element)-Ft(o.viewport,r);return {tStart:s,tEnd:a}}function tt(e,t,r){let n=e.getBoundingClientRect(),o=r==="x"?n.width:n.height;return t?{top:r==="x"?n.left-t.getBoundingClientRect().left-t.clientLeft+t.scrollLeft:n.top-t.getBoundingClientRect().top-t.clientTop+t.scrollTop,height:o,scroll:0}:{top:r==="x"?n.left:n.top,height:o,scroll:r==="x"?window.scrollX:window.scrollY}}function rt(e){let t=parseFloat(e.getAttribute("pathLength")??"");if(t>0)return t;let r=e.tagName.toLowerCase();if(r==="rect"){let n=parseFloat(e.getAttribute("width")??"0"),o=parseFloat(e.getAttribute("height")??"0");return 2*(n+o)}if(r==="circle"){let n=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*n}return e.getTotalLength()}function nt(e){return `${e} ${e*2}`}function Vt(e){let t=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(t)return [parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];let r=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(r)return [parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16)];let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return n?[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]:null}function ot(e,t,r){let n=Vt(e),o=Vt(t);return !n||!o?e:`rgb(${Math.round(n[0]+(o[0]-n[0])*r)},${Math.round(n[1]+(o[1]-n[1])*r)},${Math.round(n[2]+(o[2]-n[2])*r)})`}var zt={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Er="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Sr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Wt=33;function Tr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Mr(e){let t=[];for(let r=0;r<Wt;r++){let n=r/(Wt-1);t.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${t.join(",")})`}function st(e){switch(e){case "linear":return "linear";case "ease-in":return Er;case "ease-out":return Sr;case "ease-in-out":return Tr()?Mr(ze["ease-in-out"]):null;default:return wt(e)?.[1]??null}}var Gt=Symbol.for("svg-scroll-draw.registry");function Bt(){let e=globalThis;return e[Gt]||(e[Gt]=new Map)}function xe(e,t){Bt().set(e,t);}function Le(e){Bt().delete(e);}function qt(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let t=window.matchMedia("(prefers-reduced-motion: reduce)"),r=o=>e(!!o.matches);if(typeof t.addEventListener=="function")return t.addEventListener("change",r),()=>t.removeEventListener("change",r);let n=t;return n.addListener?.(r),()=>n.removeListener?.(r)}function $e(e,t){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t(e,true);let r=t(e,false),n=qt(s=>{if(!s)return;n();let a=(r.getProgress?.()??0)>=1;r.destroy(),r=t(a?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(r))o[s]=(...a)=>r[s]?.(...a);return o.destroy=()=>{n(),r.destroy();},o}var Ue,it=new Set,at=new WeakMap,Ye=new Map,jt=e=>{let t=e.getBoundingClientRect();return t.width+" "+t.height};function xr(e){let t=new Set;for(let r of e)for(;r&&r!==document.body;r=r.parentElement)for(let n=r;n;n=n.previousElementSibling)t.add(n);return t}function Qt(e,t){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let r=()=>t();Ue??(Ue=new ResizeObserver(o=>{let s=false;for(let{target:a}of o)at.get(a)!==jt(a)&&(s=true),at.set(a,"");s&&it.forEach(a=>a());})),it.add(r);let n=xr(e);return [document.body,document.documentElement].forEach(o=>o&&n.add(o)),n.forEach(o=>{at.has(o)||at.set(o,jt(o)),Ye.set(o,(Ye.get(o)??0)+1),Ue.observe(o);}),()=>{it.delete(r)&&(n.forEach(o=>{let s=(Ye.get(o)??1)-1;if(s)return void Ye.set(o,s);Ye.delete(o),Ue?.unobserve(o);}),it.size||(Ue?.disconnect(),Ue=void 0));}}function De(e,t,r,n,o){let s,a=NaN,l,u,m=()=>{s=0,n(),!l&&!s&&(a=r())>0&&a<1&&(s=requestAnimationFrame(m));},y=()=>{!s&&!l&&r()!==a&&(s=requestAnimationFrame(m));},v=F=>{l=F,cancelAnimationFrame(s),s=a=NaN,y();},h=()=>{clearTimeout(u),o(),y();},M=()=>{clearTimeout(u),u=setTimeout(h,150);},z=Qt(t,M),E=F=>{e[F]("scroll",y,{passive:true}),window[F]("resize",M),window[F]("orientationchange",M);};return E("addEventListener"),y(),{hold:v,remeasure:h,off(){v(true),E("removeEventListener"),z(),clearTimeout(u);}}}var Lr=0;function Ar(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Ut(e,t){let r="";try{r=getComputedStyle(e).getPropertyValue(t).trim();}catch{}return r||(e.getAttribute(t)??"").trim()}var Yt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Cr(e){if(!Ve)return;let t=Ut(e,"stroke");if(!t||t==="none"){N("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!Yt.has(r)&&!Yt.has(Ut(e,"fill"))&&N("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Pr(e,t,r){let n=document.createElement("div");n.setAttribute("data-svg-scroll-draw-debug",""),n.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function o(){let s=r==="x"?window.scrollX:window.scrollY,a=e-s,l=t-s,u=r==="x";n.innerHTML=`
2
2
  <div style="position:absolute;${u?`left:${a}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${a}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
3
- <div style="position:absolute;${u?`left:${l}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${l}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",o,{passive:true}),o(),{el:n,destroy(){window.removeEventListener("scroll",o),n.remove();}}}var Xt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Jt=/[MmLlHhVvCcSsQqTtAaZz]/g;function $r(e,t,r){if(!ze)return;let n=(e.match(Jt)??[]).join("").toUpperCase(),o=(t.match(Jt)??[]).join("").toUpperCase(),s=(e.match(Xt)??[]).length,a=(t.match(Xt)??[]).length;if(n!==o){V(`morphTo: command sequence differs (${n||"\u2205"} \u2192 ${o||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,r);return}s!==a&&V(`morphTo: coordinate count differs (${s} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function Dr(e,t,r){let n=(t.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let a=parseFloat(s),l=n[o++]??a;return String(+(a+(l-a)*r).toFixed(4))})}function lt(e,t={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:De(t,(r,n)=>kr(e,r,n))}function kr(e,t,r){let{preset:n,...o}=t,s=n?{...zt[n],...o}:o,{selector:a="path, polyline, line, polygon, rect, circle",speed:l=1,fade:u=false,easing:m="linear",trigger:g={},stagger:S=0,direction:y="forward",once:H=false,debug:se=false,axis:b="y",scrollContainer:$,autoReverse:me=false,delay:R=0,strokeColor:M,strokeWidth:C,fillOpacity:D,waypoints:x,velocityScale:A=false,threshold:W=0,rootMargin:ye="0px",repeat:ee=0,repeatDelay:te=0,morphTo:N,clip:w,autoplay:ie=false,duration:v=1e3,native:F=true,onProgress:Oe,onStart:J,onComplete:re,onEnter:he,onLeave:Ne,onEnterBack:be,onLeaveBack:pe}=s,Z=w===true?"left":typeof w=="string"?w:false,Q=$e(m),Fe=fe(g.start||"top bottom"),Ge=fe(g.end||"bottom top"),G=typeof $=="string"?document.querySelector($):$??null,we=Array.isArray(M)?M[0]:null,ve=Array.isArray(M)?M[1]:typeof M=="string"?M:null,ce=Array.isArray(C)?C[0]:null,Ce=Array.isArray(C)?C[1]:typeof C=="number"?C:null,Ee=Array.isArray(D)?D[0]:null,ue=Array.isArray(D)?D[1]:typeof D=="number"?D:null;function Se(i){let f=i*100;switch(Z){case "right":return `inset(0 0 0 ${100-f}%)`;case "top":return `inset(0 0 ${100-f}% 0)`;case "bottom":return `inset(${100-f}% 0 0 0)`;case "center":return `circle(${i*150}% at 50% 50%)`;default:return `inset(0 ${100-f}% 0 0)`}}let c=Z?[]:Array.from(e.querySelectorAll(a)),p=[],B=[],T=0,P=0,_=S,k=0,Pe=0,q=false,Te=false,Me=0,mt=-1,Je=[],Ze=-1,ae=false,de=0,Ie=0,He,pt=false,dt=null;function Tt(){dt?.destroy(),dt=null;}let Re=new Set,Mt=NaN,_e=true,Ke=-1,xt=performance.now(),Ve=NaN;function et(){return G?b==="x"?G.scrollLeft:G.scrollTop:b==="x"?window.scrollX:window.scrollY}function Lt(){return G?b==="x"?G.clientWidth:G.clientHeight:b==="x"?window.innerWidth:window.innerHeight}function At(){let i=tt(e,G,b);return ge(i,i.scroll,Lt(),Fe,Ge)}function ur(){let i=P-T,f=c.length-1,d=G??document.documentElement,E=b==="x"?"Width":"Height";if(_=S,S>0&&f>0&&i>0){let U=d[`scroll${E}`]-d[`client${E}`]-1-T-i/l;U>=0&&(_=Math.min(S,U/(f*i)));}let j=Math.max(0,f)*_*i,ne=i/Math.min(l,1);k=T+Math.min(0,j,ne,j+ne),Pe=T+Math.max(0,j,ne,j+ne);}function Ct(){(({tStart:T,tEnd:P}=At())),ur(),se&&ze&&(Tt(),dt=Pr(T,P,b));}function gt(i,f=At){Le(e,{type:"draw",getProgress:()=>i.getProgress(),getTrigger:f});let d=i.destroy;return i.destroy=()=>{d.call(i),Ae(e);},i}function Pt(i,f){return H&&!me?Math.max(mt,Q(Je[i]=Math.max(Je[i]??0,f))):Q(f)}function fr(i,f){if(e.style.setProperty("--scroll-draw-progress",String(i)),Z){let d=f==="reverse"?1-i:i;e.style.clipPath=Se(d);return}c.forEach((d,E)=>yt(d,E,i,f));}function yt(i,f,d,E){i.style.strokeDashoffset=E==="reverse"?`${p[f]*d}`:`${p[f]*(1-d)}`,u&&(i.style.opacity=E==="reverse"?`${1-d}`:`${d}`),we&&ve?i.style.stroke=ot(we,ve,d):ve&&(i.style.stroke=ve),ce!==null&&Ce!==null?i.style.strokeWidth=`${ce+(Ce-ce)*d}`:Ce!==null&&(i.style.strokeWidth=`${Ce}`),Ee!==null&&ue!==null?i.style.fillOpacity=`${Ee+(ue-Ee)*d}`:ue!==null&&(i.style.fillOpacity=`${ue}`),N&&i.tagName.toLowerCase()==="path"&&B[f]&&i.setAttribute("d",Dr(B[f],N,d));}function ht(){if(e.style.setProperty("--scroll-draw-progress","0"),Z){e.style.clipPath=Se(y==="reverse"?1:0);return}c.forEach((i,f)=>{i.style.strokeDasharray=nt(p[f]),i.style.strokeDashoffset=y==="reverse"?"0":`${p[f]}`,u?i.style.opacity=y==="reverse"?"1":"0":i.style.opacity="",we&&(i.style.stroke=we),ce!==null&&(i.style.strokeWidth=`${ce}`),Ee!==null&&(i.style.fillOpacity=`${Ee}`),N&&i.tagName.toLowerCase()==="path"&&B[f]&&i.setAttribute("d",B[f]);});}function Be(i,f){let d=i.getAttribute("d"),E=rt(i);if(N&&B[f]){i.setAttribute("d",N);let j=rt(i);i.setAttribute("d",B[f]),E=Math.max(rt(i),j),i.setAttribute("d",d);}p[f]=E,i.style.strokeDasharray=nt(E);}if(c.forEach((i,f)=>{Cr(i);let d=i.tagName.toLowerCase()==="path";d?B.push(i.getAttribute("d")??""):B.push(""),Be(i,f);let E=p[f];N&&(d?$r(B[B.length-1],N,i):V(`morphTo only applies to <path> elements \u2014 ignored on <${i.tagName}>.`,i)),r?(i.style.strokeDashoffset=y==="reverse"?`${E}`:"0",u&&(i.style.opacity="1"),ve&&(i.style.stroke=ve),Ce!==null&&(i.style.strokeWidth=`${Ce}`),ue!==null&&(i.style.fillOpacity=`${ue}`),N&&i.tagName.toLowerCase()==="path"&&i.setAttribute("d",N)):(i.style.strokeDashoffset=y==="reverse"?"0":`${E}`,u?i.style.opacity=y==="reverse"?"1":"0":i.style.opacity="",we&&(i.style.stroke=we),ce!==null&&(i.style.strokeWidth=`${ce}`),Ee!==null&&(i.style.fillOpacity=`${Ee}`));}),r)return Z&&(e.style.clipPath=Se(1)),re?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};Z&&(e.style.clipPath=Se(y==="reverse"?1:0));let $t=typeof m=="string"?st(m):null;function mr(){return !(F===false||ie||se&&ze||!Ar()||!c.length||!$t||Z||b!=="y"||G||l!==1||S!==0||H||me||A!==false||N||x||ee||R>0||Oe||J||re||he||Ne||be||pe||M!=null||C!=null||D!=null||(g.start||"top bottom").trim()!=="top bottom"||(g.end||"bottom top").trim()!=="bottom top")}function pr(){let i=++Lr,f=`svg-scroll-draw-${i}`,d=`svg-scroll-draw-host-${i}`,E=`--svg-scroll-draw-${i}`,j=y==="reverse"?"0":"var(--ssd-len)",ne=y==="reverse"?"var(--ssd-len)":"0",U=`stroke-dashoffset:${j};`,O=`stroke-dashoffset:${ne};`;u&&(U+=`opacity:${y==="reverse"?1:0};`,O+=`opacity:${y==="reverse"?0:1};`);let I=document.createElement("style");I.setAttribute("data-svg-scroll-draw",""),I.textContent=`@keyframes ${f}{from{${U}}to{${O}}}.${d}{view-timeline-name:${E};view-timeline-axis:block;}.${f}{animation-name:${f};animation-duration:auto;animation-timing-function:${$t};animation-fill-mode:both;animation-timeline:${E};animation-range:cover 0% cover 100%;}`,document.head.appendChild(I),e.classList.add(d);function K(h,L){h.style.setProperty("--ssd-len",String(p[L])),h.style.strokeDasharray=nt(p[L]),h.style.strokeDashoffset="",h.style.opacity="",h.style.animationPlayState="",h.classList.add(f);}c.forEach(K);let Y=false,oe=-1;function le(){if(oe>=0)return oe;let h=e.getBoundingClientRect(),{tStart:L,tEnd:X}=ge({top:h.top,height:h.height},et(),Lt(),Fe,Ge);return Q(z(et(),L,X,l))}return {destroy(){e.classList.remove(d),c.forEach(h=>{h.classList.remove(f),h.style.removeProperty("--ssd-len"),h.style.animationPlayState="";}),I.remove();},replay(){Y=false,oe=-1,c.forEach(K);},pause(){Y=true,c.forEach(h=>{h.style.animationPlayState="paused";});},resume(){Y&&(Y=false,c.forEach(h=>{h.style.animationPlayState="running";}));},seek(h){let L=Math.min(1,Math.max(0,h));oe=L,Y=true,c.forEach((X,xe)=>{X.classList.remove(f),X.style.strokeDashoffset=y==="reverse"?`${p[xe]*L}`:`${p[xe]*(1-L)}`,u&&(X.style.opacity=y==="reverse"?`${1-L}`:`${L}`);});},getProgress(){return le()},refresh(){c.forEach((h,L)=>{Be(h,L),h.style.setProperty("--ssd-len",String(p[L]));});}}}if(mr())return gt(pr());function dr(){let i=Math.max(1,v),f=Z?i:i*(1+Math.max(0,c.length-1)*S),d=0,E=0,j=false;function ne(oe){let le=true,h=Math.min(1,Math.max(0,oe/f));if(Z){let L=Math.min(1,Math.max(0,oe/i)),X=Q(L);de=X,e.style.setProperty("--scroll-draw-progress",String(X)),e.style.clipPath=Se(y==="reverse"?1-X:X),Oe?.(X),L<1&&(le=false);}else {c.forEach((X,xe)=>{let yr=xe*S*i,Ht=Math.min(1,Math.max(0,(oe-yr)/i));yt(X,xe,Q(Ht),y),Ht<1&&(le=false);});let L=Q(h);de=L,Oe?.(L),e.style.setProperty("--scroll-draw-progress",String(L));}if(x){let L=Q(h);for(let X in x){let xe=parseFloat(X);L>=xe&&!Re.has(xe)&&(Re.add(xe),x[X]?.());}}return le}function U(oe){if(ae)return;let le=oe-d;Te||(Te=true,J?.());let h=ne(le);if(h&&!q){q=true,ne(f),re?.(),Ie<(ee==="infinite"?1/0:ee??0)&&(Ie++,He=setTimeout(()=>{d=performance.now(),Te=false,q=false,Re.clear(),ht(),Me=requestAnimationFrame(U);},te));return}h||(Me=requestAnimationFrame(U));}function O(){cancelAnimationFrame(Me),clearTimeout(He),d=performance.now(),E=0,ae=false,Te=false,q=false,Ie=0,j=true,de=0,Re.clear(),ht(),Me=requestAnimationFrame(U);}let I=new IntersectionObserver(oe=>{oe.forEach(le=>{le.isIntersecting&&!(H&&q)?O():!le.isIntersecting&&!H&&!q&&(cancelAnimationFrame(Me),clearTimeout(He),j=false);});},{root:G??null,threshold:W,rootMargin:ye}),K;function Y(){clearTimeout(K),K=setTimeout(()=>c.forEach(Be),150);}return window.addEventListener("resize",Y),window.addEventListener("orientationchange",Y),R>0?setTimeout(()=>I.observe(e),R):I.observe(e),{destroy(){cancelAnimationFrame(Me),clearTimeout(He),I.disconnect(),window.removeEventListener("resize",Y),window.removeEventListener("orientationchange",Y),clearTimeout(K);},replay(){Ie=0,O();},pause(){ae||!j||(ae=true,E=performance.now()-d,cancelAnimationFrame(Me));},resume(){ae&&(ae=false,j=true,d=performance.now()-E,Me=requestAnimationFrame(U));},seek(oe){let le=Math.min(1,Math.max(0,oe));de=le,ae=true,E=le*f,d=performance.now()-E,cancelAnimationFrame(Me),ne(E);},getProgress(){return de},refresh(){clearTimeout(K),c.forEach(Be);}}}if(ie)return gt(dr());Ct();let Dt=()=>z(et(),k,Pe,1);function kt(){q=true,re?.(),Ie<(ee==="infinite"?1/0:ee)&&(Ie++,He=setTimeout(()=>{pt=true;},te));}function Ot(){mt=-1,Je=[],Te=false,q=false,pt=false,Re.clear(),ht(),_e=true;}function gr(){let i=performance.now(),f=et();if(pt&&Dt()%1&&Ot(),!_e&&A===false&&f===Mt)return;_e=false,Mt=f;let d=l;if(A!==false){let O=i-xt,I=O>0?Math.abs(f-(Ke<0?f:Ke))/O:0;d=l*Math.max(.2,1+I*(typeof A=="number"?A:1)*.04);}Ke=f,xt=i;let E=me?Ze===-1||f>=Ze?"forward":"reverse":y;Ze=f;let j=P-T,ne=true,U=j===0?0:(f-T)/j;if(isNaN(Ve)||(Ve<=0&&U>0&&he?.(),Ve<1&&U>=1&&Ne?.(),Ve>=1&&U<1&&be?.(),Ve>0&&U<=0&&pe?.()),Ve=U,Z){let O=Pt(0,z(f,T,P,d));de=O,e.style.setProperty("--scroll-draw-progress",String(O));let I=E==="reverse"?1-O:O;e.style.clipPath=Se(I),Oe?.(O),!Te&&z(f,T,P,d)>0&&(Te=true,J?.()),O>=1&&!q?kt():O<1&&!H&&(q=false);return}if(c.forEach((O,I)=>{let K=I*_*j,Y=Pt(I,z(f,T+K,P+K,d));yt(O,I,Y,E),I===0&&(de=Y,Oe?.(Y),e.style.setProperty("--scroll-draw-progress",String(Y))),Y<1&&(ne=false);}),x){let O=Q(z(f,T,P,d));for(let I in x){let K=parseFloat(I);O>=K&&!Re.has(K)&&(Re.add(K),x[I]?.());}}!Te&&z(f,T,P,d)>0&&(Te=true,J?.()),ne&&!q?kt():!ne&&!H&&(q=false);}let qe=ke(G??window,[e],Dt,gr,()=>{let i=p.join();c.forEach(Be),Ct(),_e=true,p.join()!==i&&je();}),bt=R>0;function je(){qe.hold(ae||bt);}let It;return bt&&(It=setTimeout(()=>{bt=false,je();},R)),je(),gt({destroy(){clearTimeout(He),clearTimeout(It),qe.off(),Tt();},replay(){Ot(),Ze=-1,Ke=-1,Ie=0,ae=false,de=0,clearTimeout(He),je();},pause(){ae=true,qe.hold(true);},resume(){ae&&(ae=false,_e=true,je());},seek(i){let f=Math.min(1,Math.max(0,i));de=f,mt=f,Je=[],ae=true,qe.hold(true),fr(f,y),_e=true;},getProgress(){return de},refresh:qe.remeasure},()=>({tStart:T,tEnd:P}))}function Or(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Zt(e){let t=[],r=/([\w]+)\(([^)]*)\)/g,n;for(;(n=r.exec(e))!==null;){let o=[],s=[],a=n[2].trim();if(a)for(let l of a.split(/[\s,]+/)){let u=l.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(u?parseFloat(u[1]):0),s.push(u?u[2]:"");}t.push({fn:n[1],nums:o,units:s});}return t}function Ir(e,t,r){let n=Zt(e),o=Zt(t);return n.length===0||n.length!==o.length?r<1?e:t:n.map((s,a)=>{let l=o[a];return s.fn!==l.fn||s.nums.length!==l.nums.length?r<1?`${s.fn}(${s.nums.map((u,m)=>`${u}${s.units[m]}`).join(", ")})`:`${l.fn}(${l.nums.map((u,m)=>`${u}${l.units[m]}`).join(", ")})`:`${s.fn}(${s.nums.map((u,m)=>`${u+(l.nums[m]-u)*r}${s.units[m]}`).join(", ")})`}).join(" ")}function Kt(e,t,r){if(typeof e=="number"&&typeof t=="number")return String(e+(t-e)*r);let n=String(e),o=String(t);if(Or(n))return ot(n,o,r);if(n.includes("("))return Ir(n,o,r);let s=n.match(/^([-+]?[\d.]+)(.*)$/),a=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&a){let l=parseFloat(s[1]),u=parseFloat(a[1]);return `${l+(u-l)*r}${s[2]||a[2]}`}return r<1?n:o}function Hr(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}var Rr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Nr=0,er="--scroll-draw-progress";function Fr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var rr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function nr(e,t){return typeof window>"u"?rr:t.respectReducedMotion===false?tr(e,t,false):De(t,(r,n)=>tr(e,r,n))}function tr(e,t,r){let{props:n,trigger:o={},easing:s="ease-out",speed:a=1,once:l=false,axis:u="y",scrollContainer:m,native:g=true,velocityScale:S=false,triggerElement:y,onProgress:H,onComplete:se,onEnter:b,onLeave:$,onEnterBack:me,onLeaveBack:R}=t,M=$e(s,"ease-out"),C=fe(o.start||"top bottom"),D=fe(o.end||"bottom top"),x=y??e,A=typeof m=="string"?document.querySelector(m):m??null,W=Object.entries(n).map(([c,p])=>({prop:Hr(c),from:Array.isArray(p)?p[0]:"",to:Array.isArray(p)?p[1]:p}));function ye(){let c=window.getComputedStyle(e);for(let p of W)p.from===""&&(p.from=c.getPropertyValue(p.prop).trim()||"0");}function ee(){for(let c of W)e.style.setProperty(c.prop,String(c.to));}let te=new Map;for(let c of [...W.map(p=>p.prop),er])te.set(c,e.style.getPropertyValue(c));function N(){for(let[c,p]of te)p?e.style.setProperty(c,p):e.style.removeProperty(c);}if(r)return ee(),se?.(),{...rr,destroy:N,getProgress:()=>1};ye();let w=()=>A?u==="x"?A.scrollLeft:A.scrollTop:u==="x"?window.scrollX:window.scrollY,ie=()=>A?u==="x"?A.clientWidth:A.clientHeight:u==="x"?window.innerWidth:window.innerHeight,v=typeof s=="string"?st(s):null;function F(){if(!g||!Fr()||!v||u!=="y"||A||x!==e||l||a!==1||H||se||b||$||me||R||S!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let c of W)if(!Rr.has(c.prop))return false;return true}function Oe(){let c=`ssd-a-${++Nr}`,p=W.map(k=>`${k.prop}:${k.from}`).join(";"),B=W.map(k=>`${k.prop}:${k.to}`).join(";"),T=document.createElement("style");T.setAttribute("data-ssd-animate",""),T.textContent=`@keyframes ${c}{from{${p}}to{${B}}}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${v};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(T),e.classList.add(c);let P=()=>{let k=e.getBoundingClientRect();return ge({top:k.top,height:k.height},w(),ie(),C,D)};Le(e,{type:"animate",getProgress:()=>_.getProgress(),getTrigger:P});let _={refresh(){},destroy(){e.classList.remove(c),T.remove(),e.style.animationPlayState="",N(),Ae(e);},replay(){e.classList.remove(c),e.offsetWidth,e.classList.add(c);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(k){let Pe=Math.min(1,Math.max(0,k));e.classList.remove(c);for(let q of W)e.style.setProperty(q.prop,Kt(q.from,q.to,Pe));},getProgress(){let{tStart:k,tEnd:Pe}=P();return M(z(w(),k,Pe,a))}};return _}if(F())return Oe();let J=0,re=0,he=false,Ne=-1,be=0,pe=0,Z=false,Q=NaN,Fe=-1,Ge=0,G=x===e?W:[],we=false;function ve(){let c=e.style,p=G.map(_=>c.getPropertyValue(_.prop)),B=c.transition;G.length&&(c.transition="none"),G.forEach(_=>c.setProperty(_.prop,te.get(_.prop)??""));let T=tt(x,A,u);G.forEach((_,k)=>c.setProperty(_.prop,p[k])),G.length&&(e.offsetWidth,c.transition=B);let P=ge(T,T.scroll,ie(),C,D);we&&Math.abs(P.tStart-J)<1&&Math.abs(P.tEnd-re)<1||(we=true,J=P.tStart,re=P.tEnd);}function ce(c){e.style.setProperty(er,String(c));for(let p of W)e.style.setProperty(p.prop,Kt(p.from,p.to,c));H?.(c);}function Ce(c){if(isNaN(Q)){Q=c;return}Q<=0&&c>0&&b?.(),Q<1&&c>=1&&$?.(),Q>=1&&c<1&&me?.(),Q>0&&c<=0&&R?.(),Q=c;}function Ee(){if(he)return;let c=performance.now(),p=w(),B=a;if(S!==false){let k=c-Ge,Pe=k>0?Math.abs(p-(Fe<0?p:Fe))/k:0;B=a*Math.max(.2,1+Pe*(typeof S=="number"?S:1)*.04);}Fe=p,Ge=c;let T=re===J?0:(p-J)/(re-J);Ce(T);let P=z(p,J,re,B),_=l?Math.max(Ne,M(be=Math.max(be,P))):M(P);pe=_,ce(_),_>=1&&!Z?(Z=true,se?.()):_<1&&!l&&(Z=false);}let ue=ke(A??window,[x],()=>z(w(),J,re,Math.min(a,1)),Ee,ve);ve(),re===J&&V("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),be=z(w(),J,re,a),pe=M(be),ce(pe),Le(e,{type:"animate",getProgress:()=>pe,getTrigger:()=>({tStart:J,tEnd:re})});function Se(){he=true,ue.hold(true);}return {destroy(){he=true,ue.off(),N(),Ae(e);},replay(){Ne=-1,be=0,Z=false,pe=0,he=false,ce(0),ue.hold(false);},pause:Se,resume(){he&&(he=false,ue.hold(false));},seek(c){let p=Math.min(1,Math.max(0,c));pe=p,Ne=p,be=0,Se(),ce(p);},getProgress(){return pe},refresh:ue.remeasure}}var vt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function or(e,t){if(typeof window>"u")return vt;let r=typeof e=="string"?document.querySelector(e):e;return r?De(t,(n,o)=>_r(r,n,o)):(V("scrollCounter: element not found:",e),vt)}function _r(e,t,r){let{from:n=0,to:o,format:s,easing:a="ease-out",trigger:l={},once:u=true,decimals:m,onComplete:g}=t,S=m!==void 0?v=>v.toFixed(m):s??(v=>String(Math.round(v))),y=$e(a,"ease-out"),H=fe(l.start||"top 80%"),se=fe(l.end||"top 20%");if(r)return e.textContent=S(o),g?.(),{...vt,getProgress:()=>1};let b=0,$=0,me=false,R=-1,M=0,C=0,D=false,x=()=>window.scrollY,A=()=>window.innerHeight;function W(){let v=e.getBoundingClientRect(),F=ge({top:v.top,height:v.height},x(),A(),H,se);me&&Math.abs(F.tStart-b)<1&&Math.abs(F.tEnd-$)<1||(me=true,b=F.tStart,$=F.tEnd);}let ye=e.style.getPropertyValue("--scroll-draw-progress");function ee(v){e.textContent=S(n+(o-n)*v),e.style.setProperty("--scroll-draw-progress",String(v));}let te=()=>z(x(),b,$,1);function N(){let v=te(),F=u?Math.max(R,y(M=Math.max(M,v))):y(v);C=F,ee(F),F>=1&&!D?(D=true,g?.()):F<1&&!u&&(D=false);}W();{M=z(x(),b,$,1);let v=y(M);C=v,ee(v);}let w=ke(window,[e],te,N,W);Le(e,{type:"counter",getProgress:()=>C,getTrigger:()=>({tStart:b,tEnd:$})});let ie=()=>w.hold(false);return {destroy(){w.off(),e.style.setProperty("--scroll-draw-progress",ye),Ae(e);},replay(){R=-1,M=0,D=false,C=0,ee(0),ie();},pause:()=>w.hold(true),resume:ie,seek(v){let F=Math.min(1,Math.max(0,v));C=F,R=F,M=0,w.hold(true),ee(F);},getProgress(){return C}}}function sr(e,t){let r=document.createElement("span");r.textContent=t,r.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(r);}function ct(e=""){let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=e,t}function ar(e){let t=e.textContent??"";return e.textContent="",t.split(/(\s+)/).filter(Boolean).map(r=>{let n=e.appendChild(ct(r)),o=/^\s+$/.test(r);return o?n.style.whiteSpace="pre":n.style.display="inline-block",o?null:n}).filter(r=>r!==null)}function Vr(e){let t=e.textContent??"";e.textContent="";let r=[],n=null;for(let o of t){let s=ct(o),a=o===" ";a?s.style.whiteSpace="pre":(s.style.display="inline-block",r.push(s)),a||o>"\u0DFF"?n=null:n||(n=e.appendChild(ct()),n.style.cssText="display:inline-block;white-space:nowrap"),(n??e).appendChild(s);}return r}function ir(e){let t=ar(e),r=new Map;for(let s of t){let a=s.offsetTop;r.has(a)||r.set(a,[]),r.get(a).push(s);}let n=[],o=Array.from(r.keys()).sort((s,a)=>s-a);for(let s of o){let a=r.get(s),l=ct();l.style.display="inline-block",a.forEach((u,m)=>{let g=u.nextElementSibling;l.appendChild(u),m<a.length-1&&g&&g.style.whiteSpace==="pre"&&l.appendChild(g);}),n.push(l);}return e.textContent="",n.forEach((s,a)=>{e.appendChild(s),a<n.length-1&&e.appendChild(document.createTextNode(" "));}),n}function zr(e,t,r,n){if(r<=1||n===0)return e;n=Math.min(n,1/r);let o=(r-1)*n,s=t*n,a=s+(1-o);return a<=s?e>=s?1:0:Qe((e-s)/(a-s),0,1)}function Wr(e,t){let r=[];if(t?.y!==void 0&&r.push(`translateY(${t.y*(1-e)}px)`),t?.x!==void 0&&r.push(`translateX(${t.x*(1-e)}px)`),t?.rotate!==void 0&&r.push(`rotate(${t.rotate*(1-e)}deg)`),t?.scale!==void 0){let n=t.scale+(1-t.scale)*e;r.push(`scale(${n})`);}return r.join(" ")}var Et={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function lr(e,t={}){if(typeof window>"u")return Et;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return V("scrollText: element not found:",e),Et;let n=r;return De(t,(o,s)=>Gr(n,o,s))}function Gr(e,t,r){let{split:n="words",stagger:o=.04,easing:s="ease-out",from:a={opacity:0,y:24},trigger:l={},once:u=true,onComplete:m}=t,g=$e(s,"ease-out"),S=fe(l.start||"top 85%"),y=fe(l.end||"top 40%"),H=e.innerHTML,se=e.textContent??"",b;n==="chars"?b=Vr(e):n==="lines"?b=ir(e):b=ar(e),sr(e,se);let $=b.length;function me(w,ie){a?.opacity!==void 0&&(w.style.opacity=String(a.opacity+(1-a.opacity)*ie));let v=Wr(ie,a);v&&(w.style.transform=v);}function R(w){e.style.setProperty("--scroll-draw-progress",String(w)),b.forEach((ie,v)=>{let F=g(zr(w,v,$,o));me(ie,F);});}if(r)return R(1),m?.(),{...Et,destroy:()=>{e.innerHTML=H;},getProgress:()=>1};R(0);let M=0,C=0,D=-1,x=0,A=false;function W(){({tStart:M,tEnd:C}=ge(e.getBoundingClientRect(),window.scrollY,window.innerHeight,S,y));}let ye=()=>z(window.scrollY,M,C,1);function ee(){let w=u?D=Math.max(D,ye()):ye();x=w,R(w),w>=1&&!A?(A=true,m?.()):w<1&&!u&&(A=false);}W();let te=ke(window,[e],ye,ee,()=>{n==="lines"&&(e.innerHTML=H,b=ir(e),sr(e,se),R(x)),W();});Le(e,{type:"text",getProgress:()=>x,getTrigger:()=>({tStart:M,tEnd:C})});let N=()=>te.hold(false);return {destroy(){te.off(),e.innerHTML=H,Ae(e);},replay(){D=-1,A=false,x=0,R(0),N();},pause:()=>te.hold(true),resume:N,seek(w){te.hold(true),R(x=D=Qe(w,0,1));},getProgress(){return x}}}function Br(e,t){let r={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return r;let n=typeof e=="string"?document.querySelector(e):e;return n?lt(n,t):(V("Container not found:",e),r)}function Xe(){return typeof document>"u"?null:document}var St=new WeakMap,cr;function ut(e,t,r,n){let o=St.get(e)??new Map;St.set(e,o);let s=()=>{let u=r(),m=o.get(t);m&&m.key===u||(m?.inst.destroy(),o.set(t,{inst:n(u),key:u,build:s,users:m?.users??0}));};s(),o.get(t).users++;let a=true;typeof MutationObserver<"u"&&(cr??(cr=new MutationObserver(u=>u.forEach(m=>St.get(m.target)?.forEach(g=>g.build())))),cr.observe(e,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(u=>`data-scroll-${u}-options`).concat("data-scroll-drawoptions")}));let l=()=>o.get(t)?.inst;return {destroy:()=>{let u=o.get(t);!a||!u||(a=false,!(--u.users>0)&&(u.inst.destroy(),o.delete(t)));},replay:()=>l()?.replay(),pause:()=>l()?.pause(),resume:()=>l()?.resume(),seek:u=>l()?.seek(u),getProgress:()=>l()?.getProgress()??0,refresh:()=>l()?.refresh?.()}}function ft(e,t){try{return e?JSON.parse(e):t}catch{return t}}function qr(e=Xe()){return e?Array.from(e.querySelectorAll("[data-scroll-draw]")).map(t=>ut(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",r=>lt(t,ft(r,{})))):[]}function jr(e=Xe()){return e?Array.from(e.querySelectorAll("[data-scroll-animate]")).map(t=>ut(t,"animate",()=>t.dataset.scrollAnimateOptions??"",r=>nr(t,ft(r,{props:{}})))):[]}function Qr(e=Xe()){return e?Array.from(e.querySelectorAll("[data-scroll-counter]")).map(t=>ut(t,"counter",()=>t.dataset.scrollCounterOptions??"",r=>{let n=ft(r,{});return !n.to&&n.to!==0&&(V('initScrollCounter: element missing "to" in options JSON:',t),n.to=0),typeof n.format!="function"&&n.format!==void 0&&(V('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete n.format),or(t,n)})):[]}function Ur(e=Xe()){return e?Array.from(e.querySelectorAll("[data-scroll-text]")).map(t=>ut(t,"text",()=>t.dataset.scrollTextOptions??"",r=>lr(t,ft(r,{})))):[]}function lo(e=Xe()){return {draw:qr(e),animate:jr(e),counter:Qr(e),text:Ur(e)}}exports.initAll=lo;exports.initScrollAnimate=jr;exports.initScrollCounter=Qr;exports.initScrollDraw=qr;exports.initScrollText=Ur;exports.scrollDraw=Br;
3
+ <div style="position:absolute;${u?`left:${l}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${l}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",o,{passive:true}),o(),{el:n,destroy(){window.removeEventListener("scroll",o),n.remove();}}}var Xt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Jt=/[MmLlHhVvCcSsQqTtAaZz]/g;function $r(e,t,r){if(!Ve)return;let n=(e.match(Jt)??[]).join("").toUpperCase(),o=(t.match(Jt)??[]).join("").toUpperCase(),s=(e.match(Xt)??[]).length,a=(t.match(Xt)??[]).length;if(n!==o){N(`morphTo: command sequence differs (${n||"\u2205"} \u2192 ${o||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,r);return}s!==a&&N(`morphTo: coordinate count differs (${s} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function Dr(e,t,r){let n=(t.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let a=parseFloat(s),l=n[o++]??a;return String(+(a+(l-a)*r).toFixed(4))})}function lt(e,t={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:$e(t,(r,n)=>Or(e,r,n))}function Or(e,t,r){let{preset:n,...o}=t,s=n?{...zt[n],...o}:o,{selector:a="path, polyline, line, polygon, rect, circle",speed:l=1,fade:u=false,easing:m="linear",trigger:y={},stagger:v=0,direction:h="forward",once:M=false,debug:z=false,axis:E="y",scrollContainer:F,autoReverse:Z=false,delay:L=0,strokeColor:P,strokeWidth:_,fillOpacity:W,waypoints:A,velocityScale:C=false,threshold:H=0,rootMargin:fe="0px",repeat:ue=0,repeatDelay:Q=0,morphTo:D,clip:g,autoplay:S=false,duration:ge=1e3,native:We=true,onProgress:Oe,onStart:K,onComplete:re,onEnter:ye,onLeave:Re,onEnterBack:he,onLeaveBack:me}=s,ee=g===true?"left":typeof g=="string"?g:false,U=Pe(m),Ne=ce(y.start||"top bottom"),Ge=ce(y.end||"bottom top"),G=typeof F=="string"?document.querySelector(F):F??null,be=Array.isArray(P)?P[0]:null,we=Array.isArray(P)?P[1]:typeof P=="string"?P:null,ae=Array.isArray(_)?_[0]:null,Ae=Array.isArray(_)?_[1]:typeof _=="number"?_:null,ve=Array.isArray(W)?W[0]:null,le=Array.isArray(W)?W[1]:typeof W=="number"?W:null;function Ee(i){let f=i*100;switch(ee){case "right":return `inset(0 0 0 ${100-f}%)`;case "top":return `inset(0 0 ${100-f}% 0)`;case "bottom":return `inset(${100-f}% 0 0 0)`;case "center":return `circle(${i*150}% at 50% 50%)`;default:return `inset(0 ${100-f}% 0 0)`}}let c=ee?[]:Array.from(e.querySelectorAll(a)),p=[],B=[],T=0,$=0,R=v,O=0,Ce=0,q=false,Se=false,Te=0,mt=-1,Je=[],Ze=-1,se=false,pe=0,ke=0,Ie,pt=false,dt=null;function Tt(){dt?.destroy(),dt=null;}let He=new Set,Mt=NaN,Fe=true,Ke=-1,xt=performance.now(),_e=NaN;function et(){return G?E==="x"?G.scrollLeft:G.scrollTop:E==="x"?window.scrollX:window.scrollY}function Lt(){return G?E==="x"?G.clientWidth:G.clientHeight:E==="x"?window.innerWidth:window.innerHeight}function At(){let i=tt(e,G,E);return de(i,i.scroll,Lt(),Ne,Ge)}function ur(){let i=$-T,f=c.length-1,d=G??document.documentElement,w=E==="x"?"Width":"Height";if(R=v,v>0&&f>0&&i>0){let Y=d[`scroll${w}`]-d[`client${w}`]-1-T-i/l;Y>=0&&(R=Math.min(v,Y/(f*i)));}let j=Math.max(0,f)*R*i,ne=i/Math.min(l,1);O=T+Math.min(0,j,ne,j+ne),Ce=T+Math.max(0,j,ne,j+ne);}function Ct(){(({tStart:T,tEnd:$}=At())),ur(),z&&Ve&&(Tt(),dt=Pr(T,$,E));}function gt(i,f=At){xe(e,{type:"draw",getProgress:()=>i.getProgress(),getTrigger:f});let d=i.destroy;return i.destroy=()=>{d.call(i),Le(e);},i}function Pt(i,f){return M&&!Z?Math.max(mt,U(Je[i]=Math.max(Je[i]??0,f))):U(f)}function fr(i,f){if(e.style.setProperty("--scroll-draw-progress",String(i)),ee){let d=f==="reverse"?1-i:i;e.style.clipPath=Ee(d);return}c.forEach((d,w)=>yt(d,w,i,f));}function yt(i,f,d,w){i.style.strokeDashoffset=w==="reverse"?`${p[f]*d}`:`${p[f]*(1-d)}`,u&&(i.style.opacity=w==="reverse"?`${1-d}`:`${d}`),be&&we?i.style.stroke=ot(be,we,d):we&&(i.style.stroke=we),ae!==null&&Ae!==null?i.style.strokeWidth=`${ae+(Ae-ae)*d}`:Ae!==null&&(i.style.strokeWidth=`${Ae}`),ve!==null&&le!==null?i.style.fillOpacity=`${ve+(le-ve)*d}`:le!==null&&(i.style.fillOpacity=`${le}`),D&&i.tagName.toLowerCase()==="path"&&B[f]&&i.setAttribute("d",Dr(B[f],D,d));}function ht(){if(e.style.setProperty("--scroll-draw-progress","0"),ee){e.style.clipPath=Ee(h==="reverse"?1:0);return}c.forEach((i,f)=>{i.style.strokeDasharray=nt(p[f]),i.style.strokeDashoffset=h==="reverse"?"0":`${p[f]}`,u?i.style.opacity=h==="reverse"?"1":"0":i.style.opacity="",be&&(i.style.stroke=be),ae!==null&&(i.style.strokeWidth=`${ae}`),ve!==null&&(i.style.fillOpacity=`${ve}`),D&&i.tagName.toLowerCase()==="path"&&B[f]&&i.setAttribute("d",B[f]);});}function Be(i,f){let d=i.getAttribute("d"),w=rt(i);if(D&&B[f]){i.setAttribute("d",D);let j=rt(i);i.setAttribute("d",B[f]),w=Math.max(rt(i),j),i.setAttribute("d",d);}p[f]=w,i.style.strokeDasharray=nt(w);}if(c.forEach((i,f)=>{Cr(i);let d=i.tagName.toLowerCase()==="path";d?B.push(i.getAttribute("d")??""):B.push(""),Be(i,f);let w=p[f];D&&(d?$r(B[B.length-1],D,i):N(`morphTo only applies to <path> elements \u2014 ignored on <${i.tagName}>.`,i)),r?(i.style.strokeDashoffset=h==="reverse"?`${w}`:"0",u&&(i.style.opacity="1"),we&&(i.style.stroke=we),Ae!==null&&(i.style.strokeWidth=`${Ae}`),le!==null&&(i.style.fillOpacity=`${le}`),D&&i.tagName.toLowerCase()==="path"&&i.setAttribute("d",D)):(i.style.strokeDashoffset=h==="reverse"?"0":`${w}`,u?i.style.opacity=h==="reverse"?"1":"0":i.style.opacity="",be&&(i.style.stroke=be),ae!==null&&(i.style.strokeWidth=`${ae}`),ve!==null&&(i.style.fillOpacity=`${ve}`));}),r)return ee&&(e.style.clipPath=Ee(1)),re?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};ee&&(e.style.clipPath=Ee(h==="reverse"?1:0));let $t=typeof m=="string"?st(m):null;function mr(){return !(We===false||S||z&&Ve||!Ar()||!c.length||!$t||ee||E!=="y"||G||l!==1||v!==0||M||Z||C!==false||D||A||ue||L>0||Oe||K||re||ye||Re||he||me||P!=null||_!=null||W!=null||(y.start||"top bottom").trim()!=="top bottom"||(y.end||"bottom top").trim()!=="bottom top")}function pr(){let i=++Lr,f=`svg-scroll-draw-${i}`,d=`svg-scroll-draw-host-${i}`,w=`--svg-scroll-draw-${i}`,j=h==="reverse"?"0":"var(--ssd-len)",ne=h==="reverse"?"var(--ssd-len)":"0",Y=`stroke-dashoffset:${j};`,k=`stroke-dashoffset:${ne};`;u&&(Y+=`opacity:${h==="reverse"?1:0};`,k+=`opacity:${h==="reverse"?0:1};`);let I=document.createElement("style");I.setAttribute("data-svg-scroll-draw",""),I.textContent=`@keyframes ${f}{from{${Y}}to{${k}}}.${d}{view-timeline-name:${w};view-timeline-axis:block;}.${f}{animation-name:${f};animation-duration:auto;animation-timing-function:${$t};animation-fill-mode:both;animation-timeline:${w};animation-range:cover 0% cover 100%;}`,document.head.appendChild(I),e.classList.add(d);function te(b,x){b.style.setProperty("--ssd-len",String(p[x])),b.style.strokeDasharray=nt(p[x]),b.style.strokeDashoffset="",b.style.opacity="",b.style.animationPlayState="",b.classList.add(f);}c.forEach(te);let X=false,oe=-1;function ie(){if(oe>=0)return oe;let b=e.getBoundingClientRect(),{tStart:x,tEnd:J}=de({top:b.top,height:b.height},et(),Lt(),Ne,Ge);return U(V(et(),x,J,l))}return {destroy(){e.classList.remove(d),c.forEach(b=>{b.classList.remove(f),b.style.removeProperty("--ssd-len"),b.style.animationPlayState="";}),I.remove();},replay(){X=false,oe=-1,c.forEach(te);},pause(){X=true,c.forEach(b=>{b.style.animationPlayState="paused";});},resume(){X&&(X=false,c.forEach(b=>{b.style.animationPlayState="running";}));},seek(b){let x=Math.min(1,Math.max(0,b));oe=x,X=true,c.forEach((J,Me)=>{J.classList.remove(f),J.style.strokeDashoffset=h==="reverse"?`${p[Me]*x}`:`${p[Me]*(1-x)}`,u&&(J.style.opacity=h==="reverse"?`${1-x}`:`${x}`);});},getProgress(){return ie()},refresh(){c.forEach((b,x)=>{Be(b,x),b.style.setProperty("--ssd-len",String(p[x]));});}}}if(mr())return gt(pr());function dr(){let i=Math.max(1,ge),f=ee?i:i*(1+Math.max(0,c.length-1)*v),d=0,w=0,j=false;function ne(oe){let ie=true,b=Math.min(1,Math.max(0,oe/f));if(ee){let x=Math.min(1,Math.max(0,oe/i)),J=U(x);pe=J,e.style.setProperty("--scroll-draw-progress",String(J)),e.style.clipPath=Ee(h==="reverse"?1-J:J),Oe?.(J),x<1&&(ie=false);}else {c.forEach((J,Me)=>{let yr=Me*v*i,Ht=Math.min(1,Math.max(0,(oe-yr)/i));yt(J,Me,U(Ht),h),Ht<1&&(ie=false);});let x=U(b);pe=x,Oe?.(x),e.style.setProperty("--scroll-draw-progress",String(x));}if(A){let x=U(b);for(let J in A){let Me=parseFloat(J);x>=Me&&!He.has(Me)&&(He.add(Me),A[J]?.());}}return ie}function Y(oe){if(se)return;let ie=oe-d;Se||(Se=true,K?.());let b=ne(ie);if(b&&!q){q=true,ne(f),re?.(),ke<(ue==="infinite"?1/0:ue??0)&&(ke++,Ie=setTimeout(()=>{d=performance.now(),Se=false,q=false,He.clear(),ht(),Te=requestAnimationFrame(Y);},Q));return}b||(Te=requestAnimationFrame(Y));}function k(){cancelAnimationFrame(Te),clearTimeout(Ie),d=performance.now(),w=0,se=false,Se=false,q=false,ke=0,j=true,pe=0,He.clear(),ht(),Te=requestAnimationFrame(Y);}let I=new IntersectionObserver(oe=>{oe.forEach(ie=>{ie.isIntersecting&&!(M&&q)?k():!ie.isIntersecting&&!M&&!q&&(cancelAnimationFrame(Te),clearTimeout(Ie),j=false);});},{root:G??null,threshold:H,rootMargin:fe}),te;function X(){clearTimeout(te),te=setTimeout(()=>c.forEach(Be),150);}return window.addEventListener("resize",X),window.addEventListener("orientationchange",X),L>0?setTimeout(()=>I.observe(e),L):I.observe(e),{destroy(){cancelAnimationFrame(Te),clearTimeout(Ie),I.disconnect(),window.removeEventListener("resize",X),window.removeEventListener("orientationchange",X),clearTimeout(te);},replay(){ke=0,k();},pause(){se||!j||(se=true,w=performance.now()-d,cancelAnimationFrame(Te));},resume(){se&&(se=false,j=true,d=performance.now()-w,Te=requestAnimationFrame(Y));},seek(oe){let ie=Math.min(1,Math.max(0,oe));pe=ie,se=true,w=ie*f,d=performance.now()-w,cancelAnimationFrame(Te),ne(w);},getProgress(){return pe},refresh(){clearTimeout(te),c.forEach(Be);}}}if(S)return gt(dr());Ct();let Dt=()=>V(et(),O,Ce,1);function Ot(){q=true,re?.(),ke<(ue==="infinite"?1/0:ue)&&(ke++,Ie=setTimeout(()=>{pt=true;},Q));}function kt(){mt=-1,Je=[],Se=false,q=false,pt=false,He.clear(),ht(),Fe=true;}function gr(){let i=performance.now(),f=et();if(pt&&Dt()%1&&kt(),!Fe&&C===false&&f===Mt)return;Fe=false,Mt=f;let d=l;if(C!==false){let k=i-xt,I=k>0?Math.abs(f-(Ke<0?f:Ke))/k:0;d=l*Math.max(.2,1+I*(typeof C=="number"?C:1)*.04);}Ke=f,xt=i;let w=Z?Ze===-1||f>=Ze?"forward":"reverse":h;Ze=f;let j=$-T,ne=true,Y=j===0?0:(f-T)/j;if(isNaN(_e)||(_e<=0&&Y>0&&ye?.(),_e<1&&Y>=1&&Re?.(),_e>=1&&Y<1&&he?.(),_e>0&&Y<=0&&me?.()),_e=Y,ee){let k=Pt(0,V(f,T,$,d));pe=k,e.style.setProperty("--scroll-draw-progress",String(k));let I=w==="reverse"?1-k:k;e.style.clipPath=Ee(I),Oe?.(k),!Se&&V(f,T,$,d)>0&&(Se=true,K?.()),k>=1&&!q?Ot():k<1&&!M&&(q=false);return}if(c.forEach((k,I)=>{let te=I*R*j,X=Pt(I,V(f,T+te,$+te,d));yt(k,I,X,w),I===0&&(pe=X,Oe?.(X),e.style.setProperty("--scroll-draw-progress",String(X))),X<1&&(ne=false);}),A){let k=U(V(f,T,$,d));for(let I in A){let te=parseFloat(I);k>=te&&!He.has(te)&&(He.add(te),A[I]?.());}}!Se&&V(f,T,$,d)>0&&(Se=true,K?.()),ne&&!q?Ot():!ne&&!M&&(q=false);}let qe=De(G??window,[e],Dt,gr,()=>{let i=p.join();c.forEach(Be),Ct(),Fe=true,p.join()!==i&&je();}),bt=L>0;function je(){qe.hold(se||bt);}let It;return bt&&(It=setTimeout(()=>{bt=false,je();},L)),je(),gt({destroy(){clearTimeout(Ie),clearTimeout(It),qe.off(),Tt();},replay(){kt(),Ze=-1,Ke=-1,ke=0,se=false,pe=0,clearTimeout(Ie),je();},pause(){se=true,qe.hold(true);},resume(){se&&(se=false,Fe=true,je());},seek(i){let f=Math.min(1,Math.max(0,i));pe=f,mt=f,Je=[],se=true,qe.hold(true),fr(f,h),Fe=true;},getProgress(){return pe},refresh:qe.remeasure},()=>({tStart:T,tEnd:$}))}function kr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Zt(e){let t=[],r=/([\w]+)\(([^)]*)\)/g,n;for(;(n=r.exec(e))!==null;){let o=[],s=[],a=n[2].trim();if(a)for(let l of a.split(/[\s,]+/)){let u=l.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(u?parseFloat(u[1]):0),s.push(u?u[2]:"");}t.push({fn:n[1],nums:o,units:s});}return t}function Ir(e,t,r){let n=Zt(e),o=Zt(t);return n.length===0||n.length!==o.length?r<1?e:t:n.map((s,a)=>{let l=o[a];return s.fn!==l.fn||s.nums.length!==l.nums.length?r<1?`${s.fn}(${s.nums.map((u,m)=>`${u}${s.units[m]}`).join(", ")})`:`${l.fn}(${l.nums.map((u,m)=>`${u}${l.units[m]}`).join(", ")})`:`${s.fn}(${s.nums.map((u,m)=>`${u+(l.nums[m]-u)*r}${s.units[m]}`).join(", ")})`}).join(" ")}function Kt(e,t,r){if(typeof e=="number"&&typeof t=="number")return String(e+(t-e)*r);let n=String(e),o=String(t);if(kr(n))return ot(n,o,r);if(n.includes("("))return Ir(n,o,r);let s=n.match(/^([-+]?[\d.]+)(.*)$/),a=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&a){let l=parseFloat(s[1]),u=parseFloat(a[1]);return `${l+(u-l)*r}${s[2]||a[2]}`}return r<1?n:o}function Hr(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}var Rr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Nr=0,er="--scroll-draw-progress";function Fr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var rr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function nr(e,t){return typeof window>"u"?rr:t.respectReducedMotion===false?tr(e,t,false):$e(t,(r,n)=>tr(e,r,n))}function tr(e,t,r){let{props:n,trigger:o={},easing:s="ease-out",speed:a=1,once:l=false,axis:u="y",scrollContainer:m,native:y=true,velocityScale:v=false,triggerElement:h,onProgress:M,onComplete:z,onEnter:E,onLeave:F,onEnterBack:Z,onLeaveBack:L}=t,P=Pe(s,"ease-out"),_=ce(o.start||"top bottom"),W=ce(o.end||"bottom top"),A=h??e,C=typeof m=="string"?document.querySelector(m):m??null,H=Object.entries(n).map(([c,p])=>({prop:Hr(c),from:Array.isArray(p)?p[0]:"",to:Array.isArray(p)?p[1]:p}));function fe(){let c=window.getComputedStyle(e);for(let p of H)p.from===""&&(p.from=c.getPropertyValue(p.prop).trim()||"0");}function ue(){for(let c of H)e.style.setProperty(c.prop,String(c.to));}let Q=new Map;for(let c of [...H.map(p=>p.prop),er])Q.set(c,e.style.getPropertyValue(c));function D(){for(let[c,p]of Q)p?e.style.setProperty(c,p):e.style.removeProperty(c);}if(r)return ue(),z?.(),{...rr,destroy:D,getProgress:()=>1};fe();let g=()=>C?u==="x"?C.scrollLeft:C.scrollTop:u==="x"?window.scrollX:window.scrollY,S=()=>C?u==="x"?C.clientWidth:C.clientHeight:u==="x"?window.innerWidth:window.innerHeight,ge=typeof s=="string"?st(s):null;function We(){if(!y||!Fr()||!ge||u!=="y"||C||A!==e||l||a!==1||M||z||E||F||Z||L||v!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let c of H)if(!Rr.has(c.prop))return false;return true}function Oe(){let c=`ssd-a-${++Nr}`,p=H.map(O=>`${O.prop}:${O.from}`).join(";"),B=H.map(O=>`${O.prop}:${O.to}`).join(";"),T=document.createElement("style");T.setAttribute("data-ssd-animate",""),T.textContent=`@keyframes ${c}{from{${p}}to{${B}}}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${ge};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(T),e.classList.add(c);let $=()=>{let O=e.getBoundingClientRect();return de({top:O.top,height:O.height},g(),S(),_,W)};xe(e,{type:"animate",getProgress:()=>R.getProgress(),getTrigger:$});let R={refresh(){},destroy(){e.classList.remove(c),T.remove(),e.style.animationPlayState="",D(),Le(e);},replay(){e.classList.remove(c),e.offsetWidth,e.classList.add(c);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(O){let Ce=Math.min(1,Math.max(0,O));e.classList.remove(c);for(let q of H)e.style.setProperty(q.prop,Kt(q.from,q.to,Ce));},getProgress(){let{tStart:O,tEnd:Ce}=$();return P(V(g(),O,Ce,a))}};return R}if(We())return Oe();let K=0,re=0,ye=false,Re=-1,he=0,me=0,ee=false,U=NaN,Ne=-1,Ge=0,G=A===e?H:[],be=false;function we(){let c=e.style,p=G.map(R=>c.getPropertyValue(R.prop)),B=c.transition;G.length&&(c.transition="none"),G.forEach(R=>c.setProperty(R.prop,Q.get(R.prop)??""));let T=tt(A,C,u);G.forEach((R,O)=>c.setProperty(R.prop,p[O])),G.length&&(e.offsetWidth,c.transition=B);let $=de(T,T.scroll,S(),_,W);be&&Math.abs($.tStart-K)<1&&Math.abs($.tEnd-re)<1||(be=true,K=$.tStart,re=$.tEnd);}function ae(c){e.style.setProperty(er,String(c));for(let p of H)e.style.setProperty(p.prop,Kt(p.from,p.to,c));M?.(c);}function Ae(c){if(isNaN(U)){U=c;return}U<=0&&c>0&&E?.(),U<1&&c>=1&&F?.(),U>=1&&c<1&&Z?.(),U>0&&c<=0&&L?.(),U=c;}function ve(){if(ye)return;let c=performance.now(),p=g(),B=a;if(v!==false){let O=c-Ge,Ce=O>0?Math.abs(p-(Ne<0?p:Ne))/O:0;B=a*Math.max(.2,1+Ce*(typeof v=="number"?v:1)*.04);}Ne=p,Ge=c;let T=re===K?0:(p-K)/(re-K);Ae(T);let $=V(p,K,re,B),R=l?Math.max(Re,P(he=Math.max(he,$))):P($);me=R,ae(R),R>=1&&!ee?(ee=true,z?.()):R<1&&!l&&(ee=false);}let le=De(C??window,[A],()=>V(g(),K,re,Math.min(a,1)),ve,we);we(),re===K&&N("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),he=V(g(),K,re,a),me=P(he),ae(me),xe(e,{type:"animate",getProgress:()=>me,getTrigger:()=>({tStart:K,tEnd:re})});function Ee(){ye=true,le.hold(true);}return {destroy(){ye=true,le.off(),D(),Le(e);},replay(){Re=-1,he=0,ee=false,me=0,ye=false,ae(0),le.hold(false);},pause:Ee,resume(){ye&&(ye=false,le.hold(false));},seek(c){let p=Math.min(1,Math.max(0,c));me=p,Re=p,he=0,Ee(),ae(p);},getProgress(){return me},refresh:le.remeasure}}var _r=({decimals:e,format:t})=>e!==void 0?r=>r.toFixed(e):t??(r=>String(Math.round(r)));var vt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function or(e,t){if(typeof window>"u")return vt;let r=typeof e=="string"?document.querySelector(e):e;return r?$e(t,(n,o)=>Vr(r,n,o)):(N("scrollCounter: element not found:",e),vt)}function Vr(e,t,r){let{from:n=0,to:o,easing:s="ease-out",trigger:a={},once:l=true,onComplete:u}=t,m=_r(t),y=Pe(s,"ease-out"),v=ce(a.start||"top 80%"),h=ce(a.end||"top 20%");if(r)return e.textContent=m(o),u?.(),{...vt,getProgress:()=>1};let M=0,z=0,E=false,F=-1,Z=0,L=0,P=false,_=()=>window.scrollY,W=()=>window.innerHeight;function A(){let g=e.getBoundingClientRect(),S=de({top:g.top,height:g.height},_(),W(),v,h);E&&Math.abs(S.tStart-M)<1&&Math.abs(S.tEnd-z)<1||(E=true,M=S.tStart,z=S.tEnd);}let C=e.style.getPropertyValue("--scroll-draw-progress");function H(g){e.textContent=m(n+(o-n)*g),e.style.setProperty("--scroll-draw-progress",String(g));}let fe=()=>V(_(),M,z,1);function ue(){let g=fe(),S=l?Math.max(F,y(Z=Math.max(Z,g))):y(g);L=S,H(S),S>=1&&!P?(P=true,u?.()):S<1&&!l&&(P=false);}A();{Z=V(_(),M,z,1);let g=y(Z);L=g,H(g);}let Q=De(window,[e],fe,ue,A);xe(e,{type:"counter",getProgress:()=>L,getTrigger:()=>({tStart:M,tEnd:z})});let D=()=>Q.hold(false);return {destroy(){Q.off(),e.style.setProperty("--scroll-draw-progress",C),Le(e);},replay(){F=-1,Z=0,P=false,L=0,H(0),D();},pause:()=>Q.hold(true),resume:D,seek(g){let S=Math.min(1,Math.max(0,g));L=S,F=S,Z=0,Q.hold(true),H(S);},getProgress(){return L}}}function sr(e,t){let r=document.createElement("span");r.textContent=t,r.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(r);}function ct(e=""){let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=e,t}function ar(e){let t=e.textContent??"";return e.textContent="",t.split(/(\s+)/).filter(Boolean).map(r=>{let n=e.appendChild(ct(r)),o=/^\s+$/.test(r);return o?n.style.whiteSpace="pre":n.style.display="inline-block",o?null:n}).filter(r=>r!==null)}function zr(e){let t=e.textContent??"";e.textContent="";let r=[],n=null;for(let o of t){let s=ct(o),a=o===" ";a?s.style.whiteSpace="pre":(s.style.display="inline-block",r.push(s)),a||o>"\u0DFF"?n=null:n||(n=e.appendChild(ct()),n.style.cssText="display:inline-block;white-space:nowrap"),(n??e).appendChild(s);}return r}function ir(e){let t=ar(e),r=new Map;for(let s of t){let a=s.offsetTop;r.has(a)||r.set(a,[]),r.get(a).push(s);}let n=[],o=Array.from(r.keys()).sort((s,a)=>s-a);for(let s of o){let a=r.get(s),l=ct();l.style.display="inline-block",a.forEach((u,m)=>{let y=u.nextElementSibling;l.appendChild(u),m<a.length-1&&y&&y.style.whiteSpace==="pre"&&l.appendChild(y);}),n.push(l);}return e.textContent="",n.forEach((s,a)=>{e.appendChild(s),a<n.length-1&&e.appendChild(document.createTextNode(" "));}),n}function Wr(e,t,r,n){if(r<=1||n===0)return e;n=Math.min(n,1/r);let o=(r-1)*n,s=t*n,a=s+(1-o);return a<=s?e>=s?1:0:Qe((e-s)/(a-s),0,1)}function Gr(e,t){let r=[];if(t?.y!==void 0&&r.push(`translateY(${t.y*(1-e)}px)`),t?.x!==void 0&&r.push(`translateX(${t.x*(1-e)}px)`),t?.rotate!==void 0&&r.push(`rotate(${t.rotate*(1-e)}deg)`),t?.scale!==void 0){let n=t.scale+(1-t.scale)*e;r.push(`scale(${n})`);}return r.join(" ")}var Et={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function lr(e,t={}){if(typeof window>"u")return Et;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return N("scrollText: element not found:",e),Et;let n=r;return $e(t,(o,s)=>Br(n,o,s))}function Br(e,t,r){let{split:n="words",stagger:o=.04,easing:s="ease-out",from:a={opacity:0,y:24},trigger:l={},once:u=true,onComplete:m}=t,y=Pe(s,"ease-out"),v=ce(l.start||"top 85%"),h=ce(l.end||"top 40%"),M=e.innerHTML,z=e.textContent??"",E;n==="chars"?E=zr(e):n==="lines"?E=ir(e):E=ar(e),sr(e,z);let F=E.length;function Z(g,S){a?.opacity!==void 0&&(g.style.opacity=String(a.opacity+(1-a.opacity)*S));let ge=Gr(S,a);ge&&(g.style.transform=ge);}function L(g){e.style.setProperty("--scroll-draw-progress",String(g)),E.forEach((S,ge)=>{let We=y(Wr(g,ge,F,o));Z(S,We);});}if(r)return L(1),m?.(),{...Et,destroy:()=>{e.innerHTML=M;},getProgress:()=>1};L(0);let P=0,_=0,W=-1,A=0,C=false;function H(){({tStart:P,tEnd:_}=de(e.getBoundingClientRect(),window.scrollY,window.innerHeight,v,h));}let fe=()=>V(window.scrollY,P,_,1);function ue(){let g=u?W=Math.max(W,fe()):fe();A=g,L(g),g>=1&&!C?(C=true,m?.()):g<1&&!u&&(C=false);}H();let Q=De(window,[e],fe,ue,()=>{n==="lines"&&(e.innerHTML=M,E=ir(e),sr(e,z),L(A)),H();});xe(e,{type:"text",getProgress:()=>A,getTrigger:()=>({tStart:P,tEnd:_})});let D=()=>Q.hold(false);return {destroy(){Q.off(),e.innerHTML=M,Le(e);},replay(){W=-1,C=false,A=0,L(0),D();},pause:()=>Q.hold(true),resume:D,seek(g){Q.hold(true),L(A=W=Qe(g,0,1));},getProgress(){return A}}}function qr(e,t){let r={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return r;let n=typeof e=="string"?document.querySelector(e):e;return n?lt(n,t):(N("Container not found:",e),r)}function Xe(){return typeof document>"u"?null:document}var St=new WeakMap,cr;function ut(e,t,r,n){let o=St.get(e)??new Map;St.set(e,o);let s=()=>{let u=r(),m=o.get(t);m&&m.key===u||(m?.inst.destroy(),o.set(t,{inst:n(u),key:u,build:s,users:m?.users??0}));};s(),o.get(t).users++;let a=true;typeof MutationObserver<"u"&&(cr??(cr=new MutationObserver(u=>u.forEach(m=>St.get(m.target)?.forEach(y=>y.build())))),cr.observe(e,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(u=>`data-scroll-${u}-options`).concat("data-scroll-drawoptions")}));let l=()=>o.get(t)?.inst;return {destroy:()=>{let u=o.get(t);!a||!u||(a=false,!(--u.users>0)&&(u.inst.destroy(),o.delete(t)));},replay:()=>l()?.replay(),pause:()=>l()?.pause(),resume:()=>l()?.resume(),seek:u=>l()?.seek(u),getProgress:()=>l()?.getProgress()??0,refresh:()=>l()?.refresh?.()}}function ft(e,t){try{return e?JSON.parse(e):t}catch{return t}}function jr(e=Xe()){return e?Array.from(e.querySelectorAll("[data-scroll-draw]")).map(t=>ut(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",r=>lt(t,ft(r,{})))):[]}function Qr(e=Xe()){return e?Array.from(e.querySelectorAll("[data-scroll-animate]")).map(t=>ut(t,"animate",()=>t.dataset.scrollAnimateOptions??"",r=>nr(t,ft(r,{props:{}})))):[]}function Ur(e=Xe()){return e?Array.from(e.querySelectorAll("[data-scroll-counter]")).map(t=>ut(t,"counter",()=>t.dataset.scrollCounterOptions??"",r=>{let n=ft(r,{});return !n.to&&n.to!==0&&(N('initScrollCounter: element missing "to" in options JSON:',t),n.to=0),typeof n.format!="function"&&n.format!==void 0&&(N('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete n.format),or(t,n)})):[]}function Yr(e=Xe()){return e?Array.from(e.querySelectorAll("[data-scroll-text]")).map(t=>ut(t,"text",()=>t.dataset.scrollTextOptions??"",r=>lr(t,ft(r,{})))):[]}function co(e=Xe()){return {draw:jr(e),animate:Qr(e),counter:Ur(e),text:Yr(e)}}exports.initAll=co;exports.initScrollAnimate=Qr;exports.initScrollCounter=Ur;exports.initScrollDraw=jr;exports.initScrollText=Yr;exports.scrollDraw=qr;
@@ -1 +1 @@
1
- export{a as scrollDraw}from'../chunk-5U4JXBHR.mjs';import {a as a$2}from'../chunk-UF3MO5XQ.mjs';import {a as a$1}from'../chunk-Z72TVDHY.mjs';import {a}from'../chunk-HAGTU5EX.mjs';import {b}from'../chunk-XLXVGQ3P.mjs';import'../chunk-7LDSB4FT.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-YOOPMYT6.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-NV6YTPHI.mjs';import'../chunk-IXR6RML7.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-EBU6E26L.mjs';import {b as b$1}from'../chunk-LFSU6LR3.mjs';function i(){return typeof document>"u"?null:document}var p=new WeakMap,g;function c(r,t,n,o){let l=p.get(r)??new Map;p.set(r,l);let f=()=>{let e=n(),s=l.get(t);s&&s.key===e||(s?.inst.destroy(),l.set(t,{inst:o(e),key:e,build:f,users:s?.users??0}));};f(),l.get(t).users++;let S=true;typeof MutationObserver<"u"&&(g??(g=new MutationObserver(e=>e.forEach(s=>p.get(s.target)?.forEach(O=>O.build())))),g.observe(r,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(e=>`data-scroll-${e}-options`).concat("data-scroll-drawoptions")}));let a=()=>l.get(t)?.inst;return {destroy:()=>{let e=l.get(t);!S||!e||(S=false,!(--e.users>0)&&(e.inst.destroy(),l.delete(t)));},replay:()=>a()?.replay(),pause:()=>a()?.pause(),resume:()=>a()?.resume(),seek:e=>a()?.seek(e),getProgress:()=>a()?.getProgress()??0,refresh:()=>a()?.refresh?.()}}function u(r,t){try{return r?JSON.parse(r):t}catch{return t}}function E(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-draw]")).map(t=>c(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",n=>b(t,u(n,{})))):[]}function A(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-animate]")).map(t=>c(t,"animate",()=>t.dataset.scrollAnimateOptions??"",n=>a(t,u(n,{props:{}})))):[]}function I(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-counter]")).map(t=>c(t,"counter",()=>t.dataset.scrollCounterOptions??"",n=>{let o=u(n,{});return !o.to&&o.to!==0&&(b$1('initScrollCounter: element missing "to" in options JSON:',t),o.to=0),typeof o.format!="function"&&o.format!==void 0&&(b$1('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete o.format),a$1(t,o)})):[]}function M(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-text]")).map(t=>c(t,"text",()=>t.dataset.scrollTextOptions??"",n=>a$2(t,u(n,{})))):[]}function H(r=i()){return {draw:E(r),animate:A(r),counter:I(r),text:M(r)}}export{H as initAll,A as initScrollAnimate,I as initScrollCounter,E as initScrollDraw,M as initScrollText};
1
+ export{a as scrollDraw}from'../chunk-5U4JXBHR.mjs';import {a as a$1}from'../chunk-UF3MO5XQ.mjs';import {b as b$2}from'../chunk-OGFXZCKC.mjs';import {a}from'../chunk-HAGTU5EX.mjs';import {b}from'../chunk-XLXVGQ3P.mjs';import'../chunk-7LDSB4FT.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-YOOPMYT6.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-NV6YTPHI.mjs';import'../chunk-IXR6RML7.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-EBU6E26L.mjs';import {b as b$1}from'../chunk-LFSU6LR3.mjs';function i(){return typeof document>"u"?null:document}var p=new WeakMap,g;function c(r,t,n,o){let l=p.get(r)??new Map;p.set(r,l);let f=()=>{let e=n(),s=l.get(t);s&&s.key===e||(s?.inst.destroy(),l.set(t,{inst:o(e),key:e,build:f,users:s?.users??0}));};f(),l.get(t).users++;let S=true;typeof MutationObserver<"u"&&(g??(g=new MutationObserver(e=>e.forEach(s=>p.get(s.target)?.forEach(O=>O.build())))),g.observe(r,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(e=>`data-scroll-${e}-options`).concat("data-scroll-drawoptions")}));let a=()=>l.get(t)?.inst;return {destroy:()=>{let e=l.get(t);!S||!e||(S=false,!(--e.users>0)&&(e.inst.destroy(),l.delete(t)));},replay:()=>a()?.replay(),pause:()=>a()?.pause(),resume:()=>a()?.resume(),seek:e=>a()?.seek(e),getProgress:()=>a()?.getProgress()??0,refresh:()=>a()?.refresh?.()}}function u(r,t){try{return r?JSON.parse(r):t}catch{return t}}function E(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-draw]")).map(t=>c(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",n=>b(t,u(n,{})))):[]}function A(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-animate]")).map(t=>c(t,"animate",()=>t.dataset.scrollAnimateOptions??"",n=>a(t,u(n,{props:{}})))):[]}function I(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-counter]")).map(t=>c(t,"counter",()=>t.dataset.scrollCounterOptions??"",n=>{let o=u(n,{});return !o.to&&o.to!==0&&(b$1('initScrollCounter: element missing "to" in options JSON:',t),o.to=0),typeof o.format!="function"&&o.format!==void 0&&(b$1('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete o.format),b$2(t,o)})):[]}function M(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-text]")).map(t=>c(t,"text",()=>t.dataset.scrollTextOptions??"",n=>a$1(t,u(n,{})))):[]}function H(r=i()){return {draw:E(r),animate:A(r),counter:I(r),text:M(r)}}export{H as initAll,A as initScrollAnimate,I as initScrollCounter,E as initScrollDraw,M as initScrollText};
@@ -1689,6 +1689,7 @@ var SvgScrollDraw = (() => {
1689
1689
  }
1690
1690
 
1691
1691
  // src/counter/index.ts
1692
+ var formatter = ({ decimals, format }) => decimals !== void 0 ? (n) => n.toFixed(decimals) : format ?? ((n) => String(Math.round(n)));
1692
1693
  var NOOP3 = {
1693
1694
  destroy: () => {
1694
1695
  },
@@ -1715,14 +1716,12 @@ var SvgScrollDraw = (() => {
1715
1716
  const {
1716
1717
  from = 0,
1717
1718
  to,
1718
- format,
1719
1719
  easing = "ease-out",
1720
1720
  trigger = {},
1721
1721
  once = true,
1722
- decimals,
1723
1722
  onComplete
1724
1723
  } = options;
1725
- const fmt = decimals !== void 0 ? (n) => n.toFixed(decimals) : format ?? ((n) => String(Math.round(n)));
1724
+ const fmt = formatter(options);
1726
1725
  const easeFn = resolveEasing(easing, "ease-out");
1727
1726
  const startConfig = parseTrigger(trigger.start || "top 80%");
1728
1727
  const endConfig = parseTrigger(trigger.end || "top 20%");