1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,154200,e=>{"use strict";var t=e.i(843476),a=e.i(271645);e.s(["default",0,function(){let[e,r]=(0,a.useState)(null),o=(0,a.useRef)(null),n=(0,a.useCallback)(()=>r(null),[]);return(0,a.useEffect)(()=>{function e(e){let t=e.target,a=t?.closest?.("img[data-zoom-src]");!a||a.closest(".blog-body")&&(e.preventDefault(),r({src:a.dataset.zoomSrc||a.currentSrc||a.src,alt:a.alt,caption:a.dataset.zoomCaption||void 0}))}return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[]),(0,a.useEffect)(()=>{let t=o.current;t&&(e&&!t.open&&t.showModal(),!e&&t.open&&t.close())},[e]),(0,t.jsxs)("dialog",{ref:o,onClose:n,onClick:n,"aria-label":"Expanded image",className:"m-auto max-h-none max-w-none h-full w-full bg-transparent p-0 backdrop:bg-black/85 open:flex open:items-center open:justify-center",children:[e&&(0,t.jsxs)("figure",{className:"relative m-0 flex w-[95vw] max-h-[95vh] flex-col items-center gap-3",onClick:e=>e.stopPropagation(),children:[(0,t.jsx)("img",{src:e.src,alt:e.alt,className:"h-auto w-full max-h-[88vh] cursor-zoom-out object-contain",onClick:n}),e.caption&&(0,t.jsx)("figcaption",{className:"max-w-2xl text-center text-sm italic text-gray-200",children:e.caption})]}),(0,t.jsx)("button",{type:"button",onClick:n,"aria-label":"Close expanded image",className:"fixed right-4 top-4 flex h-10 w-10 items-center justify-center rounded-full bg-black/60 text-2xl leading-none text-white transition-colors hover:bg-black/80",children:"Ã"})]})}])},3447,e=>{"use strict";var t=e.i(843476),a=e.i(271645);e.s(["default",0,function({code:e,language:r,filename:o}){if(!e?.trim())return null;let[n,i]=(0,a.useState)(!1);async function l(){try{await navigator.clipboard.writeText(e),i(!0),setTimeout(()=>i(!1),2e3)}catch{}}return(0,t.jsxs)("figure",{className:"group relative my-8 overflow-hidden rounded-lg border border-gray-200 bg-gray-950 text-sm",children:[(0,t.jsx)("button",{type:"button",onClick:l,"aria-label":n?"Copied!":"Copy code",title:n?"Copied!":"Copy",className:"absolute top-2.5 right-2.5 flex items-center gap-1.5 rounded px-2 py-1 text-xs font-medium text-gray-400 bg-gray-800/80 backdrop-blur-sm transition-all opacity-0 group-hover:opacity-100 hover:bg-white/10 hover:text-white focus-visible:opacity-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-white",children:n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,t.jsx)("polyline",{points:"20 6 9 17 4 12"})}),"Copied"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"})]}),"Copy"]})}),(0,t.jsx)("pre",{className:"overflow-x-auto p-4",children:(0,t.jsx)("code",{className:"font-mono text-[0.8125rem] leading-relaxed text-gray-100 whitespace-pre-wrap break-words",children:e})})]})}])},298176,e=>{"use strict";var t=e.i(843476);function a(){return(0,t.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.736-8.875L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"})})}function r(){return(0,t.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"})})}function o(){return(0,t.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"
1currentColor","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"})})}function n(){return(0,t.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"})})}e.s(["default",0,function({url:e,title:i,variant:l="body",direction:c="horizontal",category:s="blog"}){let d=encodeURIComponent(e),h=encodeURIComponent(i),u="hero"===l,f=u?"inline-flex items-center justify-center w-8 h-8 rounded-full transition-colors duration-150 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2":"inline-flex items-center justify-center w-12 h-12 rounded-full transition-colors duration-150 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2",p=u?`${f} text-white/70 hover:text-white hover:bg-white/15 focus-visible:outline-white`:`${f} bg-black text-white hover:bg-gray-800 focus-visible:outline-gray-800`,x={x:`https://twitter.com/intent/tweet?url=${d}&text=${h}`,facebook:`https://www.facebook.com/sharer/sharer.php?u=${d}`,linkedin:`https://www.linkedin.com/sharing/share-offsite/?url=${d}`,mastodon:`https://mastodon.social/share?text=${h}%20${d}`},m=i.toLowerCase();return(0,t.jsxs)("div",{className:"vertical"===c?"flex flex-col items-center gap-1":"flex items-center gap-0.5",role:"group","aria-label":"Share this article",children:[(0,t.jsx)("a",{href:x.x,target:"_blank",rel:"noopener noreferrer",className:p,"aria-label":"Share on X",title:"Share on X","data-track-component-id":"article-share-x","data-track-component-type":"share_button","data-track-component-title":m,"data-track-category":s,"data-track-label":"x","data-track-destination":x.x,children:(0,t.jsx)(a,{})}),(0,t.jsx)("a",{href:x.facebook,target:"_blank",rel:"noopener noreferrer",className:p,"aria-label":"Share on Facebook",title:"Share on Facebook","data-track-component-id":"article-share-facebook","data-track-component-type":"share_button","data-track-component-title":m,"data-track-category":s,"data-track-label":"facebook","data-track-destination":x.facebook,children:(0,t.jsx)(r,{})}),(0,t.jsx)("a",{href:x.linkedin,target:"_blank",rel:"noopener noreferrer",className:p,"aria-label":"Share on LinkedIn",title:"Share on LinkedIn","data-track-component-id":"article-share-linkedin","data-track-component-type":"share_button","data-track-component-title":m,"data-track-category":s,"data-track-label":"linkedin","data-track-destination":x.linkedin,children:(0,t.jsx)(o,{})}),(0,t.jsx)("a",{href:x.mastodon,target:"_blank",rel:"noopener noreferrer",className:p,"aria-label":"Share on Mastodon",title:"Share on Mastodon","data-track-component-id":"article-share-mastodon","data-track-component-type":"share_button","data-track-component-title":m,"data-track-category":s,"data-track-label":"mastodon","data-track-destination":x.mastodon,children:(0,t.jsx)(n,{})})]})}])},723090,e=>{"use strict";var t=e.i(271645);let a=null;e.s(["default",0,function({slug:e,articleCategory:r,articleTags:o,authorName:n}){return(0,t.useEffect)(()=>
1{if(a===e)return;a=e;let t=window;t.dataLayer=t.dataLayer??[],t.dataLayer.push({event:"articleView",articleCategory:r,articleTags:o,authorName:n})},[e,r,o,n]),null}])}]);
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.