1"use strict";(globalThis.webpackChunkblog||=[]).push([[5484],{90547(e,t,n){n.d(t,{A:()=>te});var o=n(96540),r=n(23230),s=n(74848);function i(e,t,n,o){return e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)}function a(e){return"undefined"!=typeof window?(0,s.jsx)(l,{...e,children:e.children}):e.children}class l extends o.Component{static defaultProps={topOffset:0,bottomOffset:0,onEnter(){},onLeave(){}};scrollableAncestor;previousPosition=null;unsubscribe;innerRef=(0,o.createRef)();componentDidMount(){this.scrollableAncestor=function(e){let t=e;for(;t.parentNode;){if(t=t.parentNode,t===document.body)return window;const e=window.getComputedStyle(t),n=e.getPropertyValue("overflow-y")||e.getPropertyValue("overflow");if("auto"===n||"scroll"===n||"overlay"===n)return t}return window}(this.innerRef.current);const e=i(this.scrollableAncestor,"scroll",this._handleScroll,{passive:!0}),t=i(window,"resize",this._handleScroll,{passive:!0}),n=function(e){let t=!0;return queueMicrotask(()=>{t&&e()}),()=>t=!1}(()=>{this._handleScroll()});this.unsubscribe=()=>{e(),t(),n()}}componentDidUpdate(){this._handleScroll()}componentWillUnmount(){this.unsubscribe?.()}_handleScroll=()=>{const e=this.innerRef.current,{topOffset:t,bottomOffset:n,onEnter:o,onLeave:r}=this.props,s=function({node:e,scrollableAncestor:t,topOffset:n,bottomOffset:o}){const{top:r,bottom:s}=e.getBoundingClientRect();let i,a;if(t===window)i=window.innerHeight,a=0;else{const e=t;i=e.offsetHeight,a=e.getBoundingClientRect().top}return{top:r,bottom:s,viewportTop:a+n,viewportBottom:a+i-o}}({node:e,scrollableAncestor:this.scrollableAncestor,topOffset:t,bottomOffset:n}),i=function(e){if(e.viewportBottom-e.viewportTop===0)return"invisible";if(e.viewportTop<=e.top&&e.top<=e.viewportBottom)return"inside";if(e.viewportTop<=e.bottom&&e.bottom<=e.viewportBottom)return"inside";if(e.top<=e.viewportTop&&e.viewportBottom<=e.bottom)return"inside";if(e.viewportBottom<e.top)return"below";if(e.top<e.viewportTop)return"above";return"invisible"}(s),a=this.previousPosition;if(this.previousPosition=i,a===i)return;"inside"===i?o():"inside"===a&&r();("below"===a&&"above"===i||"above"===a&&"below"===i)&&(o(),r())};render(){return o.cloneElement(this.props.children,{innerRef:this.innerRef})}}const c=(...e)=>{const t=[];let n;for(const o of e)if(o instanceof Object)Object.assign(n||(n={}),o);else if(void 0===o||!1===o);else{if("string"!=typeof o)throw new Error(`Unexpected value ${o}`);t.push(o)}return{className:t.length>1?t.join(" "):t[0],style:n}};n.dn(c);const u="loading",d="loaded",h="error",f={load:"load",loading:u,loaded:d,error:h,noicon:"noicon",offline:"offline"},p={initial:"initial",loading:u,loaded:d,error:h},{load:m,loading:g,loaded:v,error:w,noicon:b,offline:S}=f;class x extends o.PureComponent{static defaultProps={iconColor:"#fff",iconSize:64};constructor(e){super(e),this.state={isMounted:!1}}componentDidMount(){this.setState({isMounted:!0}),this.props.onDimensions&&this.dimensionElement&&this.props.onDimensions({width:this.dimensionElement.clientWidth||this.dimensionElement.parentNode.clientWidth,height:this.dimensionElement.clientHeight||this.dimensionElement.parentNode.clientHeight})}renderIcon(e){const{icon:t,icons:n,iconColor:r,iconSize:s,theme:i}=e,a=n[t];if(!a)return null;const l=c({width:s+100,height:s,color:r},i.icon);return o.createElement("div",l,[o.createElement(a,{fill:r,size:s,key:"icon"}),o.createElement("br",{key:"br"}),this.props.message])}renderImage(e){return e.icon===v?(0,s.jsx)("img",{...c(e.theme.img),src:e.src,alt:e.alt,width:e.width,height:e.height}):(0,s.jsx)("svg",{...c(e.theme.img),width:e.width,height:e.height,ref:e=>this.dimensionElement=e})}renderNoscript(e){return this.state.isMounted?null:(0,s.jsx)("noscript",{children:(0,s.jsx)("img",{...c(e.theme.img,e.theme.noscript),src:e.nsSrc,srcSet:e.nsSrcSet,alt:e.alt,width:e.width,height:e.height})})}render(){const e=this.props,{placeholder:t,theme:n}=e;let o;return o=e.icon===v?{}:t.lqip?{backgroundImage:`url("${t.lqip}")`}:{backgroundColor:t.color},(0,s.jsxs)("div",{...c(n.placeholder,o,e.style,e.className),onClick:this.props.onClick,onKeyPress:this.props.onClick,ref:this.props.innerRef,children:[this.renderImage(e),this.renderNoscript(e),this.renderIcon(e)]})}}class y{constructor(){this.signal={onabort:()=>{}},this.abort=()=>this.signal.onabort()}}const L=e=>{let t=new Image;const n=new Promise((n,o)=>{t.onload=n,t.onabort=t.onerror=()=>o({}),t.src=e});return n.cancel=()=>{if(!t)throw new Error("Already canceled");t.onload=t.onabort=t.onerror=void 0,t.src="",t=void 0},n},C=(e,t)=>{let n=new y;const o=n.signal,r=new Promise((n,r)=>((e,t)=>(t=t||{},new Promise((n,o)=>{const r=new XMLHttpRequest;r.open(t.method||"get",e,!0);for(const e in t.headers)r.setRequestHeader(e,t.headers[e]);function s(){const e=[],t=[],n={};let o;return r.getAllResponseHeaders().replace(/^(.*?):\s*?([\s\S]*?)$/gm,(r,s,i)=>{e.push(s=s.toLowerCase()),t.push([s,i]),o=n[s],n[s]=o?`${o},${i}`:i}),{ok:2==(r.status/100|0),status:r.status,statusText:r.statusText,url:r.responseURL,clone:s,text:()=>Promise.resolve(r.responseText),json:()=>Promise.resolve(r.responseText).then(JSON.parse),blob:()=>Promise.resolve(new Blob([r.response])),headers:{keys:()=>e,entries:()=>t,get:e=>n[e.toLowerCase()],has:e=>e.toLowerCase()in n}}}r.withCredentials="include"===t.credentials,r.onload=()=>{n(s())},r.onerror=o,t.signal&&(t.signal.onabort=()=>{r.onerror=r.onload=void 0,r.abort()}),r.send(t.body)})))(e,{...t,signal:o}).then(t=>{t.ok?t.blob().then(()=>
1L(e)).then(n):r({status:t.status})},r));return r.cancel=()=>{if(!n)throw new Error("Already canceled");n.abort(),n=void 0},r},k="undefined"==typeof window||"ReactSnap"===window.navigator.userAgent,E=!k&&!!window.navigator.connection,T=(e,t)=>{if(k)return 0;t||(t=window);const n=e.width,{screen:o}=t,r=o.width,s=o.height,{documentElement:i}=document,a=t.innerWidth||i.clientWidth,l=t.innerHeight||i.clientHeight,c=t.devicePixelRatio||1;let u;if(r>a){const e=document.getElementsByTagName("body")[0],t=a-n;u=(e.clientHeight>l||e.clientHeight>s)&&t<=15?r-t:n/a*r}else u=n;return u*c},N=e=>{const t=["Bytes","KB","MB","GB","TB"];if(0===e)return"n/a";const n=parseInt(Math.floor(Math.log(e)/Math.log(1024)),10);return 0===n?`${e} ${t[n]}`:`${(e/1024**n).toFixed(1)} ${t[n]}`},I=(()=>{if(k)return!1;const e=document.createElement("canvas");return!!e.getContext?.("2d")&&0===e.toDataURL("image/webp").indexOf("data:image/webp")})(),H=e=>"webp"===e.format||e.src?.match(/\.webp($|\?.*)/i),M=({srcSet:e,getUrl:t})=>{if(!k)return{};const n=e.filter(e=>!H(e)),o=n[0];return{nsSrcSet:n.map(e=>`${t?t(e):e.src} ${e.width}w`).join(","),nsSrc:t?t(o):o.src,ssr:k}},{initial:j,loading:V,loaded:A,error:O}=p,$=({connection:e,size:t,threshold:n,possiblySlowNetwork:o})=>{if(o)return!1;if(!e)return!0;const{downlink:r,rtt:s,effectiveType:i}=e;switch(i){case"slow-2g":case"2g":return!1;case"3g":return!!(r&&t&&n)&&8*t/(1e3*r)+s<n;default:return!0}},z=(e,t)=>{switch(e){case f.noicon:case f.loaded:return null;case f.loading:return"Loading...";case f.load:const{pickedSrc:n}=t,{size:o}=n;return o?["Click to load (",(0,s.jsx)("nobr",{children:N(o)},"nb"),")"]:"Click to load";case f.offline:return"Your browser is offline. Image not loaded";case f.error:const{loadInfo:r}=t;return 404===r?"404. Image not found":"Error. Click to reload";default:throw new Error(`Wrong icon: ${e}`)}},R=e=>{const{loadState:t,onLine:n,overThreshold:o,userTriggered:r}=e;if(k)return f.noicon;switch(t){case A:return f.loaded;case V:return o?f.loading:f.noicon;case j:if(n){const{shouldAutoDownload:t}=e;return void 0===t?f.noicon:r||!t?f.load:f.noicon}return f.offline;case O:return n?f.error:f.offline;default:throw new Error(`Wrong state: ${t}`)}};class B extends o.Component{constructor(e){super(e),this.state={loadState:j,connection:E?{downlink:navigator.connection.downlink,rtt:navigator.connection.rtt,effectiveType:navigator.connection.effectiveType}:null,onLine:!0,overThreshold:!1,inViewport:!1,userTriggered:!1,possiblySlowNetwork:!1}}static defaultProps={shouldAutoDownload:$,getMessage:z,getIcon:R,loader:"xhr"};componentDidMount(){E?(this.updateConnection=()=>{navigator.onLine&&this.state.loadState===j&&this.setState({connection:{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}})},navigator.connection.addEventListener("onchange",this.updateConnection)):this.props.threshold&&(this.possiblySlowNetworkListener=e=>{if(this.state.loadState!==j)return;const{possiblySlowNetwork:t}=e.detail;!this.state.possiblySlowNetwork&&t&&this.setState({possiblySlowNetwork:t})},window.document.addEventListener("possiblySlowNetwork",this.possiblySlowNetworkListener)),this.updateOnlineStatus=()=>this.setState({onLine:navigator.onLine}),this.updateOnlineStatus(),window.addEventListener("online",this.updateOnlineStatus),window.addEventListener("offline",this.updateOnlineStatus)}componentWillUnmount(){this.clear(),E?navigator.connection.removeEventListener("onchange",this.updateConnection):this.props.threshold&&window.document.removeEventListener("possiblySlowNetwork",this.possiblySlowNetworkListener),window.removeEventListener("online",this.updateOnlineStatus),window.removeEventListener("offline",this.updateOnlineStatus)}onClick=()=>{const{loadState:e,onLine:t,overThreshold:n}=this.state;if(t)switch(e){case V:return void(n&&this.cancel(!0));case A:return;case j:case O:return void this.load(!0);default:throw new Error(`Wrong state: ${e}`)}};clear(){this.loader&&(this.loader.cancel(),this.loader=void 0)}cancel(e){V===this.state.loadState&&(this.clear(),this.loadStateChange(j,e))}loadStateChange(e,t,n=null){this.setState({loadState:e,overThreshold:!1,userTriggered:!!t,loadInfo:n})}load=e=>{const{loadState:t,url:n}=this.state;if(k||A===t||V===t)return;this.loadStateChange(V,e);const{threshold:o}=this.props,r="xhr"===this.props.loader?C(n):L(n);if(r.then(()=>{this.clear(),this.loadStateChange(A,!1)}).catch(e=>{this.clear(),404===e.status?this.loadStateChange(O,!1,404):this.loadStateChange(O,!1)}),o){const e=(e=>{let t;const n=new Promise(n=>{t=setTimeout(n,e)});return n.cancel=()=>{clearTimeout(t),t=void 0},n})(o);e.then(()=>{this.loader&&(window.document.dispatchEvent(new CustomEvent("possiblySlowNetwork",{detail:{possiblySlowNetwork:!0}})),this.setState({overThreshold:!0}),this.state.userTriggered||this.cancel(!0))}),this.loader=((e,t)=>{if(!t)return e;const n=e.then(e=>e,e=>e);return n.cancel=()=>{e.cancel(),t.cancel()},n})(r,e)}else this.loader=r};onEnter=()=>{if(this.state.inViewport)return;this.setState({inViewport:!0});const e=(({srcSet:e,maxImageWidth:t,supportsWebp:n})=>{if(0===e.length)throw new Error("Need at least one item in srcSet");let o,r;if(n)o=e.filter(H),0===o.length&&(o=e);else if(o=e.filter(e=>!H(e)),0===o.length)throw new Error("Need at least one supported format item in srcSet");let s=o.filter(e=>e.width>=t);return 0===s.length?(s=o,r=Math.max.apply(null,s.map(e=>e.width))):r=Math.min.apply(null,s.map(e=>e.width)),o.filter(e=>e.width===r)[0]})({srcSet:this.props.srcSet,maxImageWidth:this.props.srcSet.length>1?T(this.state.dimensions):0,supportsWebp:I}),{getUrl:t}=this.props,n=t?t(e):e.src,o=this.props.shouldAutoDownload({...this.state,size:e.size});this.setState({pickedSrc:e,shouldAutoDownload:o,url:n},()=>{o&&this.load(!1)})};onLeave=()=>{this.state.loadState!==V||this.state.userTriggered||(this.setState({inViewport:!1}),this.cancel(!1))};render(){const e=this.props.getIcon(this.state),t=this.props.getMessage(e,this.state);return(0,s.jsx)(a,{onEnter:this.onEnter,onLeave:this.onLeave,children:(0,s.jsx)(x,{...this.props,...M(this.props),onClick:this.onClick,icon:e,src:this.state.url||"",onDimensions:e=>this.setState({dimensions:e}),message:t})})}}const D=({size:e=24,fill:t="#000",className:n,path:o})=>(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 24 24",className:n,children:[(0,s.jsx)("path",{d:"M0 0h24v24H0z",fill:"none"}),(0,s.jsx)("path",{fill:t,d:o})]}),P=e=>
1(0,s.jsx)(D,{...e,path:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-5 5-5-5h3V9h4v4h3z"}),_=e=>(0,s.jsx)(D,{...e,path:"M19.35 10.04C18.67 6.59 15.64 4 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46C10.21 6.23 11.08 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96zM3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73 4.27 4 3 5.27zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h1.73z"}),q=e=>(0,s.jsx)(D,{...e,path:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}),W=e=>(0,s.jsx)(D,{...e,path:"M6,2V8H6V8L10,12L6,16V16H6V22H18V16H18V16L14,12L18,8V8H18V2H6M16,16.5V20H8V16.5L12,12.5L16,16.5M12,11.5L8,7.5V4H16V7.5L12,11.5Z"}),{load:U,loading:K,loaded:Y,error:G,noicon:F,offline:J}=f,X={[U]:P,[K]:W,[Y]:null,[G]:q,[F]:null,[J]:_},Z={placeholder:{backgroundSize:"cover",backgroundRepeat:"no-repeat",position:"relative"},img:{width:"100%",height:"auto",maxWidth:"100%",marginBottom:"-4px"},icon:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",textAlign:"center"},noscript:{position:"absolute",top:0,left:0}},Q=({icons:e=X,theme:t=Z,...n})=>(0,s.jsx)(B,{...n,icons:e,theme:t});function ee(e,t){switch(e){case"noicon":case"loaded":return null;case"loading":return(0,r.T)({id:"theme.IdealImageMessage.loading",message:"Loading...",description:"When the full-scale image is loading"});case"load":{const{pickedSrc:e}=t,{size:n}=e,o=n?` (${function(e){const t=["B","KB","MB","GB","TB"];if(0===e)return"n/a";const n=Math.floor(Math.log(e)/Math.log(1024));return 0===n?`${e} ${t[n]}`:`${(e/1024**n).toFixed(1)} ${t[n]}`}(n)})`:"";return(0,r.T)({id:"theme.IdealImageMessage.load",message:"Click to load{sizeMessage}",description:"To prompt users to load the full image. sizeMessage is a parenthesized size figure."},{sizeMessage:o})}case"offline":return(0,r.T)({id:"theme.IdealImageMessage.offline",message:"Your browser is offline. Image not loaded",description:"When the user is viewing an offline document"});case"error":{const{loadInfo:e}=t;return 404===e?(0,r.T)({id:"theme.IdealImageMessage.404error",message:"404. Image not found",description:"When the image is not found"}):(0,r.T)({id:"theme.IdealImageMessage.error",message:"Error. Click to reload",description:"When the image fails to load for unknown error"})}default:throw new Error(`Wrong icon: ${e}`)}}function te(e){const{img:t,...n}=e;return"string"==typeof t||"default"in t?(0,s.jsx)("img",{src:"string"==typeof t?t:t.default,...n}):(0,s.jsx)(Q,{...n,height:t.src.height??100,width:t.src.width??100,placeholder:{lqip:t.preSrc},src:t.src.src,srcSet:t.src.images.map(e=>({...e,src:e.path})),getMessage:ee})}},9002(e,t,n){n(96540),n(61507),n(74848)},61507(e,t,n){n.d(t,{A:()=>m});var o=n(96540),r=n(86957);function s(e){const t=e.map(e=>({...e,parentIndex:-1,children:[]})),n=Array(7).fill(-1);t.forEach((e,t)=>{const o=n.slice(2,e.level);e.parentIndex=Math.max(...o),n[e.level]=t});const o=[];return t.forEach(e=>{const{parentIndex:n,...r}=e;n>=0?t[n].children.push(r):o.push(r)}),o}function i({toc:e,minHeadingLevel:t,maxHeadingLevel:n}){return e.flatMap(e=>{const o=i({toc:e.children,minHeadingLevel:t,maxHeadingLevel:n});return function(e){return e.level>=t&&e.level<=n}(e)?[{...e,children:o}]:o})}function a(e){const t=e.getBoundingClientRect();return t.top===t.bottom?a(e.parentNode):t}function l(e,{anchorTopOffset:t}){const n=e.find(e=>a(e).top>=t);if(n){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(a(n))?n:e[e.indexOf(n)-1]??null}return e[e.length-1]??null}function c(){const e=(0,o.useRef)(0),{navbar:{hideOnScroll:t}}=(0,r.p)();return(0,o.useEffect)(()=>{e.current=t?0:document.querySelector(".navbar").clientHeight},[t]),e}function u(e){const t=(0,o.useRef)(void 0),n=c();(0,o.useEffect)(()=>{if(!e)return()=>{};const{linkClassName:o,linkActiveClassName:r,minHeadingLevel:s,maxHeadingLevel:i}=e;function a(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(o),a=function({minHeadingLevel:e,maxHeadingLevel:t}){const n=[];for(let o=e;o<=t;o+=1)n.push(`h${o}.anchor`);return Array.from(document.querySelectorAll(n.join()))}({minHeadingLevel:s,maxHeadingLevel:i}),c=l(a,{anchorTopOffset:n.current}),u=e.find(e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e));
1e.forEach(e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(r),e.classList.add(r),t.current=e):e.classList.remove(r)}(e,e===u)})}return document.addEventListener("scroll",a),document.addEventListener("resize",a),a(),()=>{document.removeEventListener("scroll",a),document.removeEventListener("resize",a)}},[e,n])}var d=n(14783),h=n(74848);function f({toc:e,className:t,linkClassName:n,isChild:o}){return e.length?(0,h.jsx)("ul",{className:o?void 0:t,children:e.map(e=>(0,h.jsxs)("li",{children:[(0,h.jsx)(d.A,{to:`#${e.id}`,className:n??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,h.jsx)(f,{isChild:!0,toc:e.children,className:t,linkClassName:n})]},e.id))}):null}const p=o.memo(f);function m({toc:e,className:t="table-of-contents table-of-contents__left-border",linkClassName:n="table-of-contents__link",linkActiveClassName:a,minHeadingLevel:l,maxHeadingLevel:c,...d}){const f=(0,r.p)(),m=l??f.tableOfContents.minHeadingLevel,g=c??f.tableOfContents.maxHeadingLevel,v=function({toc:e,minHeadingLevel:t,maxHeadingLevel:n}){return(0,o.useMemo)(()=>i({toc:s(e),minHeadingLevel:t,maxHeadingLevel:n}),[e,t,n])}({toc:e,minHeadingLevel:m,maxHeadingLevel:g});return u((0,o.useMemo)(()=>{if(n&&a)return{linkClassName:n,linkActiveClassName:a,minHeadingLevel:m,maxHeadingLevel:g}},[n,a,m,g])),(0,h.jsx)(p,{toc:v,className:t,linkClassName:n,...d})}},7227(e,t,n){n.d(t,{A:()=>l});n(96540);var o=n(34164),r=n(8626);const s="tabItem_Ymn6";var i=n(74848);function a({children:e,className:t,hidden:n}){return(0,i.jsx)("div",{role:"tabpanel",className:(0,o.A)(s,t),hidden:n,children:e})}function l({children:e,className:t,value:n}){const{selectedValue:o,lazy:s}=(0,r.uc)(),l=n===o;return!l&&s?null:(0,i.jsx)(a,{className:t,hidden:!l,children:e})}},45645(e,t,n){n.d(t,{A:()=>p});n(96540);var o=n(34164),r=n(18630),s=n(8626),i=n(24245),a=n(11062);const l="tabList__CuJ",c="tabItem_LNqP";var u=n(74848);function d({className:e}){const{selectedValue:t,selectValue:n,tabValues:r,block:a}=(0,s.uc)(),l=[],{blockElementScrollPositionUntilNextRender:d}=(0,i.a_)(),h=e=>{const o=e.currentTarget,s=l.indexOf(o),i=r[s].value;i!==t&&(d(o),n(i))},f=e=>{let t=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,u.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":a},e),children:r.map(({value:e,label:n,attributes:r})=>(0,u.jsx)("li",{role:"tab",tabIndex:t===e?0:-1,"aria-selected":t===e,ref:e=>{l.push(e)},onKeyDown:f,onClick:h,...r,className:(0,o.A)("tabs__item",c,r?.className,{"tabs__item--active":t===e}),children:n??e},e))})}function h({children:e}){return(0,u.jsx)("div",{className:"margin-top--md",children:e})}function f({className:e,children:t}){return(0,u.jsxs)("div",{className:(0,o.A)(r.G.tabs.container,"tabs-container",l),children:[(0,u.jsx)(d,{className:e}),(0,u.jsx)(h,{children:t})]})}function p(e){const t=(0,a.A)(),n=(0,s.OC)(e);return(0,u.jsx)(s.O_,{value:n,children:(0,u.jsx)(f,{className:e.className,children:(0,s.vT)(e.children)})},String(t))}},8626(e,t,n){n.d(t,{OC:()=>p,O_:()=>v,uc:()=>g,vT:()=>u});var o=n(96540),r=n(19413),s=n(36494),i=n(62814),a=n(69900),l=n(45167),c=n(74848);function u(e){return o.Children.toArray(e).filter(e=>"\n"!==e)}function d(e){const{values:t,children:n}=e;return(0,o.useMemo)(()=>{const e=t??function(e){return o.Children.toArray(e).flatMap(e=>{if(!e)return[];if((0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return[e];const t="string"==typeof e.type?e.type:e.type.name;throw new Error(`Docusaurus error: Bad <Tabs> child <${t}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.\nIf you do not want to pass on a "value" prop to the direct children of <Tabs>, you can also pass an explicit <Tabs values={...}> prop.`)}).map(({props:{value:e,label:t,attributes:n,default:o}})=>({value:e,label:t,attributes:n,default:o}))}(n);return function(e){const t=(0,l.XI)(e,(e,t)=>e.value===t.value);if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map(e=>`'${e.value}'`).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}function h({value:e,tabValues:t}){return t.some(t=>t.value===e)}function f({queryString:e=!1,groupId:t}){const n=(0,r.W6)(),s=function({queryString:e=!1,groupId:t}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:e,groupId:t});return[(0,i.aZ)(s),(0,o.useCallback)(e=>{if(!s)return;const t=new URLSearchParams(n.location.search);t.set(s,e),n.replace({...n.location,search:t.toString()})},[s,n])]}function p(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,i=d(e),[l,c]=(0,o.useState)(()=>function({defaultValue:e,tabValues:t}){if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(e){if(!h({value:e,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}const n=t.find(e=>e.default)??t[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:i})),[u,p]=f({queryString:n,groupId:r}),[m,g]=function({groupId:e}){const t=function(e){return e?`docusaurus.tab.${e}`:null}(e),[n,r]=(0,a.Dv)(t);return[n,(0,o.useCallback)(e=>{t&&r.set(e)},[t,r])]}({groupId:r}),v=(()=>{const e=u??m;return h({value:e,tabValues:i})?e:null})();(0,s.A)(()=>{v&&c(v)},[v]);return{selectedValue:l,selectValue:(0,o.useCallback)(e=>{if(!h({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);c(e),p(e),g(e)},[p,g,i]),tabValues:i,lazy:e.lazy??!1,block:e.block??!1}}const m=(0,o.createContext)(null);function g(){const e=o.useContext(m);if(!e)throw new Error("useTabsContext() must be used within a Tabs component");return e}function v(e){return(0,c.jsx)(m.Provider,{value:e.value,children:e.children})}},51491(e,t,n){n.d(t,{A:()=>i});const o=new Uint8Array(16);const r=[];for(let a=0;a<256;++a)r.push((a+256).toString(16).slice(1));function s(e,t=0){return(r[e[t+0]]+r[e[t+1]]+r[e[t+2]]+r[e[t+3]]+"-"+r[e[t+4]]+r[e[t+5]]+"-"+r[e[t+6]]+r[e[t+7]]+"-"+r[e[t+8]]+r[e[t+9]]+"-"+r[e[t+10]]+r[e[t+11]]+r[e[t+12]]+r[e[t+13]]+r[e[t+14]]+r[e[t+15]]).toLowerCase()}const i=function(e,t,n){return t||e||!crypto.randomUUID?function(e,t,n){e=e||{};const r=e.random??e.rng?.()??crypto.getRandomValues(o);if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){if((n=n||0)<0||n+16>t.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return s(r)}(e,t,n):crypto.randomUUID()}}}]);
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.