1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94909,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});var s={default:function(){return d},getImageProps:function(){return u}};for(var n in s)Object.defineProperty(i,n,{enumerable:!0,get:s[n]});let r=t.r(55682),o=t.r(8927),a=t.r(85437),l=r._(t.r(9921));function u(t){let{props:e}=(0,o.getImgProps)(t,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image/",loader:"custom",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[t,i]of Object.entries(e))void 0===i&&delete e[t];return{props:e}}let d=a.Image},57688,(t,e,i)=>{e.exports=t.r(94909)},2714,t=>{"use strict";var e=t.i(43476),i=t.i(57688),s=t.i(71645);t.s(["SafeImage",0,function(t){let{fallback:n,alt:r,...o}=t,[a,l]=(0,s.useState)(!1);return a?n?(0,e.jsx)(e.Fragment,{children:n}):null:(0,e.jsx)(i.default,{...o,alt:r,onError:()=>l(!0)})}])},57675,t=>{"use strict";var e=t.i(43476);function i(t){let{size:e=20,strokeWidth:i=1.8,...s}=t;return{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:i,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s}}t.s(["IconArrowRight",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("path",{d:"M5 12h14"}),(0,e.jsx)("path",{d:"m13 5 7 7-7 7"})]}),"IconBriefcase",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("rect",{x:"3",y:"7",width:"18",height:"13",rx:"2"}),(0,e.jsx)("path",{d:"M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),(0,e.jsx)("path",{d:"M3 13h18"})]}),"IconCalendar",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("rect",{x:"3",y:"5",width:"18",height:"16",rx:"2"}),(0,e.jsx)("path",{d:"M3 9h18"}),(0,e.jsx)("path",{d:"M8 3v4"}),(0,e.jsx)("path",{d:"M16 3v4"}),(0,e.jsx)("circle",{cx:"8.5",cy:"13.5",r:"0.6"}),(0,e.jsx)("circle",{cx:"12",cy:"13.5",r:"0.6"}),(0,e.jsx)("circle",{cx:"15.5",cy:"13.5",r:"0.6"})]}),"IconCheck",0,t=>(0,e.jsx)("svg",{...i(t),children:(0,e.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"IconClock",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,e.jsx)("path",{d:"M12 7v5l3 2"})]}),"IconClose",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("path",{d:"M18 6 6 18"}),(0,e.jsx)("path",{d:"m6 6 12 12"})]}),"IconGlobe",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,e.jsx)("path",{d:"M3 12h18"}),(0,e.jsx)("path",{d:"M12 3a13.5 13.5 0 0 1 0 18"}),(0,e.jsx)("path",{d:"M12 3a13.5 13.5 0 0 0 0 18"})]}),"IconMail",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),(0,e.jsx)("path",{d:"m3 7 9 6 9-6"})]}),"IconMenu",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("path",{d:"M4 6h16"}),(0,e.jsx)("path",{d:"M4 12h16"}),(0,e.jsx)("path",{d:"M4 18h16"})]}),"IconMessage",0,t=>(0,e.jsx)("svg",{...i(t),children:(0,e.jsx)("path",{d:"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"})}),"IconPin",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("path",{d:"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"}),(0,e.jsx)("circle",{cx:"12",cy:"10",r:"3"})]}),"IconSparkle",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("path",{d:"M12 3v4"}),(0,e.jsx)("path",{d:"M12 17v4"}),(0,e.jsx)("path",{d:"M3 12h4"}),(0,e.jsx)("path",{d:"M17 12h4"}),(0,e.jsx)("path",{d:"m5 5 2.5 2.5"}),(0,e.jsx)("path",{d:"m16.5 16.5 2.5 2.5"}),(0,e.jsx)("path",{d:"m19 5-2.5 2.5"}),(0,e.jsx)("path",{d:"m7.5 16.5-2.5 2.5"})]}),"IconStar",0,t=>(0,e.jsx)("svg",{...i(t),children:(0,e.jsx)("path",{d:"M12 2 14.9 8.6 22 9.5l-5.2 4.9L18.2 22 12 18.3 5.8 22l1.4-7.6L2 9.5l7.1-.9L12 2z"})}),"IconUpload",0,t=>(0,e.jsxs)("svg",{...i(t),children:[(0,e.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,e.jsx)("path",{d:"m7 9 5-5 5 5"}),(0,e.jsx)("path",{d:"M12 4v12"})]})])},66065,t=>{"use strict";var e=t.i(47167);let i=e.default.env.PUBLIC_SITE_URL&&e.default.env.PUBLIC_SITE_URL.replace(/\/+$/,"")||"https://www.algoramming.com",s=e.default.env.CAL_BOOKING_URL||"https://www.cal.com/sabikrahat",n=e.default.env.GOOGLE_MAP_LINK||"https://maps.app.goo.gl/53cmUGSLPT2yMN2a8",r=e.default.env.SUPPORT_EMAIL||"[email protected]",o=e.default.env.SUPPORT_PHONE_NUMBER||"+880 1400 629698",a=e.default.env.WHATSAPP_NUMBER||o,l={name:"Algoramming Systems Ltd.",shortName:"Algoramming",legalName:"Algoramming Systems Ltd.",tagline:"Innovation in every step",seoTitle:"Custom Software Development in Bangladesh | Algoramming",description:"Softw
1are development company in Dhaka, Bangladesh, building custom software, mobile apps, and web platforms for clients in the Middle East and worldwide.",url:i,logo:`${i}/algoramming-mark.png`,ogImage:`${i}/branding.png`,email:r,phone:o.replace(/[^\d+]/g,""),phoneDisplay:o,whatsapp:`https://wa.me/${a.replace(/\D/g,"")}`,bookingUrl:s,address:{street:"House #12, Road #02, Dag #1677, Merul Badda, Anandanagar",locality:"Dhaka",region:"Dhaka",postal:"1212",country:"BD",countryName:"Bangladesh",full:"House #12, Road #02, Dag #1677, Merul Badda, Anandanagar, Dhaka-1212, Bangladesh"},geo:{latitude:23.7721706,longitude:90.4310269},mapEmbed:"https://www.google.com/maps?q=23.7721706,90.4310269&output=embed",mapLink:n,social:{linkedin:"https://www.linkedin.com/company/algoramming",facebook:"https://www.facebook.com/algoramming",instagram:"https://www.instagram.com/algoramming",github:"https://github.com/algoramming",x:"https://x.com/algoramming",youtube:"https://www.youtube.com/@algoramming"},googleBusinessProfile:"https://share.google/aiNttjdZ5onHmfm8x",reviews:{platform:"Clutch",href:"https://clutch.co/profile/algoramming",rating:null,count:0},areasServed:["Bangladesh","United Arab Emirates","Qatar","Saudi Arabia","United States","Australia","United Kingdom","Europe","Worldwide"],servingTimezones:[{city:"Dhaka",country:"Bangladesh",tz:"BST"},{city:"Dubai",country:"UAE",tz:"GST"},{city:"Doha",country:"Qatar",tz:"AST"},{city:"Mansfield",country:"USA",tz:"EST"},{city:"Mexico City",country:"Mexico",tz:"CST"},{city:"Monfalcone",country:"Italy",tz:"CET"},{city:"Melbourne",country:"Australia",tz:"AEST"},{city:"Varna",country:"Bulgaria",tz:"EET"}]};l.legalName,l.tagline,t.s(["nav",0,[{href:"/",label:"Home"},{href:"/about-us",label:"About"},{href:"/services",label:"Services"},{href:"/projects",label:"Projects"},{href:"/blogs",label:"Blogs"},{href:"/careers",label:"Careers"},{href:"/contact-us",label:"Contact"}],"site",0,l])},49492,t=>{"use strict";class e{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map(t=>t.finished))}getAll(t){return this.animations[0][t]}setAll(t,e){for(let i=0;i<this.animations.length;i++)this.animations[i][t]=e}attachTimeline(t){let e=this.animations.map(e=>e.attachTimeline(t));return()=>{e.forEach((t,e)=>{t&&t(),this.animations[e].stop()})}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get state(){return this.getAll("state")}get startTime(){return this.getAll("startTime")}get duration(){return i(this.animations,"duration")}get iterationDuration(){return i(this.animations,"iterationDuration")}runAll(t){this.animations.forEach(e=>e[t]())}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}function i(t,e){let i=0;for(let s=0;s<t.length;s++){let n=t[s][e];null!==n&&n>i&&(i=n)}return i}class s extends e{then(t,e){return this.finished.finally(t).then(()=>{})}}var n=t.i(33887),r=t.i(86427),o=t.i(28409),a=t.i(27228),l=t.i(15923),u=t.i(97307),d=t.i(21748),h=t.i(15932),c=t.i(83920),p=t.i(63074),m=t.i(65566),f=t.i(30151),g=t.i(93544);function v(t,e){var i;let s;return(0,g.isEasingArray)(t)?t[i=t.length,((e-0)%(s=i-0)+s)%s+0]:t}var y=t.i(49652);function b(t){return"object"==typeof t&&!Array.isArray(t)}function E(t,e,i,s){return null==t?[]:"string"==typeof t&&b(e)?(0,y.resolveElements)(t,i,s):t instanceof NodeList?Array.from(t):Array.isArray(t)?t.filter(t=>null!=t):[t]}function w(t,e,i,s){return"number"==typeof e?e:e.startsWith("-")||e.startsWith("+")?Math.max(0,t+parseFloat(e)):"<"===e?i:e.startsWith("<")?Math.max(0,i+parseFloat(e.slice(1))):s.get(e)??t}var x=t.i(706);function A(t,e){return t.at!==e.at?t.at-e.at:null===t.value?1:null===e.value?-1:0}function S(t,e){return e.has(t)||e.set(t,{}),e.get(t)}function T(t,e){return e[t]||(e[t]=[]),e[t]}let M=t=>"number"==typeof t,j=t=>t.every(M);var O=t.i(68705),P=t.i(72094),I=t.i(72323),C=t.i(89026),_=t.i(36331),R=t.i(75737),L=t.i(86783),k=t.i(30162),N=t.i(172
118);class D extends N.VisualElement{constructor(){super(...arguments),this.type="object"}readValueFromInstance(t,e){if(e in t){let i=t[e];if("string"==typeof i||"number"==typeof i)return i}}getBaseTargetFromProps(){}removeValueFromRenderState(t,e){delete e.output[t]}measureInstanceViewportBox(){return(0,k.createBox)()}build(t,e){Object.assign(t.output,e)}renderInstance(t,e){let{output:i}=e;Object.assign(t,i)}sortInstanceNodePosition(){return 0}}function $(t){let e={presenceContext:null,props:{},visualState:{renderState:{transform:{},transformOrigin:{},style:{},vars:{},attrs:{}},latestValues:{}}},i=(0,C.isSVGElement)(t)&&!(0,_.isSVGSVGElement)(t)?new R.SVGVisualElement(e):new L.HTMLVisualElement(e);i.mount(t),P.visualElementStore.set(t,i)}function U(t){let e=new D({presenceContext:null,props:{},visualState:{renderState:{output:{}},latestValues:{}}});e.mount(t),P.visualElementStore.set(t,e)}function z(t,e,i,s){let n=[];if((0,a.isMotionValue)(t)||"number"==typeof t||"string"==typeof t&&!b(e))n.push((0,O.animateSingleValue)(t,b(e)&&e.default||e,i&&i.default||i));else{if(null==t)return n;let r=E(t,e,s),o=r.length;(0,m.invariant)(!!o,"No valid elements provided.","no-valid-elements");for(let t=0;t<o;t++){let s=r[t],a=s instanceof Element?$:U;P.visualElementStore.has(s)||a(s);let l=P.visualElementStore.get(s),u={...i};"delay"in u&&"function"==typeof u.delay&&(u.delay=u.delay(t,o)),n.push(...(0,I.animateTarget)(l,{...e,transition:u},{}))}}return n}let B=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{scope:e,reduceMotion:i,skipAnimations:g}=t;return function(t,y,b){var M;let O,P=[],I={};if(void 0!==i&&(I.reduceMotion=i),void 0!==g&&(I.skipAnimations=g),Array.isArray(t)&&t.some(Array.isArray)){let i,{onComplete:s,...g}=y||{};"function"==typeof s&&(O=s),M={...I,...g},i=[],(function(t){let{defaultTransition:e={},...i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=e.duration||.3,g=new Map,y=new Map,b={},M=new Map,O=0,P=0,I=0;for(let i=0;i<t.length;i++){let c=t[i];if("string"==typeof c){M.set(c,P);continue}if(!Array.isArray(c)){M.set(c.name,w(P,c.at,O,M));continue}let[g,A,R={}]=c;void 0!==R.at&&(P=w(P,R.at,O,M));let L=0,k=function(t,i,s){var a;let c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,g=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,y=Array.isArray(a=t)?a:[a],{delay:b=0,times:E=(0,l.defaultOffset)(y),type:w=e.type||"keyframes",repeat:A,repeatType:S,repeatDelay:T=0,...M}=i,{ease:O=e.ease||"easeOut",duration:C}=i,_="function"==typeof b?b(c,g):b,R=y.length,k=(0,u.isGenerator)(w)?w:r?.[w||"keyframes"];if(R<=2&&k){let t=100;2===R&&j(y)&&(t=Math.abs(y[1]-y[0]));let i={...e,...M};void 0!==C&&(i.duration=(0,p.secondsToMilliseconds)(C));let s=(0,d.createGeneratorEasing)(i,t,k);O=s.ease,C=s.duration}C??(C=o);let N=P+_;1===E.length&&0===E[0]&&(E[1]=1);let D=E.length-y.length;if(D>0&&(0,h.fillOffset)(E,D),1===y.length&&y.unshift(null),A&&(0,m.warning)(A<20,`Sequence segments can't repeat ${A} times â ignoring repeat option. Use a value below 20 or apply repeat at the sequence level instead.`),A&&A<20){let t=C>0?T/C:0;C=C*(A+1)+T*A;let e=[...y],i=[...E],s=[...O=Array.isArray(O)?[...O]:[O]],n="reverse"===S||"mirror"===S,r=e,o=s;n&&(r=[...e].reverse(),"reverse"===S&&(o=[...s].reverse().map(t=>"function"==typeof t?(0,f.reverseEasing)(t):t)));for(let a=0;a<A;a++){let l=n&&a%2==0,u=l?r:e,d=l?o:s,h=(a+1)*(1+t);t>0&&(y.push(y[y.length-1]),E.push(h),O.push("linear")),y.push(...u);for(let t=0;t<u.length;t++)E.push(i[t]+h),O.push(0===t?"linear":v(d,t-1))}!function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=e+1+e*i;for(let e=0;e<t.length;e++)t[e]=t[e]/s}(E,A,t)}let $=N+C;!function(t,e,i,s,r,o){for(let e=0;e<t.length;e++){let i=t[e];i.at>r&&i.at<o&&((0,n.removeItem)(t,i),e--)}for(let n=0;n<e.length;n++)t.push({value:e[n],at:(0,x.mixNumber)(r,o,s[n]),easing:v(i,n)})}(s,y,O,E,N,$),L=Math.max(_+C,L),I=Math.max($,I)};if((0,a.isMotionValue)(g))k(A,R,T("default",S(g,y)));else{let t=E(g,A,s,b),e=t.length;for(let i=0;i<e;i++){let s=S(t[i],y);for(let t in A){var C,_;k(A[t],(C=R,_=t,C&&C[_]?{...C,...C[_]}:{...C}),T(t,s),i,e)}}}O=P,P+=L}
1return y.forEach((t,s)=>{for(let n in t){let r=t[n];r.sort(A);let o=[],a=[],l=[];for(let t=0;t<r.length;t++){let{at:e,value:i,easing:s}=r[t];o.push(i),a.push((0,c.progress)(0,I,e)),l.push(s||"easeOut")}0!==a[0]&&(a.unshift(0),o.unshift(o[0]),l.unshift("easeInOut")),1!==a[a.length-1]&&(a.push(1),o.push(null)),g.has(s)||g.set(s,{keyframes:{},transition:{}});let u=g.get(s);u.keyframes[n]=o;let{type:d,...h}=e;u.transition[n]={...h,duration:I,ease:l,times:a,...i}}}),g})(t.map(t=>{if(Array.isArray(t)&&"function"==typeof t[0]){let e=t[0],i=(0,r.motionValue)(0);return(i.on("change",e),1===t.length)?[i,[0,1]]:2===t.length?[i,[0,1],t[1]]:[i,t[1],t[2]]}return t}),M,e,{spring:o.spring}).forEach((t,e)=>{let{keyframes:s,transition:n}=t;i.push(...z(e,s,n))}),P=i}else{let{onComplete:i,...s}=b||{};"function"==typeof i&&(O=i),P=z(t,y,{...I,...s},e)}let C=new s(P);return O&&C.finished.then(O),e&&(e.animations.push(C),C.finished.then(()=>{(0,n.removeItem)(e.animations,C)})),C}}();t.s(["animate",0,B],49492)},28744,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.createStateIcon=void 0;let s="http://www.w3.org/2000/svg",n=(t,e)=>{for(let[i,s]of Object.entries(e))t.setAttribute(i,s)},r=t=>{let e=document.createElementNS(s,"svg");n(e,{xmlns:s,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"});let i=document.createElementNS(s,"title");return i.textContent=t,e.append(i),e},o=(t,e)=>{let i=document.createElementNS(s,"path");i.setAttribute("d",e),t.append(i)},a=(t,e,i,r)=>{let o=document.createElementNS(s,"circle");n(o,{cx:e,cy:i,r}),t.append(o)},l=(t,e,i,r,o)=>{let a=document.createElementNS(s,"line");n(a,{x1:e,x2:i,y1:r,y2:o}),t.append(a)};i.createStateIcon=t=>{switch(t){case"success":default:let e;return o(e=r("Check"),"M20 6 9 17l-5-5"),e;case"loading":let i;return(i=r("Loader Circle")).setAttribute("data-gooey-icon","spin"),i.setAttribute("aria-hidden","true"),o(i,"M21 12a9 9 0 1 1-6.219-8.56"),i;case"error":let s;return o(s=r("X"),"M18 6 6 18"),o(s,"m6 6 12 12"),s;case"warning":let n;return a(n=r("Circle Alert"),"12","12","10"),l(n,"12","12","8","12"),l(n,"12","12.01","16","16"),n;case"info":let u;return a(u=r("Life Buoy"),"12","12","10"),o(u,"m4.93 4.93 4.24 4.24"),o(u,"m14.83 9.17 4.24-4.24"),o(u,"m14.83 14.83 4.24 4.24"),o(u,"m9.17 14.83-4.24 4.24"),a(u,"12","12","4"),u;case"action":let d;return o(d=r("Arrow Right"),"M5 12h14"),o(d,"m12 5 7 7-7 7"),d}}},85602,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.resolveAutopilot=i.resolvePlacement=i.clamp=i.normalizeDuration=i.AUTO_COLLAPSE_DELAY=i.AUTO_EXPAND_DELAY=i.DEFAULT_DURATION=void 0,i.DEFAULT_DURATION=6e3,i.AUTO_EXPAND_DELAY=150,i.AUTO_COLLAPSE_DELAY=4e3,i.normalizeDuration=t=>void 0===t?i.DEFAULT_DURATION:t,i.clamp=(t,e,i)=>Math.min(i,Math.max(e,t)),i.resolvePlacement=t=>({align:t.endsWith("left")?"left":t.endsWith("center")?"center":"right",edge:t.startsWith("top")?"top":"bottom"}),i.resolveAutopilot=(t,e)=>{var s,n;if(!1===t.autopilot||null==e||e<=0)return{};let r="object"==typeof t.autopilot?t.autopilot:void 0;return{autoExpandDelayMs:(0,i.clamp)(null!=(s=null==r?void 0:r.expand)?s:i.AUTO_EXPAND_DELAY,0,e),autoCollapseDelayMs:(0,i.clamp)(null!=(n=null==r?void 0:r.collapse)?n:i.AUTO_COLLAPSE_DELAY,0,e)}}},13904,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.TOAST_POSITIONS=void 0,i.TOAST_POSITIONS=["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"]},91343,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.gooeyToast=i.toast=i.unmountToaster=i.configureToaster=i.mountToaster=i.createToaster=void 0;let s=t.r(28744),n=t.r(85602),r=t.r(13904),o={toasts:[],listeners:new Set,position:"top-right",options:void 0,emit(){for(let t of this.listeners)t(this.toasts)},update(t){this.toasts=t(this.toasts),this.emit()}},a=()=>"u">typeof window&&"u">typeof document,l=0,u=()=>`${++l}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,d=t=>null!=t&&t>0,h=()=>"u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now(),c=t=>`${t.id}:${t.instanceId}`,p=t=>{var e,i,s;return Object.assign(Object.assign(Object.assign({},o.options),t),{styles:Object.assign(Object.assign({},null!=(i=null==(e=o.options)?void 0:e.styles)?i:{}),null!=(s=t.styles)?s:{})})},m=(t,e,i)=>{var s,r;let a=(0,n.normalizeDuration)(t.duration);return Object.assign(Object.assign(Object.assign({},t),{id:e,instanceId:u(),exiting:!1,duration:a,position:null!=(r=null!=(s=t.position)?s:i)?r:o.position}),(0,n.resolveAutopilot)(t,a))},f=t=>{var e;let i=p(t),s=null!=(e=i.id)?e:u(),n=o.toasts.find(t=>
1t.id===s&&!t.exiting),r=m(i,s,null==n?void 0:n.position);return n?o.update(t=>t.map(t=>t.id===s?r:t)):o.update(t=>[...t.filter(t=>t.id!==s),r]),{id:s}},g=(t,e)=>{let i=o.toasts.find(e=>e.id===t);if(!i)return;let s=m(p(Object.assign(Object.assign({},e),{id:t})),t,i.position);o.update(e=>e.map(e=>e.id===t?s:e))},v=new Map,y=t=>{let e=o.toasts.find(e=>e.id===t);if(!e||e.exiting)return;let i=c(e);o.update(e=>e.map(e=>e.id===t?Object.assign(Object.assign({},e),{exiting:!0}):e));let s=v.get(i);(null==s?void 0:s.remove)!=null&&clearTimeout(s.remove);let n={};n.remove=window.setTimeout(()=>{v.delete(i),o.update(t=>t.filter(t=>t.id!==e.id||t.instanceId!==e.instanceId))},260),v.set(i,n)},b=t=>{let e=t;for(;"function"==typeof e;)e=e();return e},E=t=>"u">typeof Node&&t instanceof Node;class w{constructor(t,e,i){this.sizeObserver=null,this.readyRaf=null,this.autoExpandTimer=null,this.autoCollapseTimer=null,this.pointerStartY=null,this.hasContent=!1,this.expanded=!1,this.containerWidth=350,this.headerWidth=44,this.contentHeight=0,this.handleMouseEnter=()=>{this.callbacks.onEnter(this.id),this.clearAutoPilotTimers(),this.canExpand()&&this.setExpanded(!0)},this.handleMouseLeave=()=>{this.callbacks.onLeave(this.id),this.setExpanded(!1)},this.handlePointerDown=t=>{if(this.currentItem.exiting||"mouse"===t.pointerType&&0!==t.button)return;let e=t.target;null!=e&&e.closest("[data-gooey-button]")||(this.pointerStartY=t.clientY,this.root.setPointerCapture(t.pointerId))},this.handlePointerMove=t=>{if(null==this.pointerStartY)return;let e=t.clientY-this.pointerStartY,i=Math.min(Math.abs(e),20)*(e<0?-1:1);this.root.style.setProperty("--gooey-drag-y",`${i}px`)},this.handlePointerUp=t=>{if(null==this.pointerStartY)return;let e=t.clientY-this.pointerStartY;this.resetPointerState(t.pointerId),Math.abs(e)>=30&&this.callbacks.onDismiss(this.id)},this.handlePointerCancel=t=>{null!=this.pointerStartY&&this.resetPointerState(t.pointerId)},this.id=t.id,this.currentItem=t,this.placement=e,this.callbacks=i,this.root=document.createElement("button"),this.root.type="button",this.root.setAttribute("data-gooey-toast",""),this.root.dataset.ready="false",this.root.dataset.expanded="false",this.root.dataset.exiting=String(!!t.exiting),this.canvasEl=document.createElement("div"),this.canvasEl.setAttribute("data-gooey-canvas",""),this.svgEl=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svgEl.setAttribute("data-gooey-svg",""),this.svgEl.setAttribute("width",String(350)),this.svgEl.setAttribute("height",String(44)),this.svgEl.setAttribute("viewBox","0 0 350 44");const s=document.createElementNS("http://www.w3.org/2000/svg","defs"),n=document.createElementNS("http://www.w3.org/2000/svg","filter"),r=`gooey-toast-${t.id}-${t.instanceId}`;n.setAttribute("id",r),n.setAttribute("x","-20%"),n.setAttribute("y","-20%"),n.setAttribute("width","140%"),n.setAttribute("height","140%"),n.setAttribute("color-interpolation-filters","sRGB"),this.blurNode=document.createElementNS("http://www.w3.org/2000/svg","feGaussianBlur"),this.blurNode.setAttribute("in","SourceGraphic"),this.blurNode.setAttribute("stdDeviation",String(9)),this.blurNode.setAttribute("result","blur");const o=document.createElementNS("http://www.w3.org/2000/svg","feColorMatrix");o.setAttribute("in","blur"),o.setAttribute("mode","matrix"),o.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 20 -10"),o.setAttribute("result","goo");const a=document.createElementNS("http://www.w3.org/2000/svg","feComposite");a.setAttribute("in","SourceGraphic"),a.setAttribute("in2","goo"),a.setAttribute("operator","atop"),n.append(this.blurNode,o,a),s.append(n);const l=document.createElementNS("http://www.w3.org/2000/svg","g");l.setAttribute("filter",`url(#${r})`),this.pillRect=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.pillRect.setAttribute("data-gooey-pill",""),this.bodyRect=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.bodyRect.setAttribute("data-gooey-body",""),l.append(this.pillRect,this.bodyRect),this.svgEl.append(s,l),this.canvasEl.append(this.svgEl),this.headerEl=document.createElement("div"),this.headerEl.setAttribute("data-gooey-header",""),this.badgeEl=document.createElement("div"),this.badgeEl.setAttribute("data-gooey-badge",""),this.titleEl=document.createElement("span"),this.titleEl.setAttribute("data-gooey-title",""),this.titleMeasureEl=document.createElement("span"),this.titleMeasureEl.setAttribute("data-gooey-title",""),this.titleMeasureEl.setAttribute("data-gooey-title-measure",""),this.timeoutTrackEl=document.createElement("span"),this.timeoutTrackEl.setAttribute("data-gooey-time-track",""),this.timeoutTrackEl.hidden=!0,this.timeoutFillEl=document.createElement("span"),this.timeoutFillEl.setAttribute("data-gooey-time-fill",""),this.timeoutTrackEl.append(this.timeoutFillEl),this.headerEl.append(this.badgeEl,this.titleEl,this.timeoutTrackEl),this.contentEl=document.createElement("div"),this.contentEl.setAttribute("data-gooey-content",""),this.contentEl.dataset.visible="false",this.descriptionEl=document.createElement("div"),this.descriptionEl.setAttribute("data-gooey-description",""),this.contentEl.append(this.descriptionEl),this.root.append(this.canvasEl,this.headerEl,this.contentEl,this.titleMeasureEl),this.root.addEventListener("mouseenter",this.handleMouseEnter),this.root.addEventListener("mouseleave",this.handleMouseLeave),this.root.addEventListener("pointerdown",this.handlePointerDown),this.root.addEventListener("pointermove",this.handlePointerMove,{passive:!0}),this.root.addEventListener("pointerup",this.handlePointerUp,{passive:!0}),this.root.addEventListener("pointercancel",this.handlePointerCancel,{passive:!0}),"u">typeof ResizeObserver&&(this.sizeObserver=new ResizeObserver(()=>{this.syncMetrics()}),this.sizeObserver.observe(this.root),this.sizeObserver.observe(this.headerEl),this.sizeObserver.observe(this.descriptionEl)),this.update(t,e),this.readyRaf=requestAnimationFrame(()=>{this.root.dataset.ready="true",this.readyRaf=null,this.syncMetrics()})}update(t,e){this.currentItem=t,this.applyPlacement(e),this.root.dataset.exiting=String(!!t.exiting),this.render(t),t.exiting||this.canExpand()||this.setExpanded(!1),t.exiting?this.clearAutoPilotTimers():this.refreshAutopilot()}destroy(){var t;null!=this.readyRaf&&(cancelAnimationFrame(this.readyRaf),this.readyRaf=null),null==(t=this.sizeObserver)||t.disconnect(),this.sizeObserver=null,this.clearAutoPilotTimers(),this.pointerStartY=null,this.root.style.removeProperty("--gooey-drag-y"),this.root.removeEventListener("mouseenter",this.handleMouseEnter),this.root.removeEventListener("mouseleave",this.handleMouseLeave),this.root.removeEventListener("pointerdown",this.handlePointerDown),this.root.removeEventListener("pointermove",this.handlePointerMove),this.root.removeEventListener("pointerup",this.handlePointerUp),this.root.removeEventListener("pointercancel",this.handlePointerCancel),this.root.remove()}applyPlacement(t){this.placement=t,this.root.dataset.position=t.align,this.root.dataset.edge=t.edge,this.applyGeometry()}render(t){var e,i,n,r,o,a,l,u,h,c,p,m;let f,g=null!=(e=t.state)?e:"success",v=null!=(i=t.title)?i:g,y=!!t.timeoutIndicator&&d(t.duration)&&!t.exiting;this.root.dataset.state=g,t.fill?this.root.style.setProperty("--gooey-fill",t.fill):this.root.style.removeProperty("--gooey-fill"),null!=t.roundness?this.root.style.setProperty("--gooey-radius",`${Math.max(0,t.roundness)}px`):this.root.style.removeProperty("--gooey-radius"),this.badgeEl.dataset.state=g,this.badgeEl.className=null!=(r=null==(n=t.styles)?void 0:n.badge)?r:"",this.badgeEl.replaceChildren((m=t.icon,null==(f=b(m))?(0,s.createStateIcon)(g):"string"==typeof f||"number"==typeof f?document.createTextNode(String(f)):E(f)?f.cloneNode(!0):(0,s.createStateIcon)(g))),this.titleEl.dataset.state=g,this.titleEl.className=null!=(a=null==(o=t.styles)?void 0:o.title)?a:"",this.titleEl.textContent=v,this.titleMeasureEl.dataset.state=g,this.titleMeasureEl.className=null!=(u=null==(l=t.styles)?void 0:l.title)?u:"",this.titleMeasureEl.textContent=v,this.timeoutTrackEl.dataset.state=g,this.timeoutFillEl.dataset.state=g,this.setTimeoutIndicator(y,1,!1),this.descriptionEl.className=null!=(c=null==(h=t.styles)?void 0:h.description)?c:"",this.descriptionEl.replaceChildren();let w=((t,e)=>{let i=b(e);if(null==i)return!1;if("string"==typeof i||"number"==typeof i){let e=String(i);return!!e.trim()&&(t.append(document.createTextNode(e)),!0)}return!!E(i)&&(t.append(i.cloneNode(!0)),!0)})(this.descriptionEl,t.description);t.button&&(this.descriptionEl.append(this.buildActionButton(t.button,g,null==(p=t.styles)?void 0:p.button)),w=!0),this.hasContent=w,this.contentEl.style.display=w?"":"none",w||(this.expanded=!1,this.root.dataset.expanded="false",this.contentEl.dataset.visible="false"),this.syncMetrics()}buildActionButton(t,e,i){let s=document.createElement("button");return s.type="button",s.setAttribute("data-gooey-button",""),s.dataset.state=e,s.className=null!=i?i:"",s.textContent=t.title,s.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),t.onClick()}),s}setTimeoutIndicator(t,e,i){this.root.dataset.timeoutIndicator=String(t),this.root.dataset.timeoutPaused=String(i),this.timeoutTrackEl.hidden=!t,this.timeoutFillEl.style.transform=`scaleX(${(0,n.clamp)(e,0,1)})`}hasExpandableContent(){var t;return this.hasContent&&(null!=(t=this.currentItem.state)?t:"success")!=="loading"}canExpand(){return!!this.hasExpandableContent()&&!this.currentItem.exiting}setExpanded(t){let e=t&&this.hasContent;this.expanded!==e&&(this.expanded=e,this.root.dataset.expanded=String(e),this.contentEl.dataset.visible=String(e),this.applyGeometry())}syncMetrics(){let t=this.root.getBoundingClientRect().width;t>0&&(this.containerWidth=Math.max(1,Math.round(t)));let e=this.measureHeaderWidth();e>0&&(this.headerWidth=(0,n.clamp)(e,44,this.containerWidth)),this.contentHeight=this.hasContent?Math.max(0,Math.ceil(this.descriptionEl.scrollHeight)):0,this.applyGeometry()}measureHeaderWidth(){let t=window.getComputedStyle(this.headerEl),e=Number.parseFloat((t.columnGap&&"normal"!==t.columnGap?t.columnGap:t.gap)||"0")||0,i=Number.parseFloat(t.paddingLeft||"0")||0,s=Number.parseFloat(t.paddingRight||"0")||0;return Math.ceil(this.badgeEl.getBoundingClientRect().width+Math.max(this.titleMeasureEl.getBoundingClientRect().width,this.titleEl.scrollWidth)+e+i+s+2)}alignedX(t){return"right"===this.placement.align?this.containerWidth-t:"center"===this.placement.align?(this.containerWidth-t)/2:0}
1applyGeometry(){var t,e;let i=this.expanded&&this.hasExpandableContent(),s=i?this.contentHeight:0,r=44+s,o=(0,n.clamp)(this.headerWidth,44,this.containerWidth),a=this.hasContent?this.containerWidth:o,l=this.alignedX(o),u=this.alignedX(a),d="top"===this.placement.edge,h=Math.max(0,null!=(t=this.currentItem.roundness)?t:18),c=null!=(e=this.currentItem.fill)?e:"#FFFFFF";this.root.style.setProperty("--_h",`${r}px`),this.root.style.setProperty("--_hx",`${l}px`),this.root.style.setProperty("--_hw",`${o}px`),this.root.style.setProperty("--_bx",`${u}px`),this.root.style.setProperty("--_bw",`${a}px`),this.contentEl.dataset.visible=String(i),this.svgEl.setAttribute("width",String(this.containerWidth)),this.svgEl.setAttribute("height",String(r)),this.svgEl.setAttribute("viewBox",`0 0 ${this.containerWidth} ${r}`),this.blurNode.setAttribute("stdDeviation",String(.5*h)),this.pillRect.setAttribute("x",String(l)),this.pillRect.setAttribute("y",String(d?0:r-44)),this.pillRect.setAttribute("width",String(o)),this.pillRect.setAttribute("height",String(44)),this.pillRect.setAttribute("rx",String(h)),this.pillRect.setAttribute("ry",String(h)),this.pillRect.setAttribute("fill",c),this.bodyRect.setAttribute("x",String(u)),this.bodyRect.setAttribute("y",String(34*!!d)),this.bodyRect.setAttribute("width",String(a)),this.bodyRect.setAttribute("height",String(i?s+10:0)),this.bodyRect.setAttribute("rx",String(h)),this.bodyRect.setAttribute("ry",String(h)),this.bodyRect.setAttribute("fill",c)}refreshAutopilot(){if(this.clearAutoPilotTimers(),!this.canExpand())return;let t=this.currentItem.autoExpandDelayMs,e=this.currentItem.autoCollapseDelayMs;(null!=t||null!=e)&&((null!=t?t:0)<=0?this.setExpanded(!0):this.autoExpandTimer=window.setTimeout(()=>{this.autoExpandTimer=null,this.setExpanded(!0)},t),null!=e&&(this.autoCollapseTimer=window.setTimeout(()=>{this.autoCollapseTimer=null,this.setExpanded(!1)},e)))}clearAutoPilotTimers(){null!=this.autoExpandTimer&&(clearTimeout(this.autoExpandTimer),this.autoExpandTimer=null),null!=this.autoCollapseTimer&&(clearTimeout(this.autoCollapseTimer),this.autoCollapseTimer=null)}resetPointerState(t){this.pointerStartY=null,this.root.style.removeProperty("--gooey-drag-y"),this.root.hasPointerCapture(t)&&this.root.releasePointerCapture(t)}}class x{constructor(t={}){var e,i;this.hovering=!1,this.hoverResumeTimer=null,this.viewports=new Map,this.views=new Map,this.dismissStates=new Map,this.indicatorRaf=null,this.mounted=!0,this.target=null!=(e=t.target)?e:document.body,this.position=null!=(i=t.position)?i:o.position,this.offset=t.offset,this.defaultOptions=t.options,o.position=this.position,o.options=this.defaultOptions,this.listener=t=>{this.render(t)},o.listeners.add(this.listener),this.render(o.toasts)}configure(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t.target&&t.target!==this.target){for(let e of this.viewports.values())t.target.append(e);this.target=t.target}t.position&&(this.position=t.position),void 0!==t.offset&&(this.offset=t.offset),void 0!==t.options&&(this.defaultOptions=t.options),o.position=this.position,o.options=this.defaultOptions,this.render(o.toasts)}unmount(){if(this.mounted){for(let t of(this.mounted=!1,o.listeners.delete(this.listener),this.clearDismissStates(),this.stopIndicatorUpdates(),null!=this.hoverResumeTimer&&(clearTimeout(this.hoverResumeTimer),this.hoverResumeTimer=null),this.views.values()))t.destroy();for(let t of(this.views.clear(),this.viewports.values()))t.remove();this.viewports.clear()}}render(t){var e,i;if(!this.mounted)return;let s=new Set(t.map(t=>t.id));for(let[t,e]of this.views)s.has(t)||(e.destroy(),this.views.delete(t));let o=new Map;for(let i of t){let t=null!=(e=i.position)?e:this.position,s=o.get(t);s?s.push(i):o.set(t,[i])}for(let t of r.TOAST_POSITIONS){let e=null!=(i=o.get(t))?i:[];if(!e.length){this.removeViewport(t);continue}let s=this.ensureViewport(t);this.applyViewportOffset(s,t);let r=(0,n.resolvePlacement)(t);for(let t of e){let e=this.views.get(t.id);if(e){e.update(t,r),s.append(e.root);continue}let i=new w(t,r,{onEnter:()=>this.handleEnter(),onLeave:()=>this.handleLeave(),onDismiss:t=>y(t)});this.views.set(t.id,i),s.append(i.root)}}let a=new Set;for(let e of t){let t=(0,n.normalizeDuration)(e.duration);if(!e.exiting&&d(t)){let i=c(e);a.add(i),this.ensureDismissState(e,i,t)}}for(let t of Array.from(this.dismissStates.keys()))a.has(t)||this.deleteDismissState(t);this.hovering&&!this.isAnyToastHovered()&&(this.hovering=!1),this.scheduleDismiss(t),this.syncTimeoutIndicators(t)}ensureViewport(t){let e=this.viewports.get(t);if(e)return e.dataset.position=t,e;let i=document.createElement("section");return i.setAttribute("data-gooey-viewport",""),i.dataset.position=t,i.setAttribute("aria-live","polite"),this.target.append(i),this.viewports.set(t,i),i}removeViewport(t){let e=this.viewports.get(t);e&&(e.remove(),this.viewports.delete(t))}applyViewportOffset(t,e){if(void 0===this.offset){t.style.top="",t.style.right="",t.style.bottom="",t.style.left="";return}let i="object"==typeof this.offset?this.offset:{top:this.offset,right:this.offset,bottom:this.offset,left:this.offset},s=t=>"number"==typeof t?`${t}px`:t;t.style.top=e.startsWith("top")&&void 0!==i.top?s(i.top):"",t.style.bottom=e.startsWith("bottom")&&void 0!==i.bottom?s(i.bottom):"",t.style.left=e.endsWith("left")&&void 0!==i.left?s(i.left):"",t.style.right=e.endsWith("right")&&void 0!==i.right?s(i.right):""}ensureDismissState(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c(t),i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:(0,n.normalizeDuration)(t.duration);if(t.exiting||!d(i))return null;let s=this.dismissStates.get(e);if(s)return s;let r={timer:null,duration:i,remaining:i,startedAt:null};return this.dismissStates.set(e,r),r}deleteDismissState(t){let e=this.dismissStates.get(t);e&&(null!=e.timer&&clearTimeout(e.timer),this.dismissStates.delete(t))}clearDismissStates(){for(let t of Array.from(this.dismissStates.keys()))this.deleteDismissState(t)}getRemainingMs(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h();return null==t.startedAt?(0,n.clamp)(t.remaining,0,t.duration):(0,n.clamp)(t.remaining-(e-t.startedAt),0,t.duration)}stopIndicatorUpdates(){null!=this.indicatorRaf&&(cancelAnimationFrame(this.indicatorRaf),this.indicatorRaf=null)}syncTimeoutIndicators(t){this.stopIndicatorUpdates();let e=h(),i=!1;for(let s of t){let t=this.views.get(s.id);if(!t)continue;let r=(0,n.normalizeDuration)(s.duration);if(!(s.timeoutIndicator&&!s.exiting&&d(r))){t.setTimeoutIndicator(!1,1,!1);continue}let o=this.dismissStates.get(c(s)),a=(o?this.getRemainingMs(o,e):r)/r,l=this.hovering||(null==o?void 0:o.timer)==null;t.setTimeoutIndicator(!0,a,l),!l&&a>0&&(i=!0)}i&&(this.indicatorRaf=requestAnimationFrame(()=>{this.indicatorRaf=null,this.syncTimeoutIndicators(o.toasts)}))}scheduleDismiss(t){if(!this.hovering)for(let e of t){if(e.exiting)continue;let t=(0,n.normalizeDuration)(e.duration);if(!d(t))continue;let i=c(e),s=this.ensureDismissState(e,i,t);s&&null==s.timer&&(s.remaining=(0,n.clamp)(s.remaining,0,s.duration),s.startedAt=h(),s.timer=window.setTimeout(()=>{this.deleteDismissState(i),y(e.id),this.syncTimeoutIndicators(o.toasts)},s.remaining))}}
1pauseDismissTimers(){let t=h();for(let e of this.dismissStates.values())null!=e.timer&&(clearTimeout(e.timer),e.remaining=this.getRemainingMs(e,t),e.startedAt=null,e.timer=null)}handleEnter(){null!=this.hoverResumeTimer&&(clearTimeout(this.hoverResumeTimer),this.hoverResumeTimer=null),this.hovering||(this.hovering=!0,this.pauseDismissTimers(),this.syncTimeoutIndicators(o.toasts))}handleLeave(){null!=this.hoverResumeTimer&&clearTimeout(this.hoverResumeTimer),this.hoverResumeTimer=window.setTimeout(()=>{this.hoverResumeTimer=null,this.isAnyToastHovered()||(this.hovering=!1,this.scheduleDismiss(o.toasts),this.syncTimeoutIndicators(o.toasts))},50)}isAnyToastHovered(){for(let t of this.views.values())if(t.root.matches(":hover"))return!0;return!1}}let A=null,S=()=>a()?(A||(A=new x),A):null,T={update:()=>{},unmount:()=>{}};i.createToaster=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=S();return e?(e.configure(t),{update:t=>e.configure(t),unmount:()=>{A===e&&(A=null),e.unmount()}}):T},i.mountToaster=i.createToaster,i.configureToaster=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=S();e&&e.configure(t)},i.unmountToaster=()=>{A&&(A.unmount(),A=null)};let M=()=>{S()},j=(t,e)=>a()?(M(),f(e?Object.assign(Object.assign({},t),{state:e}):t).id):u(),O=(t,e)=>"function"==typeof t?t(e):t;i.toast={show:t=>j(t),success:t=>j(t,"success"),error:t=>j(t,"error"),warning:t=>j(t,"warning"),info:t=>j(t,"info"),action:t=>j(t,"action"),promise:(t,e)=>{if(!a())return"function"==typeof t?t():t;M();let i=f(Object.assign(Object.assign({},e.loading),{state:"loading",duration:null,position:e.position})).id,s="function"==typeof t?t():t;return s.then(t=>{e.action?g(i,Object.assign(Object.assign({},O(e.action,t)),{state:"action",id:i})):g(i,Object.assign(Object.assign({},O(e.success,t)),{state:"success",id:i}))}).catch(t=>{g(i,Object.assign(Object.assign({},O(e.error,t)),{state:"error",id:i}))}),s}
1,dismiss:t=>{a()&&y(t)},clear:t=>{if(a()){if(t)return void o.update(e=>e.filter(e=>e.position!==t));o.update(()=>[])}}},i.gooeyToast=i.toast},17904,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.TOAST_POSITIONS=i.unmountToaster=i.toast=i.mountToaster=i.gooeyToast=i.createToaster=i.configureToaster=void 0;var s=t.r(91343);Object.defineProperty(i,"configureToaster",{enumerable:!0,get:function(){return s.configureToaster}}),Object.defineProperty(i,"createToaster",{enumerable:!0,get:function(){return s.createToaster}}),Object.defineProperty(i,"gooeyToast",{enumerable:!0,get:function(){return s.gooeyToast}}),Object.defineProperty(i,"mountToaster",{enumerable:!0,get:function(){return s.mountToaster}}),Object.defineProperty(i,"toast",{enumerable:!0,get:function(){return s.toast}}),Object.defineProperty(i,"unmountToaster",{enumerable:!0,get:function(){return s.unmountToaster}});var n=t.r(13904);Object.defineProperty(i,"TOAST_POSITIONS",{enumerable:!0,get:function(){return n.TOAST_POSITIONS}})},44242,t=>{"use strict";var e=t.i(17904);let i=/^[^@\s]+@[^@\s]+\.[^@\s]+$/u;async function s(t){let e,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"NEWSLETTER",n=t.trim();if(0===n.length)return{ok:!1,title:"Email required",description:"Please enter your email."};if(n.length>254||!i.test(n))return{ok:!1,title:"Invalid email",description:"That email looks invalid, please double-check."};try{e=await fetch("/api/newsletter/subscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:n,source:s})})}catch(t){return console.error("[newsletter] network error:",t),{ok:!1,title:"Subscription failed",description:"Could not reach the server. Please try again."}}let r=await e.json().catch(()=>({}));if(!e.ok||!r.ok){console.error("[newsletter] subscription failed",{status:e.status,data:r});let t="Subscription failed",i="Please try again.";return r?.error==="invalid email format"?(t="Invalid email",i="That email looks invalid, please double-check."):r?.error==="email is required"?(t="Email required",i="Please enter your email."):r?.error?i=String(r.error):e.status>=500&&(i=`The newsletter service is unavailable (HTTP ${e.status}). Please try again in a moment.`),{ok:!1,title:t,description:i}}return{ok:!0,status:r.status??"CREATED"}}let n={CREATED:{title:"You're subscribed",description:"Keep an eye on your inbox."},REACTIVATED:{title:"Welcome back",description:"We'll keep you posted again."},ALREADY_ACTIVE:{title:"Already subscribed",description:"You're on the list, so no need to resubmit."}};async function r(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"NEWSLETTER",r=await s(t,i);return r.ok?e.toast.success(n[r.status]):e.toast.error({title:r.title,description:r.description}),r}t.s(["NEWSLETTER_SUCCESS_COPY",0,n,"requestNewsletterSubscription",0,s,"subscribeToNewsletter",0,r])},8341,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});var s={cancelIdleCallback:function(){return o},requestIdleCallback:function(){return r}};for(var n in s)Object.defineProperty(i,n,{enumerable:!0,get:s[n]});let r="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(t){let e=Date.now();return self.setTimeout(function(){t({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-e))}})},1)},o="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(t){return clearTimeout(t)};("function"==typeof i.default||"object"==typeof i.default&&null!==i.default)&&void 0===i.default.__esModule&&(Object.defineProperty(i.default,"__esModule",{value:!0}),Object.assign(i.default,i),e.exports=i.default)},19083,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});var s={ESCAPE_REGEX:function(){return o},htmlEscapeAttributeString:function(){return d},htmlEscapeJsonString:function(){return u}};for(var n in s)Object.defineProperty(i,n,{enumerable:!0,get:s[n]});let r={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},o=/[&><\u2028\u2029]/g,a={"&":"&",'"':""","'":"'","<":"<",">":">"},l=/[&"'<>]/g;function u(t){return t.replace(o,t=>r[t])}function d(t){return t.replace(l,t=>a[t])}},79520,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});var s={default:function(){return E},handleClientScriptLoad:function(){return v},initScriptLoader:function(){return y}};for(var n in s)Object.defineProperty(i,n,{enumerable:!0,get:s[n]});let r=t.r(55682),o=t.r(90809),a=t.r(43476),l=r._(t.r(74080)),u=o._(t.r(71645)),d=t.r(42732),h=t.r(22737),c=t.r(8341),p=t.r(19083),m=new Map,f=new Set,g=t=>{let{src:e,id:i,onLoad:s=()=>{},onReady:n=null,dangerouslySetInnerHTML:r,children:o="",strategy:a="afterInteractive",onError:u,stylesheets:d}=t,c=i||e;if(c&&f.has(c))return;if(m.has(e)){f.add(c),m.get(e).then(s,u);return}let p=()=>{n&&n(),f.add(c)},g=document.createElement("script"),v=new Promise((t,e)=>{g.addEventListener("load",function(e){t(),s&&s.call(this,e),p()}),g.addEventListener("error",function(t){e(t)})}).catch(function(t){u&&u(t)});r?(g.innerHTML=r.__html||"",p()):o?(g.textContent="string"==typeof o?o:Array.isArray(o)?o.join(""):"",p()):e&&(g.src=e,m.set(e,v)),(0,h.setAttributesFromProps)(g,t),"worker"===a&&g.setAttribute("type","text/partytown"),g.setAttribute("data-nscript",a),d&&(t=>{if(l.default.preinit)return t.forEach(t=>{l.default.preinit(t,{as:"style"})});if("u">typeof window){let e=document.head;t.forEach(t=>{let i=document.createElement("link");i.type="text/css",i.rel="stylesheet",i.href=t,e.appendChild(i)})}})(d),document.body.appendChild(g)};function v(t){let{strategy:e="afterInteractive"}=t;"lazyOnload"===e?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>g(t))}):g(t)}function y(t){t.forEach(v),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEac
1h(t=>{let e=t.id||t.getAttribute("src");f.add(e)})}function b(t){let{id:e,src:i="",onLoad:s=()=>{},onReady:n=null,strategy:r="afterInteractive",onError:o,stylesheets:h,...m}=t,{updateScripts:v,scripts:y,getIsSsr:b,appDir:E,nonce:w}=(0,u.useContext)(d.HeadManagerContext);w=m.nonce||w;let x=(0,u.useRef)(!1);(0,u.useEffect)(()=>{let t=e||i;x.current||(n&&t&&f.has(t)&&n(),x.current=!0)},[n,e,i]);let A=(0,u.useRef)(!1);if((0,u.useEffect)(()=>{if(!A.current){if("afterInteractive"===r)g(t);else"lazyOnload"===r&&("complete"===document.readyState?(0,c.requestIdleCallback)(()=>g(t)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>g(t))}));A.current=!0}},[t,r]),("beforeInteractive"===r||"worker"===r)&&(v?(y[r]=(y[r]||[]).concat([{id:e,src:i,onLoad:s,onReady:n,onError:o,...m,nonce:w}]),v(y)):b&&b()?f.add(e||i):b&&!b()&&g({...t,nonce:w})),E){if(h&&h.forEach(t=>{l.default.preinit(t,{as:"style"})}),"beforeInteractive"===r)if(!i)return m.dangerouslySetInnerHTML&&(m.children=m.dangerouslySetInnerHTML.__html,delete m.dangerouslySetInnerHTML),(0,a.jsx)("script",{nonce:w,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,p.htmlEscapeJsonString)(JSON.stringify([0,{...m,id:e}]))})`}});else return l.default.preload(i,m.integrity?{as:"script",integrity:m.integrity,nonce:w,crossOrigin:m.crossOrigin}:{as:"script",nonce:w,crossOrigin:m.crossOrigin}),(0,a.jsx)("script",{nonce:w,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,p.htmlEscapeJsonString)(JSON.stringify([i,{...m,id:e}]))})`}});"afterInteractive"===r&&i&&l.default.preload(i,m.integrity?{as:"script",integrity:m.integrity,nonce:w,crossOrigin:m.crossOrigin}:{as:"script",nonce:w,crossOrigin:m.crossOrigin})}return null}Object.defineProperty(b,"__nextScript",{value:!0});let E=b;("function"==typeof i.default||"object"==typeof i.default&&null!==i.default)&&void 0===i.default.__esModule&&(Object.defineProperty(i.default,"__esModule",{value:!0}),Object.assign(i.default,i),e.exports=i.default)},3303,(t,e,i)=>{e.exports=t.r(79520)},58249,t=>{"use strict";t.s(["trackEvent",0,function(t,e){let i=window;i.gtag?.("event",t,e)}])},47345,t=>{"use strict";var e=t.i(43476),i=t.i(46932),s=t.i(87652),n=t.i(72328),r=t.i(91994),o=t.i(71645);t.s(["Magnetic",0,function(t){let{children:a,className:l,strength:u=14}=t,d=(0,n.useReducedMotion)(),h=(0,o.useRef)(null),c=(0,s.useMotionValue)(0),p=(0,s.useMotionValue)(0),m=(0,r.useSpring)(c,{stiffness:220,damping:18,mass:.4}),f=(0,r.useSpring)(p,{stiffness:220,damping:18,mass:.4});return d?(0,e.jsx)("span",{className:l,children:a}):(0,e.jsx)(i.motion.span,{ref:h,className:l,style:{x:m,y:f,display:"inline-flex"},onPointerMove:t=>{let e=h.current;if(!e)return;let i=e.getBoundingClientRect(),s=t.clientX-(i.left+i.width/2),n=t.clientY-(i.top+i.height/2);c.set(s/(i.width/2)*u),p.set(n/(i.height/2)*u)},onPointerLeave:()=>{c.set(0),p.set(0)},children:a})}])},63209,t=>{"use strict";var e=t.i(43476),i=t.i(71645),s=t.i(53034),n=t.i(37806),r=t.i(98125),o=t.i(47414);t.s(["MotionConfig",0,function(t){let{children:a,isValidProp:l,...u}=t;l&&(0,r.loadExternalIsValidProp)(l);let d=(0,i.useContext)(n.MotionConfigContext);(u={...d,...u}).transition=(0,s.resolveTransition)(u.transition,d.transition),u.isStatic=(0,o.useConstant)(()=>u.isStatic);let h=(0,i.useMemo)(()=>u,[JSON.stringify(u.transition),u.transformPagePoint,u.reducedMotion,u.skipAnimations]);return(0,e.jsx)(n.MotionConfigContext.Provider,{value:h,children:a})}])},88653,t=>{"use strict";t.i(47167);var e=t.i(43476),i=t.i(71645),s=t.i(31178),n=t.i(47414),r=t.i(74008),o=t.i(21476),a=t.i(72846),l=i,u=t.i(37806);function d(t,e){if("function"==typeof t)return t(e);null!=t&&(t.current=e)}class h extends l.Component{getSnapshotBeforeUpdate(t){let e=this.props.childRef.current;if((0,a.isHTMLElement)(e)&&t.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let t=e.offsetParent,i=(0,a.isHTMLElement)(t)&&t.offsetWidth||0,s=(0,a.isHTMLElement)(t)&&t.offsetHeight||0,n=getComputedStyle(e),r=this.props.sizeRef.current;r.height=parseFloat(n.height),r.width=parseFloat(n.width),r.top=e.offsetTop,r.left=e.offsetLeft,r.right=i-r.width-r.left,r.bottom=s-r.height-r.top,r.direction=n.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function c(t){let{children:s,isPresent:n,anchorX:r,anchorY:o,root:a,pop:c}=t,p=(0,l.useId)(),m=(0,l.useRef)(null),f=(0,l.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:g}=(0,l.useContext)(u.MotionConfigContext),v=function(){for(var t=arguments.length,e=Array(t),s=0;s<t;s++)e[s]=arguments[s];return i.useCallback(function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];return t=>{let i=!1,s=e.map(e=>{let s=d(e,t);return i||"function"!=typeof s||(i=!0),s});if(i)return()=>{for(let t=0;t<s.length;t++){let i=s[t];"function"==typeof i?i():d(e[t],null)}}}}(...e),e)}(m,s.props?.ref??s?.ref);return(0,l.useInsertionEffect)(()=>{let{width:t,height:e,top:i,left:s,right:l,bottom:u,direction:d}=f.current;if(n||!1===c||!m.current||!t||!e)return;
1let h="rtl"===d,v="left"===r?h?`right: ${l}`:`left: ${s}`:h?`left: ${s}`:`right: ${l}`,y="bottom"===o?`bottom: ${u}`:`top: ${i}`;m.current.dataset.motionPopId=p;let b=document.createElement("style");g&&(b.nonce=g);let E=a??document.head;return E.appendChild(b),b.sheet&&b.sheet.insertRule(` 2 [data-motion-pop-id="${p}"] { 3 position: absolute !important; 4 width: ${t}px !important; 5 height: ${e}px !important; 6 ${v}px !important; 7 ${y}px !important; 8 } 9 `),()=>{m.current?.removeAttribute("data-motion-pop-id"),E.contains(b)&&E.removeChild(b)}},[n]),(0,e.jsx)(h,{isPresent:n,childRef:m,sizeRef:f,pop:c,children:!1===c?s:l.cloneElement(s,{ref:v})})}let p=t=>{let{children:s,initial:r,isPresent:a,onExitComplete:l,custom:u,presenceAffectsLayout:d,mode:h,anchorX:p,anchorY:f,root:g}=t,v=(0,n.useConstant)(m),y=(0,i.useId)(),b=!0,E=(0,i.useMemo)(()=>(b=!1,{id:y,initial:r,isPresent:a,custom:u,onExitComplete:t=>{for(let e of(v.set(t,!0),v.values()))if(!e)return;l&&l()},register:t=>(v.set(t,!1),()=>v.delete(t))}),[a,v,l]);return d&&b&&(E={...E}),(0,i.useMemo)(()=>{v.forEach((t,e)=>v.set(e,!1))},[a]),i.useEffect(()=>{a||v.size||!l||l()},[a]),s=(0,e.jsx)(c,{pop:"popLayout"===h,isPresent:a,anchorX:p,anchorY:f,root:g,children:s}),(0,e.jsx)(o.PresenceContext.Provider,{value:E,children:s})};function m(){return new Map}var f=t.i(64978);let g=t=>t.key||"";function v(t){let e=[];return i.Children.forEach(t,t=>{(0,i.isValidElement)(t)&&e.push(t)}),e}t.s(["AnimatePresence",0,t=>{let{children:o,custom:a,initial:l=!0,onExitComplete:u,presenceAffectsLayout:d=!0,mode:h="sync",propagate:c=!1,anchorX:m="left",anchorY:y="top",root:b}=t,[E,w]=(0,f.usePresence)(c),x=(0,i.useMemo)(()=>v(o),[o]),A=c&&!E?[]:x.map(g),S=(0,i.useRef)(!0),T=(0,i.useRef)(x),M=(0,n.useConstant)(()=>new Map),j=(0,i.useRef)(new Set),[O,P]=(0,i.useState)(x),[I,C]=(0,i.useState)(x);(0,r.useIsomorphicLayoutEffect)(()=>{S.current=!1,T.current=x;for(let t=0;t<I.length;t++){let e=g(I[t]);A.includes(e)?(M.delete(e),j.current.delete(e)):!0!==M.get(e)&&M.set(e,!1)}},[I,A.length,A.join("-")]);let _=[];if(x!==O){let t=[...x];for(let e=0;e<I.length;e++){let i=I[e],s=g(i);A.includes(s)||(t.splice(e,0,i),_.push(i))}return"wait"===h&&_.length&&(t=_),C(v(t)),P(x),null}let{forceRender:R}=(0,i.useContext)(s.LayoutGroupContext);return(0,e.jsx)(e.Fragment,{children:I.map(t=>{let i=g(t),s=(!c||!!E)&&(x===I||A.includes(i));return(0,e.jsx)(p,{isPresent:s,initial:(!S.current||!!l)&&void 0,custom:a,presenceAffectsLayout:d,mode:h,root:b,onExitComplete:s?void 0:()=>{if(j.current.has(i)||!M.has(i))return;j.current.add(i),M.set(i,!0);let t=!0;M.forEach(e=>{e||(t=!1)}),t&&(R?.(),C(T.current),c&&w?.(),u&&u())},anchorX:m,anchorY:y,children:t},i)})})}],88653)},69025,t=>{"use strict";let e,i="alg_cookie_notice",s="dpl_8AfWCpysELAyw5nhKMqkarFVNnzw",n="algoramming:cookie-notice-change",r="algoramming:open-cookie-details";t.s(["NOTICE_DAYS",0,182,"NOTICE_DURATION",0,"6 months","OPEN_DETAILS_EVENT",0,r,"acknowledgeNotice",0,function(){let t=Math.floor(Date.now()/1e3),r="https:"===location.protocol?"; Secure":"";document.cookie=`${i}=${s}.${t}; Max-Age=15724800; Path=/; SameSite=Lax${r}`,e={seenAt:1e3*t},window.dispatchEvent(new Event(n))},"getNoticeSeen",0,function(){return void 0===e&&(e=function(){let t=document.cookie.split(/;\s*/).find(t=>t.startsWith(`${i}=`));if(!t)return null;let[e,n]=decodeURIComponent(t.slice(i.length+1)).split(".");return e!==s?null:{seenAt:1e3*Number(n)||0}}()),e},"openCookieDetails",0,function(){window.dispatchEvent(new Event(r))},"subscribeNotice",0,function(t){return window.addEventListener(n,t),()=>window.removeEventListener(n,t)}])},1571,t=>{t.v(e=>Promise.all(["static/chunks/16yptgstk6ja~.css","static/chunks/0cy~tjpqvz6n4.js"].map(e=>t.l(e))).then(()=>e(99388)))},36593,t=>{t.v(e=>Promise.all(["static/chunks/084dh6tj_nsz3.css","static/chunks/10_ri_t~pleph.js"].map(e=>t.l(e))).then(()=>e(37004)))}]);
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.