PageSourceSearch

https://alistair.sh/_next/static/immutable/chunks/32zlbnf6gxpax.js

js alistair.sh collected 2026-10-03 23:19:33 UTC 30,717 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41705,(e,t,n)=>{"use strict";n._=function(e){return e&&e.__esModule?e:{default:e}}},52456,(e,t,n)=>{"use strict";function r(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(r=function(e){return e?n:t})(e)}n._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=r(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var u=s?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(o,i,u):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}},54471,(e,t,n)=>{"use strict";function r(e,t,n,r){return!1}e.i(50461),Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"getDomainLocale",{enumerable:!0,get:function(){return r}}),e.r(70090),("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},99604,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={cancelIdleCallback:function(){return i},requestIdleCallback:function(){return s}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let s="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},i="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},71914,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useIntersection",{enumerable:!0,get:function(){return a}});let r=e.r(91788),o=e.r(99604),s="function"==typeof IntersectionObserver,i=new Map,u=[];function a({rootRef:e,rootMargin:t,disabled:n}){let l=n||!s,[c,f]=(0,r.useState)(!1),d=(0,r.useRef)(null),p=(0,r.useCallback)(e=>{d.current=e},[]);return(0,r.useEffect)(()=>{if(s){if(l||c)return;let n=d.current;if(n&&n.tagName)return function(e,t,n){let{id:r,observer:o,elements:s}=function(e){let t,n={root:e.root||null,margin:e.rootMargin||""},r=u.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=i.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},u.push(n),i.set(n,t),t}(n);return s.set(e,t),o.observe(e),function(){if(s.delete(e),o.unobserve(e),0===s.size){o.disconnect(),i.delete(r);let e=u.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&u.splice(e,1)}}}(n,e=>e&&f(e),{root:e?.current,rootMargin:t})}else if(!c){let e=(0,o.requestIdleCallback)(()=>f(!0));return()=>(0,o.cancelIdleCallback)(e)}},[l,t,e,c,d.current]),[p,c,(0,r.useCallback)(()=>{f(!1)},[])]}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},63230,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return o}});let r=e.r(91788);function o(e,t){let n=(0,r.useRef)(null),o=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(n.current=s(e,r)),t&&(o.current=s(t,r))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esMo
1dule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},39149,(e,t,n)=>{"use strict";e.i(50461),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return k},useLinkStatus:function(){return E}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let s=e.r(52456),i=e.r(91398),u=s._(e.r(91788)),a=e.r(60472),l=e.r(71112),c=e.r(28169),f=e.r(89129),d=e.r(14862),p=e.r(25479),h=e.r(71914),y=e.r(54471),m=e.r(44113),b=e.r(63230),g=new Set;function v(e,t,n,r){if(!("u"<typeof window)&&(0,l.isLocalURL)(t)){if(!r.bypassPrefetchedCheck){let o=t+"%"+n+"%"+(void 0!==r.locale?r.locale:"locale"in e?e.locale:void 0);if(g.has(o))return;g.add(o)}e.prefetch(t,n,r).catch(e=>{})}}function _(e){return"string"==typeof e?e:(0,c.formatUrl)(e)}let w=u.default.forwardRef(function(e,t){let n,r,{href:o,as:s,children:c,prefetch:g=null,passHref:w,replace:x,shallow:E,scroll:k,locale:j,onClick:S,onNavigate:T,onMouseEnter:C,onTouchStart:O,legacyBehavior:P=!1,transitionTypes:R,...N}=e;n=c,P&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let A=u.default.useContext(p.RouterContext),I=!1!==g,{href:M,as:$}=u.default.useMemo(()=>{if(!A){let e=_(o);return{href:e,as:s?_(s):e}}let[e,t]=(0,a.resolveHref)(A,o,!0);return{href:e,as:s?(0,a.resolveHref)(A,s):t||e}},[A,o,s]),L=u.default.useRef(M),H=u.default.useRef($);P&&(r=u.default.Children.only(n));let U=P?r&&"object"==typeof r&&r.ref:t,[D,q,z]=(0,h.useIntersection)({rootMargin:"200px"}),F=u.default.useCallback(e=>{(H.current!==$||L.current!==M)&&(z(),H.current=$,L.current=M),D(e)},[$,M,z,D]),B=(0,b.useMergedRef)(F,U);u.default.useEffect(()=>{!A||q&&I&&v(A,M,$,{bypassPrefetchedCheck:!1,locale:j})},[$,M,q,j,I,A?.locale,A]);let W={ref:B,onClick(e){P||"function"!=typeof S||S(e),P&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),!A||e.defaultPrevented||function(e,t,n,r,o,s,i,u,a){let c,{nodeName:f}=e.currentTarget;if(!("A"===f.toUpperCase()&&((c=e.currentTarget.getAttribute("target"))&&"_self"!==c||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which)||e.currentTarget.hasAttribute("download"))){if(!(0,l.isLocalURL)(n)){o&&(e.preventDefault(),location.replace(n));return}e.preventDefault(),(()=>{if(a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let e=i??!0;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:s,locale:u,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})})()}}(e,A,M,$,x,E,k,j,T)},onMouseEnter(e){P||"function"!=typeof C||C(e),P&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),A&&v(A,M,$,{locale:j,priority:!0,bypassPrefetchedCheck:!0})},onTouchStart:function(e){P||"function"!=typeof O||O(e),P&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),A&&v(A,M,$,{locale:j,priority:!0,bypassPrefetchedCheck:!0})}};if((0,f.isAbsoluteUrl)($))W.href=$;else if(!P||w||"a"===r.type&&!("href"in r.props)){let e=void 0!==j?j:A?.locale;W.href=A?.isLocaleDomain&&(0,y.getDomainLocale)($,e,A?.locales,A?.domainLocales)||(0,m.addBasePath)((0,d.addLocale)($,e,A?.defaultLocale))}return P?u.default.cloneElement(r,W):(0,i.jsx)("a",{...N,...W,children:n})}),x=(0,u.createContext)({pending:!1}),E=()=>(0,u.useContext)(x),k=w;("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},41158,(e,t,n)=>{t.exports=e.r(39149)},20955,(e,t,n)=>{var r={156:function(e){var t,n,r,o=e.exports={};function s(){throw Error("setTimeout has not been defined")}function i(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:s}catch(e){t=s}try{n="function"==typeof clearTimeout?clearTimeout:i}catch(e){n=i}function u(e){if(t===setTimeout)return setTimeout(e,0);if((t===s||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}var a=[],l=!1,c=-1;function f(){l&&r&&(l=!1,r.length?a=r.concat(a):c=-1,a.length&&d())}function d(){if(!l){var e=u(f);l=!0;for(var t=a.length;t;){for(r=a,a=[];++c<t;)r&&r[c].run();c=-1,t=a.length}r=null,l=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function h(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];a.push(new p(e,t)),1!==a.length||l||u(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=h,o.addListener=h,o.once=h,o.off=h,o.removeListener=h,o.removeAllListeners=h,o.emit=h,o.prependListener=h,o.prependOnceListener=h,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}}},o={};function s(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}},i=!0;try{r[e](n,n.exports,s),i=!1}finally{i&&delete o[e]}return n.exports}s.ab="/ROOT/node_modules/next/dist/compiled/process/",t.exports=s(156)},50461,(e,t,n)=>{"use strict";var r,o;t.exports=(null==(r=e.g.process)?void 0:r.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(20955)},89129,(e,t,n)=>{"use strict";e.i(50461),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return b},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return _},NormalizeError:function(){return g},PageNotFoundError:function(){return v},SP:function(){return y},ST:function(){return m},WEB_VITALS:function(){return s},execOnce:function(){return i},getDisplayName:function(){return f},getLocationOrigin:function(){return l},getURL:function(){return c},isAbsoluteUrl:function(){return a},isResSent:function(){return d},loadGetInitialProps:function(){return h}
1,normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return x}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let s=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let u=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&u.test(e)};function l(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function c(){let{href:e}=window.location,t=l();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&d(n))return r;if(!r)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let y="u">typeof performance,m=y&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class g extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class _ extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(e){return JSON.stringify({message:e.message,stack:e.stack})}},8481,(e,t,n)=>{"use strict";var r=Symbol.for("react.transitional.element");function o(e,t,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==t.key&&(o=""+t.key),"key"in t)for(var s in n={},t)"key"!==s&&(n[s]=t[s]);else n=t;return{$$typeof:r,type:e,key:o,ref:void 0!==(t=n.ref)?t:null,props:n}}n.Fragment=Symbol.for("react.fragment"),n.jsx=o,n.jsxs=o},91398,(e,t,n)=>{"use strict";e.i(50461),t.exports=e.r(8481)},61556,(e,t,n)=>{"use strict";var r=e.i(50461),o=Symbol.for("react.transitional.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),m=Symbol.iterator,b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,v={};function _(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||b}function w(){}function x(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||b}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=_.prototype;var E=x.prototype=new w;E.constructor=x,g(E,_.prototype),E.isPureReactComponent=!0;var k=Array.isArray;function j(){}var S={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function C(e,t,n){var r=n.ref;return{$$typeof:o,type:e,key:t,ref:void 0!==r?r:null,props:n}}function O(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var P=/\/+/g;function R(e,t){var n,r;return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36)}function N(e,t,n){if(null==e)return e;var r=[],i=0;return!function e(t,n,r,i,u){var a,l,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case s:d=!0;break;case h:return e((d=t._init)(t._payload),n,r,i,u)}}if(d)return u=u(t),d=""===i?"."+R(t,0):i,k(u)?(r="",null!=d&&(r=d.replace(P,"$&/")+"/"),e(u,n,r,"",function(e){return e}
1)):null!=u&&(O(u)&&(a=u,l=r+(null==u.key||t&&t.key===u.key?"":(""+u.key).replace(P,"$&/")+"/")+d,u=C(a.type,l,a.props)),n.push(u)),1;d=0;var p=""===i?".":i+":";if(k(t))for(var y=0;y<t.length;y++)f=p+R(i=t[y],y),d+=e(i,n,r,f,u);else if("function"==typeof(y=null===(c=t)||"object"!=typeof c?null:"function"==typeof(c=m&&c[m]||c["@@iterator"])?c:null))for(t=y.call(t),y=0;!(i=t.next()).done;)f=p+R(i=i.value,y++),d+=e(i,n,r,f,u);else if("object"===f){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(j,j):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),n,r,i,u);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(n=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.")}return d}(e,r,"","",function(e){return t.call(n,e,i++)}),r}function A(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof r.default&&"function"==typeof r.default.emit)return void r.default.emit("uncaughtException",e);console.error(e)};n.Activity=y,n.Children={map:N,forEach:function(e,t,n){N(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return N(e,function(){t++}),t},toArray:function(e){return N(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},n.Component=_,n.Fragment=i,n.Profiler=a,n.PureComponent=x,n.StrictMode=u,n.Suspense=d,n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=S,n.__COMPILER_RUNTIME={__proto__:null,c:function(e){return S.H.useMemoCache(e)}},n.cache=function(e){return function(){return e.apply(null,arguments)}},n.cacheSignal=function(){return null},n.cloneElement=function(e,t,n){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var r=g({},e.props),o=e.key;if(null!=t)for(s in void 0!==t.key&&(o=""+t.key),t)T.call(t,s)&&"key"!==s&&"__self"!==s&&"__source"!==s&&("ref"!==s||void 0!==t.ref)&&(r[s]=t[s]);var s=arguments.length-2;if(1===s)r.children=n;else if(1<s){for(var i=Array(s),u=0;u<s;u++)i[u]=arguments[u+2];r.children=i}return C(e.type,o,r)},n.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:l,_context:e},e},n.createElement=function(e,t,n){var r,o={},s=null;if(null!=t)for(r in void 0!==t.key&&(s=""+t.key),t)T.call(t,r)&&"key"!==r&&"__self"!==r&&"__source"!==r&&(o[r]=t[r]);var i=arguments.length-2;if(1===i)o.children=n;else if(1<i){for(var u=Array(i),a=0;a<i;a++)u[a]=arguments[a+2];o.children=u}if(e&&e.defaultProps)for(r in i=e.defaultProps)void 0===o[r]&&(o[r]=i[r]);return C(e,s,o)},n.createRef=function(){return{current:null}},n.forwardRef=function(e){return{$$typeof:f,render:e}},n.isValidElement=O,n.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:A}},n.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},n.startTransition=function(e){var t=S.T,n={};S.T=n;try{var r=e(),o=S.S;null!==o&&o(n,r),"object"==typeof r&&null!==r&&"function"==typeof r.then&&r.then(j,I)}catch(e){I(e)}finally{null!==t&&null!==n.types&&(t.types=n.types),S.T=t}},n.unstable_useCacheRefresh=function(){return S.H.useCacheRefresh()},n.use=function(e){return S.H.use(e)},n.useActionState=function(e,t,n){return S.H.useActionState(e,t,n)},n.useCallback=function(e,t){return S.H.useCallback(e,t)},n.useContext=function(e){return S.H.useContext(e)},n.useDebugValue=function(){},n.useDeferredValue=function(e,t){return S.H.useDeferredValue(e,t)},n.useEffect=function(e,t){return S.H.useEffect(e,t)},n.useEffectEvent=function(e){return S.H.useEffectEvent(e)},n.useId=function(){return S.H.useId()},n.useImperativeHandle=function(e,t,n){return S.H.useImperativeHandle(e,t,n)},n.useInsertionEffect=function(e,t){return S.H.useInsertionEffect(e,t)},n.useLayoutEffect=function(e,t){return S.H.useLayoutEffect(e,t)},n.useMemo=function(e,t){return S.H.useMemo(e,t)},n.useOptimistic=function(e,t){return S.H.useOptimistic(e,t)},n.useReducer=function(e,t,n){return S.H.useReducer(e,t,n)},n.useRef=function(e){return S.H.useRef(e)},n.useState=function(e){return S.H.useState(e)},n.useSyncExternalStore=function(e,t,n){return S.H.useSyncExternalStore(e,t,n)},n.useTransition=function(){return S.H.useTransition()},n.version="19.2.8"},91788,(e,t,n)=>{"use strict";
1e.i(50461),t.exports=e.r(61556)},89961,e=>{e.q("/_next/static/immutable/media/email-from-colin.229day2pr0xa4.png")},58613,e=>{e.q("/_next/static/immutable/media/gmeet.3bluyf19mzdsl.png")},9690,e=>{e.q("/_next/static/immutable/media/goodbye-mochip.0tx005_u9dac8.png")},7543,e=>{e.q("/_next/static/immutable/media/hegarty-time-exploit.1yx5vlw-17ztu.jpeg")},83418,e=>{e.q("/_next/static/immutable/media/landing.1-bdt_v5knqbc.jpeg")},13763,e=>{e.q("/_next/static/immutable/media/discord-oauth-dashboard.2wtz3-mct7ign.png")},85591,56206,81326,e=>{"use strict";var t=e.i(91398);let n=function(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=function e(t){var n,r,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t)if(Array.isArray(t)){var s=t.length;for(n=0;n<s;n++)t[n]&&(r=e(t[n]))&&(o&&(o+=" "),o+=r)}else for(r in t)t[r]&&(o&&(o+=" "),o+=r);return o}(e))&&(r&&(r+=" "),r+=t);return r};e.s(["default",0,n],56206);var r=e.i(41158);let o="mx-auto w-full max-w-[650px] px-4";e.s(["boxHd",0,"mb-3 text-[13px] font-semibold tracking-wide text-stone-400 dark:text-stone-500","listing",0,"m-0 list-none p-0","muted",0,"text-stone-400 dark:text-stone-500","pageTitle",0,"font-serif text-4xl font-semibold tracking-[-0.01em] text-stone-900 dark:text-stone-100","thing",0,"mb-2.5 last:mb-0","wrap",0,o],81326);let s=[{href:"/",label:"home"},{href:"https://github.com/alii/website",label:"github"},{href:"https://x.com/intent/user?screen_name=alistaiir",label:"twitter"},{href:"/feed.xml",label:"rss"}];e.s(["Layout",0,function({children:e}){return(0,t.jsxs)("div",{className:n(o,"flex min-h-screen flex-col py-20 max-sm:py-10"),children:[(0,t.jsx)("main",{className:"flex-1",children:e}),(0,t.jsxs)("footer",{className:"mt-24 flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px] text-stone-400 dark:text-stone-500",children:[(0,t.jsxs)("span",{children:["© ",new Date().getFullYear()," Alistair Smith"]}),s.map(e=>(0,t.jsx)(r.default,{href:e.href,className:"text-stone-400 no-underline hover:underline dark:text-stone-500",children:e.label},e.href))]})]})}],85591)},17939,e=>{e.q("/_next/static/immutable/media/traffic-lights-dark.119dy2loza6f2.png")},28570,e=>{e.q("/_next/static/immutable/media/traffic-lights-light.076k7um4vfh1l.png")},87856,e=>{"use strict";var t,n,r,o,s,i,u=e.i(91398),a=e.i(41158),l=class{ws=null;attempts=0;timer=null;url;options;constructor(e,t={}){this.url=e,this.options={...t,maxAttempts:t.maxAttempts??1/0}}send(e){if(!this.ws)throw Error("Can not send before a socket exists. Call `.open()` to start a connection");this.ws.send(e)}close(e,t){null!==this.timer&&(clearTimeout(this.timer),this.timer=void 0),this.ws&&this.ws.close(e||1e3,t)}open(){return this.ws=new WebSocket(this.url,this.options.protocols??[]),this.options.with&&this.options.with(this.ws),this.ws.onmessage=e=>{this.options.onMessage?.(e)},this.ws.onopen=e=>{this.options.onOpen?.(e),this.attempts=0},this.ws.onclose=e=>{1e3!==e.code&&1001!==e.code&&1005!==e.code&&this.reconnect(e),this.options.onClose?.(e)},this.ws.onerror=e=>{"code"in e&&"ECONNREFUSED"===e.code?this.reconnect(e):this.options.onError?.(e)},this}reconnect(e){this.ws&&this.ws.close(1e3,"Reconnecting"),void 0!==this.timer&&this.attempts++<this.options.maxAttempts?this.timer=setTimeout(()=>{this.options.onReconnect?.(e),this.open()},this.options.timeout||1e3):this.options.onDidExhaustMaxAttempts?.(e)}},c=Object.defineProperty,f=s||(s={});function d(e,t){return e.ok&&t.success}f.isSuccess=d,f.isErrored=function(e,t){return!d(e,t)},(n=(t=i||(i={})).WellKnownNameplatePalettes||(t.WellKnownNameplatePalettes={})).NONE="none",n.CRIMSON="crimson",n.BERRY="berry",n.SKY="sky",n.TEAL="teal",n.FOREST="forest",n.BUBBLE_GUM="bubble_gum",n.VIOLET="violet",n.COBALT="cobalt",n.CLOVER="clover";var p={hostname:"api.lanyard.rest",secure:!0},h=class extends Error{constructor(e,t,n){super(n.error.message),this.request=e,this.response=t,this.body=n,this.code=t.status}request;response;body;code};async function y(e,t={}){let n=new Request(`${function(e=p){return`${e.secure?"https":"http"}://${e.hostname}`}(t.api)}/v1/users/${e}`,{signal:t.controller?.signal??null}),r=await fetch(n),o=await r.json();if(!s.isSuccess(r,o))throw new h(n,r,o);return o.data}var m=class{counts=new Map;get size(){return this.counts.size}keys(){return[...this.counts.keys()]}add(e){return e.filter(e=>{let t=this.counts.get(e)??0;return this.counts.set(e,t+1),0===t})}remove(e){return e.filter(e=>{let t=this.counts.get(e)??0;return t>1?(this.counts.set(e,t-1),!1):(this.counts.delete(e),1===t)})}},b=((r=b||{})[r.Event=0]="Event",r[r.Hello=1]="Hello",r[r.Initialize=2]="Initialize",r[r.Heartbeat=3]="Heartbeat",r[r.Unsubscribe=4]="Unsubscribe",r),g=((o=g||{}).INIT_STATE="INIT_STATE",o.PRESENCE_UPDATE="PRESENCE_UPDATE",o),v=class{constructor(e,t){this.url=e,this.options=t}url;options;transport;session={ready:!1};get isReady(){return this.session.ready}open(){if(!this.transport&&"u">typeof window){if(!("WebSocket"in window))throw Error("Lanyard failed to connect: The WebSocket API is not supported in this browser.");this.transport=new l(this.url,{onMessage:e=>this.handleMessage(e),onClose:()=>this.endSession(),onReconnect:()=>this.endSession()}).open()}}close(){this.transport&&(this.endSession(),this.transport.close(),this.transport=void 0)}subscribe(e){this.send({op:2,d:{subscribe_to_ids:e}})}unsubscribe(e){this.send({op:4,d:{unsubscribe_from_ids:e}})}send(e){this.transport&&this.session.ready&&this.transport.send(JSON.stringify(e))}beginSession(e){if(this.session.ready)return;let t=setInterval(()=>{this.send({op:3})},e?.heartbeat_interval??1e4);this.session={ready:!0,heartbeat:t},this.options.onReady()}endSession(){this.session.ready&&clearInterval(this.session.heartbeat),this.session={ready:!1}}handleMessage(e){let t=JSON.parse(e.data);switch(t.op){case 1:this.beginSession(t.d);break;case 0:t.d&&this.handleEvent(t.t,t.d)}}handleEvent(e,t){switch(e){case"INIT_STATE":this.options.onPresences(t);break;case"PRESENCE_UPDATE":this.options.onPresences({[t.discord_user.id]:t})}}},_={},w=class{subscriptions=new m;listeners=new Set;snapshot=_;socket;constructor(e=p){const t=e.secure?"wss":"ws";this.socket=new v(`${t}://${e.hostname}/socket`,{onReady:()=>{this.subscriptions.size>0&&this.socket.subscribe(this.subscriptions.keys())},onPresences:e=>
1this.merge(e)})}subscribe(e){var t;let n,r=this.subscriptions.add(e);return this.socket.open(),r.length>0&&this.socket.subscribe(r),t=()=>{let t=this.subscriptions.remove(e);0===this.subscriptions.size?this.socket.close():t.length>0&&this.socket.unsubscribe(t)},n=!1,()=>{n||(n=!0,t())}}listen(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}getSnapshot(){return this.snapshot}merge(e){for(let t of(this.snapshot={...this.snapshot,...e},this.listeners))t()}},x=new Map,E={},k={del:()=>P,get:()=>T,merge:()=>C,put:()=>O};for(var j in k)c(E,j,{get:k[j],enumerable:!0});async function S(e){let t=await fetch(e);if(!t.ok){let n=await t.json();throw new h(e,t,n)}}async function T(e,t){let n=await y(e);return void 0===t?n.kv:n.kv[t]}async function C(e,t,n){let[r,o]="string"==typeof t?[t,n]:["@me",t];await S(new Request(`https://api.lanyard.rest/v1/users/${r}/kv`,{method:"PATCH",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify(o)}))}async function O(e,t,n,r){let[o,s,i]=void 0===r?["@me",t,n]:[t,n,r];await S(new Request(`https://api.lanyard.rest/v1/users/${o}/kv/${encodeURIComponent(s)}`,{method:"PUT",headers:{Authorization:e},body:i}))}async function P(e,t,n){let[r,o]=void 0===n?["@me",t]:[t,n];await S(new Request(`https://api.lanyard.rest/v1/users/${r}/kv/${encodeURIComponent(o)}`,{method:"DELETE",headers:{Authorization:e}}))}var R=e.i(91788),N={api:p},A=e.i(31461),I=e.i(85591),M=e.i(81326);let $=new Intl.DateTimeFormat("en-GB",{month:"short",year:"numeric",timeZone:"UTC"});function L({posts:e}){return(0,u.jsx)("ol",{className:M.listing,children:e.map(e=>(0,u.jsxs)("li",{className:M.thing,children:[(0,u.jsx)("a",{href:`/${e.slug}`,children:e.name})," ",(0,u.jsxs)("span",{className:M.muted,suppressHydrationWarning:!0,children:["· ",$.format(e.date)]})]},e.slug))})}let H="268798547439255572",U="1448512517209981028";e.s(["__N_SSG",0,!0,"default",0,function(e){var t,n;let r,o,s,i,l,c,f,d,{[H]:h,[U]:y}=(t=[H,U],n={initialData:{[H]:e.lanyard??void 0,[U]:e.backupLanyard??void 0}},o=(r={...N,...n}).initialData,s=Array.isArray(t),i=function(e=p){let t=`${e.secure?"wss":"ws"}://${e.hostname}`,n=x.get(t);return n||(n=new w(e),x.set(t,n)),n}(r.api),l=Array.isArray(t)?t.join(","):t,(0,R.useEffect)(()=>i.subscribe(s?t:[t]),[i,l]),c=(0,R.useCallback)(e=>i.listen(e),[i]),f=(0,R.useRef)(void 0),d=()=>{let e,n=i.getSnapshot(),r=f.current;if(r&&r.source===n&&r.key===l)return r.result;if(Array.isArray(t)){let i=o?{...o}:void 0;for(let e of t){let t=n[e];t&&((i??={})[e]=t)}if(e=i,r&&r.key===l){var s;let t,n=r.result;n&&i&&(s=i,(t=Object.keys(n)).length===Object.keys(s).length&&t.every(e=>Object.is(n[e],s[e])))&&(e=n)}}else e=n[t]??o;return f.current={source:n,key:l,result:e},e},(0,R.useSyncExternalStore)(c,d,d)),m=h?.spotify??y?.spotify??null,b=h?.kv.location??e.location,g=(0,A.sortPosts)(A.posts).filter(e=>!e.hidden);return(0,u.jsxs)(I.Layout,{children:[(0,u.jsx)("h1",{className:"mb-6 text-[15px] font-bold text-stone-950 dark:text-stone-50",children:"Alistair Smith"}),(0,u.jsxs)("div",{className:"space-y-4",children:[(0,u.jsxs)("p",{children:["I work at"," ",(0,u.jsx)(a.default,{href:"https://www.anthropic.com/",target:"_blank",children:"Anthropic"})," ","on"," ",(0,u.jsx)(a.default,{href:"https://bun.com",target:"_blank",children:"Bun"})," ","and"," ",(0,u.jsx)(a.default,{href:"https://www.claude.com/product/claude-code",target:"_blank",children:"Claude Code"}),"."]}),(0,u.jsx)("p",{children:"I'm interested in language specifications and type systems. I've been called a TypeScript wizard at least a few times. It's nice to meet you."}),(0,u.jsxs)("p",{className:M.muted,children:["Currently in"," ",(0,u.jsx)(a.default,{href:`https://maps.apple.com/?q=${b}`,target:"_blank",children:b}),".",m&&(0,u.jsxs)(u.Fragment,{children:[" ","Listening to"," ",(0,u.jsx)(a.default,{href:`https://open.spotify.com/track/${m.track_id}`,target:"_blank",children:m.song}),m.artist&&(0,u.jsxs)(u.Fragment,{children:[" by ",m.artist.split("; ").join(", ")]}),"."]})]})]}),(0,u.jsxs)("section",{className:"mt-16",children:[(0,u.jsx)("h2",{className:M.boxHd,children:"writing"}),(0,u.jsx)(L,{posts:g})]})]})}],87856)},55075,(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/",()=>e.r(87856)]),t.hot&&t.hot.dispose(function(){window.__NEXT_P.push(["/"])})}]);

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.