"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[122],{96363:(e,t,r)=>{r.d(t,{B:()=>l});var o=r(89831),a=r(22986),s=r(68327),n=r(91503),i=r(90349);function l(e){let t=e+"CollectionProvider",[r,l]=(0,a.b)(t),[u,c]=r(t,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:t,children:r}=e,a=o.useRef(null),s=o.useRef(new Map).current;return(0,i.jsx)(u,{scope:t,itemMap:s,collectionRef:a,children:r})};d.displayName=t;let m=e+"CollectionSlot",f=o.forwardRef((e,t)=>{let{scope:r,children:o}=e,a=c(m,r),l=(0,s.e)(t,a.collectionRef);return(0,i.jsx)(n.g7,{ref:l,children:o})});f.displayName=m;let p=e+"CollectionItemSlot",h="data-radix-collection-item",g=o.forwardRef((e,t)=>{let{scope:r,children:a,...l}=e,u=o.useRef(null),d=(0,s.e)(t,u),m=c(p,r);return o.useEffect(()=>(m.itemMap.set(u,{ref:u,...l}),()=>void m.itemMap.delete(u))),(0,i.jsx)(n.g7,{[h]:"",ref:d,children:a})});return g.displayName=p,[{Provider:d,Slot:f,ItemSlot:g},function(t){let r=c(e+"CollectionConsumer",t);return o.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll("[".concat(h,"]")));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},l]}},16069:(e,t,r)=>{r.d(t,{Pc:()=>b,ck:()=>k,fC:()=>j});var o=r(89831),a=r(4201),s=r(96363),n=r(68327),i=r(22986),l=r(38365),u=r(23855),c=r(23790),d=r(4358),m=r(8531),f=r(90349),p="rovingFocusGroup.onEntryFocus",h={bubbles:!1,cancelable:!0},g="RovingFocusGroup",[v,y,w]=(0,s.B)(g),[P,b]=(0,i.b)(g,[w]),[T,q]=P(g),O=o.forwardRef((e,t)=>(0,f.jsx)(v.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(v.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(S,{...e,ref:t})})}));O.displayName=g;var S=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,orientation:s,loop:i=!1,dir:l,currentTabStopId:g,defaultCurrentTabStopId:v,onCurrentTabStopIdChange:w,onEntryFocus:P,preventScrollOnEntryFocus:b=!1,...q}=e,O=o.useRef(null),S=(0,n.e)(t,O),x=(0,m.gm)(l),[R=null,A]=(0,d.T)({prop:g,defaultProp:v,onChange:w}),[j,k]=o.useState(!1),C=(0,c.W)(P),I=y(r),M=o.useRef(!1),[N,$]=o.useState(0);return o.useEffect(()=>{let e=O.current;if(e)return e.addEventListener(p,C),()=>e.removeEventListener(p,C)},[C]),(0,f.jsx)(T,{scope:r,orientation:s,dir:x,loop:i,currentTabStopId:R,onItemFocus:o.useCallback(e=>A(e),[A]),onItemShiftTab:o.useCallback(()=>k(!0),[]),onFocusableItemAdd:o.useCallback(()=>$(e=>e+1),[]),onFocusableItemRemove:o.useCallback(()=>$(e=>e-1),[]),children:(0,f.jsx)(u.WV.div,{tabIndex:j||0===N?-1:0,"data-orientation":s,...q,ref:S,style:{outline:"none",...e.style},onMouseDown:(0,a.M)(e.onMouseDown,()=>{M.current=!0}),onFocus:(0,a.M)(e.onFocus,e=>{let t=!M.current;if(e.target===e.currentTarget&&t&&!j){let t=new CustomEvent(p,h);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=I().filter(e=>e.focusable);E([e.find(e=>e.active),e.find(e=>e.id===R),...e].filter(Boolean).map(e=>e.ref.current),b)}}M.current=!1}),onBlur:(0,a.M)(e.onBlur,()=>k(!1))})})}),x="RovingFocusGroupItem",R=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:s=!0,active:n=!1,tabStopId:i,...c}=e,d=(0,l.M)(),m=i||d,p=q(x,r),h=p.currentTabStopId===m,g=y(r),{onFocusableItemAdd:w,onFocusableItemRemove:P}=p;return o.useEffect(()=>{if(s)return w(),()=>P()},[s,w,P]),(0,f.jsx)(v.ItemSlot,{scope:r,id:m,focusable:s,active:n,children:(0,f.jsx)(u.WV.span,{tabIndex:h?0:-1,"data-orientation":p.orientation,...c,ref:t,onMouseDown:(0,a.M)(e.onMouseDown,e=>{s?p.onItemFocus(m):e.preventDefault()}),onFocus:(0,a.M)(e.onFocus,()=>p.onItemFocus(m)),onKeyDown:(0,a.M)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey){p.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=function(e,t,r){var o;let a=(o=e.key,"rtl"!==r?o:"ArrowLeft"===o?"ArrowRight":"ArrowRight"===o?"ArrowLeft":o);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return A[a]}(e,p.orientation,p.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let r=g().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)r.reverse();else if("prev"===t||"next"===t){"prev"===t&&r.reverse();let o=r.indexOf(e.currentTarget);r=p.loop?function(e,t){return e.map((r,o)=>e[(t+o)%e.length])}(r,o+1):r.slice(o+1)}setTimeout(()=>E(r))}})})})});R.displayName=x;var A={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function E(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=document.activeElement;for(let o of e)if(o===r||(o.focus({preventScroll:t}),document.activeElement!==r))return}var j=O,k=R},56552:(e,t,r)=>{r.d(t,{D:()=>a});var o=r(89831);function a(e){let t=o.useRef({value:e,previous:e});return o.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}},31156:(e,t,r)=>{function o(e={serializable:!0}){let t={};return{get(r,o,a={miss:()=>Promise.resolve()}){let s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);let n=o();return n.then(e=>a.miss(e)).then(()=>n)},set:(r,o)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(o):o,Promise.resolve(o)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function a(e,t="up"){let r=Date.now();return{...e,status:t,lastUpdate:r,isUp:function(){return"up"===t||Date.now()-r>12e4},isTimedOut:function(){return"timed out"===t&&Date.now()-r<=12e4}}}r.d(t,{C:()=>f});var s=class extends Error{name="AlgoliaError";constructor(e,t){super(e),t&&(this.name=t)}},n=class extends s{stackTrace;constructor(e,t,r){super(e,r),this.stackTrace=t}},i=class extends n{constructor(e){super("Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support.",e,"RetryError")}},l=class extends n{status;constructor(e,t,r,o="ApiError"){super(e,r,o),this.status=t}},u=class extends s{response;constructor(e,t){super(e,"DeserializationError"),this.response=t}},c=class extends l{error;constructor(e,t,r,o){super(e,t,o,"DetailedApiError"),this.error=r}};function d(e){let t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}var m="5.10.2";function f(e,t,r){if(!e||"string"!=typeof e)throw Error("`appId` is missing.");if(!t||"string"!=typeof t)throw Error("`apiKey` is missing.");return function({appId:e,apiKey:t,authMode:r,algoliaAgents:o,...s}){let n=function(e,t,r="WithinHeaders"){let o={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:()=>"WithinHeaders"===r?o:{},queryParameters:()=>"WithinQueryParameters"===r?o:{}}}(e,t,r),f=function({hosts:e,hostsCache:t,baseHeaders:r,logger:o,baseQueryParameters:s,algoliaAgent:n,timeouts:m,requester:f,requestsCache:p,responsesCache:h}){async function g(e){let r=await Promise.all(e.map(e=>t.get(e,()=>Promise.resolve(a(e))))),o=r.filter(e=>e.isUp()),s=r.filter(e=>e.isTimedOut()),n=[...o,...s];return{hosts:n.length>0?n:e,getTimeout:(e,t)=>(0===s.length&&0===e?1:s.length+3+e)*t}}async function v(p,h,y=!0){let w=[],P=function(e,t){if("GET"!==e.method&&(void 0!==e.data||void 0!==t.data))return JSON.stringify(Array.isArray(e.data)?e.data:{...e.data,...t.data})}(p,h),b=function(e,t,r){let o={Accept:"application/json",...e,...t,...r},a={};return Object.keys(o).forEach(e=>{let t=o[e];a[e.toLowerCase()]=t}),a}(r,p.headers,h.headers),T="GET"===p.method?{...p.data,...h.data}:{},q={...s,...p.queryParameters,...T};if(n.value&&(q["x-algolia-agent"]=n.value),h&&h.queryParameters)for(let e of Object.keys(h.queryParameters))h.queryParameters[e]&&"[object Object]"!==Object.prototype.toString.call(h.queryParameters[e])?q[e]=h.queryParameters[e].toString():q[e]=h.queryParameters[e];let O=0,S=async(e,r)=>{let s=e.pop();if(void 0===s)throw new i(w.map(e=>d(e)));let n={...m,...h.timeouts},g={data:P,headers:b,method:p.method,url:function(e,t,r){let o=Object.keys(r).filter(e=>void 0!==r[e]).sort().map(e=>`${e}=${encodeURIComponent("[object Array]"===Object.prototype.toString.call(r[e])?r[e].join(","):r[e]).replace(/\+/g,"%20")}`).join("&"),a=`${e.protocol}://${e.url}${e.port?`:${e.port}`:""}/${"/"===t.charAt(0)?t.substring(1):t}`;return o.length&&(a+=`?${o}`),a}(s,p.path,q),connectTimeout:r(O,n.connect),responseTimeout:r(O,y?n.read:n.write)},v=t=>{let r={request:g,response:t,host:s,triesLeft:e.length};return w.push(r),r},T=await f.send(g);if(function({isTimedOut:e,status:t}){return e||function({isTimedOut:e,status:t}){return!e&&0==~~t}({isTimedOut:e,status:t})||2!=~~(t/100)&&4!=~~(t/100)}(T)){let n=v(T);return T.isTimedOut&&O++,o.info("Retryable failure",d(n)),await t.set(s,a(s,T.isTimedOut?"timed out":"down")),S(e,r)}if(function({status:e}){return 2==~~(e/100)}(T))return function(e){try{return JSON.parse(e.content)}catch(t){throw new u(t.message,e)}}(T);throw v(T),function({content:e,status:t},r){try{let o=JSON.parse(e);if("error"in o)return new c(o.message,t,o.error,r);return new l(o.message,t,r)}catch{}return new l(e,t,r)}(T,w)},x=e.filter(e=>"readWrite"===e.accept||(y?"read"===e.accept:"write"===e.accept)),R=await g(x);return S([...R.hosts].reverse(),R.getTimeout)}return{hostsCache:t,requester:f,timeouts:m,logger:o,algoliaAgent:n,baseHeaders:r,baseQueryParameters:s,hosts:e,request:function(e,t={}){let o=e.useReadTransporter||"GET"===e.method;if(!o)return v(e,t,o);let a=()=>v(e,t);if(!0!==(t.cacheable||e.cacheable))return a();let n={request:e,requestOptions:t,transporter:{queryParameters:s,headers:r}};return h.get(n,()=>p.get(n,()=>p.set(n,a()).then(e=>Promise.all([p.delete(n),e]),e=>Promise.all([p.delete(n),Promise.reject(e)])).then(([e,t])=>t)),{miss:e=>h.set(n,e)})},requestsCache:p,responsesCache:h}}({hosts:[{url:`${e}-dsn.algolia.net`,accept:"read",protocol:"https"},{url:`${e}.algolia.net`,accept:"write",protocol:"https"}].concat(function(e){for(let t=e.length-1;t>0;t--){let r=Math.floor(Math.random()*(t+1)),o=e[t];e[t]=e[r],e[r]=o}return e}([{url:`${e}-1.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${e}-2.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${e}-3.algolianet.com`,accept:"readWrite",protocol:"https"}])),...s,algoliaAgent:function({algoliaAgents:e,client:t,version:r}){let o=(function(e){let t={value:`Algolia for JavaScript (${e})`,add(e){let r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return -1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t})(r).add({segment:t,version:r});return e.forEach(e=>o.add(e)),o}({algoliaAgents:o,client:"Lite",version:m}),baseHeaders:{"content-type":"text/plain",...n.headers(),...s.baseHeaders},baseQueryParameters:{...n.queryParameters(),...s.baseQueryParameters}});return{transporter:f,appId:e,clearCache:()=>Promise.all([f.requestsCache.clear(),f.responsesCache.clear()]).then(()=>void 0),get _ua(){return f.algoliaAgent.value},addAlgoliaAgent(e,t){f.algoliaAgent.add({segment:e,version:t})},setClientApiKey({apiKey:e}){r&&"WithinHeaders"!==r?f.baseQueryParameters["x-algolia-api-key"]=e:f.baseHeaders["x-algolia-api-key"]=e},searchForHits(e,t){return this.search(e,t)},searchForFacets(e,t){return this.search(e,t)},customPost({path:e,parameters:t,body:r},o){if(!e)throw Error("Parameter `path` is required when calling `customPost`.");let a="/{path}".replace("{path}",e);return f.request({method:"POST",path:a,queryParameters:t||{},headers:{},data:r||{}},o)},getRecommendations(e,t){if(e&&Array.isArray(e)&&(e={requests:e}),!e)throw Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");let r={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return f.request(r,t)},search(e,t){if(e&&Array.isArray(e)&&(e={requests:e.map(({params:e,...t})=>"facet"===t.type?{...t,...e,type:"facet"}:{...t,...e,facet:void 0,maxFacetHits:void 0,facetQuery:void 0})}),!e)throw Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw Error("Parameter `searchMethodParams.requests` is required when calling `search`.");let r={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return f.request(r,t)}}}({appId:e,apiKey:t,timeouts:{connect:1e3,read:2e3,write:3e4},logger:{debug:(e,t)=>Promise.resolve(),info:(e,t)=>Promise.resolve(),error:(e,t)=>Promise.resolve()},requester:{send:function(e){return new Promise(t=>{let r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach(t=>r.setRequestHeader(t,e.headers[t]));let o=(e,o)=>setTimeout(()=>{r.abort(),t({status:0,content:o,isTimedOut:!0})},e),a=o(e.connectTimeout,"Connection timeout"),s;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===s&&(clearTimeout(a),s=o(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(a),clearTimeout(s),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(a),clearTimeout(s),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)})}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:o(),requestsCache:o({serializable:!1}),hostsCache:function e(t){let r=[...t.caches],o=r.shift();return void 0===o?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then(e=>Promise.all([e,r.miss(e)])).then(([e])=>e),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(t,a,s={miss:()=>Promise.resolve()})=>o.get(t,a,s).catch(()=>e({caches:r}).get(t,a,s)),set:(t,a)=>o.set(t,a).catch(()=>e({caches:r}).set(t,a)),delete:t=>o.delete(t).catch(()=>e({caches:r}).delete(t)),clear:()=>o.clear().catch(()=>e({caches:r}).clear())}}({caches:[function(e){let t;let r=`algolia-client-js-${e.key}`;function o(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function a(){return JSON.parse(o().getItem(r)||"{}")}function s(e){o().setItem(r,JSON.stringify(e))}return{get:(t,r,o={miss:()=>Promise.resolve()})=>Promise.resolve().then(()=>(!function(){let t=e.timeToLive?1e3*e.timeToLive:null,r=Object.fromEntries(Object.entries(a()).filter(([,e])=>void 0!==e.timestamp));s(r),t&&s(Object.fromEntries(Object.entries(r).filter(([,e])=>{let r=new Date().getTime();return!(e.timestamp+t<r)})))}(),a()[JSON.stringify(t)])).then(e=>Promise.all([e?e.value:r(),void 0!==e])).then(([e,t])=>Promise.all([e,t||o.miss(e)])).then(([e])=>e),set:(e,t)=>Promise.resolve().then(()=>{let s=a();return s[JSON.stringify(e)]={timestamp:new Date().getTime(),value:t},o().setItem(r,JSON.stringify(s)),t}),delete:e=>Promise.resolve().then(()=>{let t=a();delete t[JSON.stringify(e)],o().setItem(r,JSON.stringify(t))}),clear:()=>Promise.resolve().then(()=>{o().removeItem(r)})}}({key:`${m}-${e}`}),o()]}),...r})}}}]);