1const b=[],x=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;function M(t,e,n){const i=setTimeout(()=>{t.stateTimeouts=t.stateTimeouts.filter(l=>l!==i),e()},n);return t.stateTimeouts.push(i),i}const Y={idle:"transform 200ms ease-out",alert:"transform 200ms ease-out",takeoff:"transform 100ms cubic-bezier(0.34, 1.56, 0.64, 1)",flying:"none",hovering:"none",returning:"none",landing:"transform 200ms cubic-bezier(0.16, 1, 0.3, 1)"};function f(t,e){t.state=e,t.flight.classList.remove("idle","alert","takeoff","flying","hovering","returning","landing"),t.flight.classList.add(e),t.flight.style.transition=Y[e];const n=e==="takeoff"||e==="flying"||e==="hovering"||e==="returning"||e==="landing";t.el.querySelectorAll("[data-owl-wing]").forEach(s=>{s.style.opacity=n?"1":"0"});const i=e==="takeoff"||e==="flying"||e==="hovering"||e==="returning",l=t.el.querySelector("[data-owl-speedlines]");l&&(l.style.display=i?"":"none");const o=(s,a,u)=>{const d=t.el.querySelector(s);d&&(d.style.transform=i?a:u)};o("[data-owl-eyes]","scaleY(0.6)","scaleY(1)"),o("[data-owl-ears]","rotate(15deg) scaleY(0.7)","rotate(0deg) scaleY(1)"),o("[data-owl-tail]","scaleX(1.3) translateY(2px)","scaleX(1) translateY(0)");const r=t.el.querySelector("[data-owl-feet]");r&&(r.style.opacity=i?"0.3":"1",r.style.transform=i?"translateY(-8px) scaleY(0.5)":"translateY(0) scaleY(1)");const c=t.el.querySelector("[data-owl-tail-strokes]");c&&c.setAttribute("opacity",i?"0.8":"0.4")}function C(t){const{state:e,flightAngle:n,flightProgress:i}=t;if(e==="takeoff")return"translate(0, -15px) rotate(-5deg) scale(1.05)";if(e==="flying"||e==="returning"||e==="hovering"){const o=150*i,r=n*Math.PI/180,c=Math.cos(r)*o,s=Math.sin(i*Math.PI)*30,a=Math.sin(r)*o-s,u=n>90||n<-90?25:-25,d=Math.sin(i*Math.PI)*10,h=1+Math.sin(i*Math.PI)*.15,g=1-Math.sin(i*Math.PI)*.1;return`translate(${c}px, ${a}px) rotate(${u+d}deg) scaleX(${h}) scaleY(${g})`}return e==="landing"?"translate(0, -3px) rotate(0deg) scale(1.02)":"translate(0, 0) rotate(0deg) scale(1)"}function v(t,e,n,i){const l=performance.now(),o=r=>{const c=r-l,s=Math.min(c/e,1),a=n?1-Math.pow(1-s,3):s<.5?4*s*s*s:1-Math.pow(-2*s+2,3)/2;t.flightProgress=n?1-a:a,t.flight.style.transform=C(t),s<1?t.rafId=requestAnimationFrame(o):i&&i()};t.rafId=requestAnimationFrame(o)}function F(t){let e=t.parentElement;for(;e&&e!==document.body;){const n=getComputedStyle(e);if(n.transform!=="none"||n.filter!=="none"||n.perspective!=="none"||n.willChange.includes("transform")){const i=e.getBoundingClientRect();return{x:i.left,y:i.top}}e=e.parentElement}return{x:0,y:0}}function k(t){const e=t.el.getBoundingClientRect(),n=F(t.el);t.fixedPos={top:e.top-n.y,left:e.left-n.x},t.fixed=!0,t.savedInlinePos=t.el.getAttribute("style")??"",t.originalClassName=t.el.className,t.el.className=t.originalClassName.split(" ").filter(i=>!/^-?(top|right|bottom|left)-/.test(i)).join(" "),t.el.classList.remove("absolute"),t.el.classList.add("fixed"),t.el.style.cssText=`width: ${e.width}px; height: ${e.height}px; position: fixed; top: ${t.fixedPos.top}px; left: ${t.fixedPos.left}px; right: auto; bottom: auto; z-index: 9999; transition: none;`}function N(t){t.fixed=!1,t.fixedPos=null,t.el.className=t.originalClassName,t.el.setAttribute("style",t.savedInlinePos)}function A(t){if(t.state!=="idle"||x||!t.visible)return;const e=t.el.getBoundingClientRect(),n=e.left+e.width/2,i=e.top+e.height/2,l=window.innerWidth,o=window.innerHeight,r=80,c=150;let s=Math.random()*360,a=s*Math.PI/180;const u=n+Math.cos(a)*c,d=i+Math.sin(a)*c;(u>l-r||u<r)&&(s=180-s),(d<r||d>o-r)&&(s=-s);const h=t.wanderDistancePx*(.5+Math.random()*.5);t.flightAngle=s,t.flightProgress=0,k(t),f(t,"takeoff"),M(t,()=>{f(t,"flying"),v(t,600,!1,()=>{a=s*Math.PI/180,t.wanderOffset.x=Math.max(-80,Math.min(80,t.wanderOffset.x+Math.cos(a)*h*.3)),t.wanderOffset.y=Math.max(-40,Math.min(40,t.wanderOffset.y+Math.sin(a)*h*.3)),f(t,"hovering"),M(t,()=>{f(t,"returning"),v(t,400,!0,()=>{f(t,"landing"),M(t,()=>{f(t,"idle"),N(t)},200)})},100)})},100)}let q=null,I=null;function L(t){x||(q={x:t.clientX,y:t.clientY},I===null&&(I=requestAnimationFrame(O)))}function O(){I=null;const t=q;if(t)for(const e of b){if(!e.visible&&!e.fixed)continue;const n=e.el.getBoundingClientRect(),i=n.left+n.width/2,l=n.top+n.height/2,o=t.x-i,r=t.y-l,c=Math.sqrt(o*o+r*r),s=Math.atan2(r,o)*(180/Math.PI);if(e.state==="idle"||e.state==="alert"){const a=s*Math.PI/180,u=Math.cos(a)*1.5,d=Math.sin(a)*1.5*.5;e.el.querySelectorAll("[data-owl-eye]").forEach(g=>{const m=g.dataset.owlEye,y=m.startsWith("left")?25:35,p=28,T=m.endsWith("highlight"),P=T?.5:1;g.setAttribute("cx",String((T?y-1:y)+u*P)),g.setAttribute("cy",String((T?p-1:p)+d*P))})}if(e.returnTimeout&&(clearTimeout(e.returnTimeout),e.returnTimeout=null),e.state==="flying"||e.state==="hovering"){c>e.alertDistance&&(f(e,"returning"),v(e,400,!0,()=>{f(e,"landing"),M(e,()=>{f(e,"idle"),N(e)},200)}));continue}if(!(e.state==="returning"||e.state==="landing"||e.state==="takeoff"))if(c<e.fleeDistance){let a=Math.atan2(-r,-o)*(180/Math.PI);a=a+(Math.random()-.5)*30+-20;const u=window.innerWidth,d=window.innerHeight,h=80,g=150,m=a*Math.PI/180,y=i+Math.cos(m)*g,p=l+Math.sin(m)*g;(y>u-h||y<h)&&(a=180-a),(p<h||p>d-h)&&(a=-a),e.flightAngle=a,e.flightProgress=0,k(e),f(e,"takeoff"),M(e,()=>{f(e,"flying"),v(e,500,!1)},100)}else c<e.alertDistance?e.state!=="alert"&&f(e,"alert"):e.state==="alert"&&f(e,"idle")}}function w(t){const e=t.querySelector("[data-owl-flight]"),n={el:t,flight:e,behavior:t.dataset.owlBehavior??"perch",alertDistance:Number(t.dataset.owlAlertDistance)||140,fleeDistance:Number(t.dataset.owlFleeDistance)||70,wanderIntervalMs:Number(t.dataset.owlWanderInterval)||5e3,wanderDistancePx:Number(t.dataset.owlWanderDistance)||60,state:"idle",flightAngle:0,flightProgress:0,visible:!1,fixed:!1,fixedPos:null,wanderOffset:{x:0,y:0},originalClassName:t.className,savedInlinePos:t.getAttribute("style")??"",rafId:null,returnTimeout:null,stateTimeouts:[],wanderTimer:null,initialDelayTimer:null,cleanup:()=>{}};e.classList.add("idle"),e.style.transition=Y.idle;const i=new IntersectionObserver(([l])=>{n.visible=l.isIntersecting,t.classList.toggle("paused",!n.visible)},{rootMargin:"100px"});return i.observe(t),n.behavior==="wander"&&!x&&(n.initialDelayTimer=setTimeout(()=>{A(n),n.wanderTimer=setInterval(()=>A(n),n.wanderIntervalMs)},1e3+Math.random()*3e3)),n.cleanup=()=>{i.disconnect(),n.rafId!==null&&cancelAnimationFrame(n.rafId),n.returnTimeout&&clearTimeout(n.returnTimeout),n.initialDelayTimer&&clearTimeout(n.initialDelayTimer),n.wanderTimer&&clearInterval(n.wanderTimer),n.stateTimeouts.forEac
1h(clearTimeout)},n}let D=!1;function S(){document.querySelectorAll("[data-owl]").forEach(t=>{b.some(e=>e.el===t)||b.push(w(t))}),!D&&!x&&(D=!0,window.addEventListener("mousemove",L,{passive:!0}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",S):S();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.