1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="b2f15c4a-b120-9d1f-0c6b-3ea52e9658c5")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,842727,e=>{"use strict";var t=e.i(271645),r=e.i(981140),n=e.i(75830),o=e.i(820783),s=e.i(30030),i=e.i(610772),l=e.i(248425),u=e.i(30207),a=e.i(369340),c=e.i(586318),p=e.i(843476),d="rovingFocusGroup.onEntryFocus",h={bubbles:!1,cancelable:!0},f="RovingFocusGroup",[m,g,v]=(0,n.createCollection)(f),[y,b]=(0,s.createContextScope)(f,[v]),[w,x]=y(f),q=t.forwardRef((e,t)=>(0,p.jsx)(m.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,p.jsx)(m.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,p.jsx)(S,{...e,ref:t})})}));q.displayName=f;var S=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:s,orientation:i,loop:m=!1,dir:v,currentTabStopId:y,defaultCurrentTabStopId:b,onCurrentTabStopIdChange:x,onEntryFocus:q,preventScrollOnEntryFocus:S=!1,...O}=e,C=t.useRef(null),T=(0,o.useComposedRefs)(n,C),j=(0,c.useDirection)(v),[R,P]=(0,a.useControllableState)({prop:y,defaultProp:b??null,onChange:x,caller:f}),[k,A]=t.useState(!1),M=(0,u.useCallbackRef)(q),I=g(s),U=t.useRef(!1),[L,Q]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(d,M),()=>e.removeEventListener(d,M)},[M]),(0,p.jsx)(w,{scope:s,orientation:i,dir:j,loop:m,currentTabStopId:R,onItemFocus:t.useCallback(e=>P(e),[P]),onItemShiftTab:t.useCallback(()=>A(!0),[]),onFocusableItemAdd:t.useCallback(()=>Q(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>Q(e=>e-1),[]),children:(0,p.jsx)(l.Primitive.div,{tabIndex:k||0===L?-1:0,"data-orientation":i,...O,ref:T,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{U.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!U.current;if(e.target===e.currentTarget&&t&&!k){let t=new CustomEvent(d,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),S)}}U.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>A(!1))})})}),O="RovingFocusGroupItem",C=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:o,focusable:s=!0,active:u=!1,tabStopId:a,children:c,...d}=e,h=(0,i.useId)(),f=a||h,v=x(O,o),y=v.currentTabStopId===f,b=g(o),{onFocusableItemAdd:w,onFocusableItemRemove:q,currentTabStopId:S}=v;return t.useEffect(()=>{if(s)return w(),()=>q()},[s,w,q]),(0,p.jsx)(m.ItemSlot,{scope:o,id:f,focusable:s,active:u,children:(0,p.jsx)(l.Primitive.span,{tabIndex:y?0:-1,"data-orientation":v.orientation,...d,ref:n,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{s?v.onItemFocus(f):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>v.onItemFocus(f)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void v.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let o=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return T[o]}(e,v.orientation,v.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&o.reverse();let s=o.indexOf(e.currentTarget);o=v.loop?(r=o,n=s+1,r.map((e,t)=>r[(n+t)%r.length])):o.slice(s+1)}setTimeout(()=>E(o))}}),children:"function"==typeof c?c({isCurrentTabStop:y,hasTabStop:null!=S}):c})})});C.displayName=O;var T={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function E(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",0,C,"Root",0,q,"createRovingFocusGroupScope",0,b])},150361,924540,650511,e=>{"use strict";var t=e.i(271645);let r=function(){try{let e="nuqs-localStorage-test";if("u"<typeof localStorage)return!1;localStorage.setItem(e,e);let t=localStorage.getItem(e)===e;return localStorage.removeItem(e),t&&(localStorage.getItem("debug")||"").includes("nuqs")}catch{return!1}}();function n(e,...t){if(!r)return;let o=function(e,...t){return e.replace(/%[sfdO]/g,e=>{let r=t.shift();return"%O"===e&&r?JSON.stringify(r).replace(/"([^"]+)":/g,"$1:"):String(r)})}(e,...t);performance.mark(o);try{console.log(e,...t)}catch{console.log(o)}}let o={303:"Multiple adapter contexts detected. This might happen in monorepos.",404:"nuqs requires an adapter to work with your framework.",409:"Multiple versions of the library are loaded. This may lead to unexpected behavior. Currently using `%s`, but `%s` (via the %s adapter) was about to load on top.",414:"Max safe URL length exceeded. Some browsers may not be able to accept this URL. Consider limiting the amount of state stored in the URL.",422:"Invalid options combination: `limitUrlUpdates: debounce` should be used in SSR scenarios, with `shallow: false`",429:"URL update rate-limited by the browser. Consider increasing `throttleMs` for key(s) `%s`. %O",500:"Empty search params cac
2he. Search params can't be accessed in Layouts.",501:"Search params cache already populated. Have you called `parse` twice?"};function s(e){return`[nuqs] ${o[e]} 3 See https://nuqs.dev/NUQS-${e}`}let i=(0,t.createContext)({useAdapter(){throw Error(s(404))}});function l(e){return{method:"throttle",timeMs:e}}i.displayName="NuqsAdapterContext",r&&"u">typeof window&&(window.__NuqsAdapterContext&&window.__NuqsAdapterContext!==i&&console.error(s(303)),window.__NuqsAdapterContext=i),e.s(["a",0,()=>(0,t.useContext)(i).processUrlSearchParams,"c",0,n,"i",0,()=>(0,t.useContext)(i).defaultOptions,"l",0,function(e,...t){r&&console.warn(e,...t)},"n",0,function(e){return({children:r,defaultOptions:n,processUrlSearchParams:o,...s})=>(0,t.createElement)(i.Provider,{...s,value:{useAdapter:e,defaultOptions:n,processUrlSearchParams:o}},r)},"o",0,function(e){if(0===e.size)return"";let t=[];for(let[r,n]of e.entries()){let e=r.replace(/#/g,"%23").replace(/&/g,"%26").replace(/\+/g,"%2B").replace(/=/g,"%3D").replace(/\?/g,"%3F");t.push(`${e}=${n.replace(/%/g,"%25").replace(/\+/g,"%2B").replace(/ /g,"+").replace(/#/g,"%23").replace(/&/g,"%26").replace(/"/g,"%22").replace(/'/g,"%27").replace(/`/g,"%60").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/[\x00-\x1F]/g,e=>encodeURIComponent(e))}`)}return"?"+t.join("&")},"r",0,function(e){let r=(0,t.useContext)(i);if(!("useAdapter"in r))throw Error(s(404));return r.useAdapter(e)},"s",0,s],924540);let u=l(function(){if("u"<typeof window||!window.GestureEvent)return 50;try{let e=navigator.userAgent?.match(/version\/([\d\.]+) safari/i);return parseFloat(e[1])>=17?120:320}catch{return 320}}());function a(e,t,r){if("string"==typeof e)r.set(t,e);else{for(let n of(r.delete(t),e))r.append(t,n);r.has(t)||r.set(t,"")}return r}function c(){let e=new Map;return{on(t,r){let n=e.get(t)||[];return n.push(r),e.set(t,n),()=>this.off(t,r)},off(t,r){let n=e.get(t);n&&e.set(t,n.filter(e=>e!==r))},emit(t,r){e.get(t)?.forEach(e=>e(r))}}}function p(e,t,r){let n=setTimeout(function(){e(),r.removeEventListener("abort",o)},t);function o(){clearTimeout(n),r.removeEventListener("abort",o)}r.addEventListener("abort",o)}function d(){let e=Promise;if(Promise.hasOwnProperty("withResolvers"))return Promise.withResolvers();let t=()=>{},r=()=>{};return{promise:new e((e,n)=>{t=e,r=n}),resolve:t,reject:r}}function h(){return new URLSearchParams(location.search)}var f=class{updateMap=new Map;options={history:"replace",scroll:!1,shallow:!0};timeMs=u.timeMs;transitions=new Set;resolvers=null;controller=null;lastFlushedAt=0;resetQueueOnNextPush=!1;push({key:e,query:t,options:r},o=u.timeMs){this.resetQueueOnNextPush&&(this.reset(),this.resetQueueOnNextPush=!1),n("[nuqs gtq] Enqueueing %s=%s %O",e,t,r),this.updateMap.set(e,t),"push"===r.history&&(this.options.history="push"),r.scroll&&(this.options.scroll=!0),!1===r.
3shallow&&(this.options.shallow=!1),r.startTransition&&this.transitions.add(r.startTransition),(!Number.isFinite(this.timeMs)||o>this.timeMs)&&(this.timeMs=o)}getQueuedQuery(e){return this.updateMap.get(e)}getPendingPromise({getSearchParamsSnapshot:e=h}){return this.resolvers?.promise??Promise.resolve(e())}flush({getSearchParamsSnapshot:e=h,rateLimitFactor:t=1,...r},o){if(this.controller??=new AbortController,!Number.isFinite(this.timeMs))return n("[nuqs gtq] Skipping flush due to throttleMs=Infinity"),Promise.resolve(e());if(this.resolvers)return this.resolvers.promise;this.resolvers=d();let s=()=>{this.lastFlushedAt=performance.now();let[t,n]=this.applyPendingUpdates({...r,autoResetQueueOnUpdate:r.autoResetQueueOnUpdate??!0,getSearchParamsSnapshot:e},o);null===n?(this.resolvers.resolve(t),this.resetQueueOnNextPush=!0):this.resolvers.reject(t),this.resolvers=null},i=()=>{let e=performance.now()-this.lastFlushedAt,r=this.timeMs,o=t*Math.max(0,r-e);n("[nuqs gtq] Scheduling flush in %f ms. Throttled at %f ms (x%f)",o,r,t),0===o?s():p(s,o,this.controller.signal)};return p(i,0,this.controller.signal),this.resolvers.promise}abort(){return this.controller?.abort(),this.controller=new AbortController,this.resolvers?.resolve(new URLSearchParams),this.resolvers=null,this.reset()}reset(){let e=Array.from(this.updateMap.keys());return n("[nuqs gtq] Resetting queue %s",JSON.stringify(Object.fromEntries(this.updateMap))),this.updateMap.clear(),this.transitions.clear(),this.options={history:"replace",scroll:!1,shallow:!0},this.timeMs=u.timeMs,e}applyPendingUpdates(e,t){let{updateUrl:r,getSearchParamsSnapshot:o}=e,i=o();if(n("[nuqs gtq] Applying %d pending update(s) on top of %s",this.updateMap.size,i.toString()),0===this.updateMap.size)return[i,null];let l=Array.from(this.updateMap.entries()),u={...this.options},c=Array.from(this.transitions);for(let[t,r]of(e.autoResetQueueOnUpdate&&this.reset(),n("[nuqs gtq] Flushing queue %O with options %O",l,u),l))null===r?i.delete(t):i=a(r,t,i);t&&(i=t(i));try{return!function(e,t){let r=t;for(let t=e.length-1;t>=0;t--){let n=e[t];if(!n)continue;let o=r;r=()=>n(o)}r()}(c,()=>{r(i,u)}),[i,null]}catch(e){return console.error(s(429),l.map(([e])=>e).join(),e),[i,e]}}};let m=new f;var g=class{callback;resolvers=d();controller=new AbortController;queuedValue=void 0;constructor(e){this.callback=e}abort(){this.controller.abort(),this.queuedValue=void 0}push(e,t){return this.queuedValue=e,this.controller.abort(),this.controller=new AbortController,p(()=>{let t=this.resolvers;try{n("[nuqs dq] Flushing debounce queue",e);let r=this.callback(e);n("[nuqs dq] Reset debounce queue %O",this.queuedValue),this.queuedValue=void 0,this.resolvers=d(),r.then(e=>t.resolve(e)).catch(e=>t.reject(e))}catch(e){this.queuedValue=void 0,t.reject(e)}},t,this.controller.signal),this.resolvers.promise}};let v=new class{throttleQueue;queues=new Map;queuedQuerySync=c();constructor(e=new f){this.throttleQueue=e}useQueuedQueries(e){var r,n;let o,s;return r=(e,t)=>this.queuedQuerySync.on(e,t),n=e=>this.getQueuedQuery(e),o=(0,t.useCallback)(()=>{let t=Object.fromEntries(e.map(e=>[e,n(e)]));return[JSON.stringify(t),t]},[e.join(","),n]),null===(s=(0,t.useRef)(null)).current&&(s.current=o()),(0,t.useSyncExternalStore)((0,t.useCallback)(t=>{let n=e.map(e=>r(e,t));return()=>n.forEach(e=>e())},[e.join(","),r]),()=>{let[e,t]=o();return s.current[0]===e?s.current[1]:(s.current=[e,t],t)},()=>s.current[1])}push(e,t,r,o){if(!Number.isFinite(t))return Promise.resolve((r.getSearchParamsSnapshot??h)());let s=e.key;if(!this.queues.has(s)){n("[nuqs dqc] Creating debounce queue for `%s`",s);let e=new g(e=>(this.throttleQueue.push(e),this.throttleQueue.flush(r,o).finally(()=>{this.queues.get(e.key)?.queuedValue===void 0&&(n("[nuqs dqc] Cleaning up empty queue for `%s`",e.key),this.queues.delete(e.key)),this.queuedQuerySync.emit(e.key)})));this.queues.set(s,e)}n("[nuqs dqc] Enqueueing debounce update %O",e);let i=this.queues.get(s).push(e,t);return this.queuedQuerySync.emit(s),i}abort(e){let t=this.queues.get(e);return t?(n("[nuqs dqc] Aborting debounce queue %s=%s",e,t.queuedValue?.query),this.queues.delete(e),t.abort(),this.queuedQuerySync.emit(e),e=>(e.then(t.resolvers.resolve,t.resolvers.reject),e)):e=>e}abortAll(){for(let[e,t]of this.queues.entries())n("[nuqs dqc] Aborting debounce queue %s=%s",e,t.queuedValue?.query),t.abort(),t.resolvers.resolve(new URLSearchParams),this.queuedQuerySync.emit(e);this.queues.clear()}getQueuedQuery(e){let t=this.queues.get(e)?.queuedValue?.query;return void 0!==t?t:this.throttleQueue.getQueuedQuery(e)}}(m);e.s(["a",0,a,"c",0,l,"i",0,function(e){return null===e||Array.isArray(e)&&0===e.length},"n",0,m,"o",0,function(e){return{method:"debounce",timeMs:e}},"r",0,c,"s",0,u,"t",0,v],150361),e.s(["t",0,function(e,t){return e===t||null!==e&&null!==t&&"string"!=typeof e&&"string"!=typeof t&&e.length===t.length&&e.every((e,r)=>e===t[r])}],650511)},438847,e=>{"use strict";
3var t=e.i(150361),r=e.i(924540),n=e.i(650511),o=e.i(271645);function s(e,t,n){try{return e(t)}catch(e){return(0,r.l)("[nuqs] Error while parsing value `%s`: %O"+(n?" (for key `%s`)":""),t,e,n),null}}function i(e){function t(t){if(void 0===t)return null;let r="";if(Array.isArray(t)){if(void 0===t[0])return null;r=t[0]}return"string"==typeof t&&(r=t),s(e.parse,r)}return{type:"single",eq:(e,t)=>e===t,...e,parseServerSide:t,withDefault(e){return{...this,defaultValue:e,parseServerSide:r=>t(r)??e}},withOptions(e){return{...this,...e}}}}let l=i({parse:e=>e,serialize:String}),u=i({parse:e=>{let t=parseInt(e);return t==t?t:null},serialize:e=>""+Math.round(e)});i({parse:e=>{let t=parseInt(e);return t==t?t-1:null},serialize:e=>""+Math.round(e+1)}),i({parse:e=>{let t=parseInt(e,16);return t==t?t:null},serialize:e=>{let t=Math.round(e).toString(16);return(1&t.length?"0":"")+t}}),i({parse:e=>{let t=parseFloat(e);return t==t?t:null},serialize:String});let a=i({parse:e=>"true"===e.toLowerCase(),serialize:String});function c(e,t){return e.valueOf()===t.valueOf()}function p(e){return i({parse:t=>e.includes(t)?t:null,serialize:String})}i({parse:e=>{let t=parseInt(e);return t==t?new Date(t):null},serialize:e=>""+e.valueOf(),eq:c}),i({parse:e=>{let t=new Date(e);return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString(),eq:c}),i({parse:e=>{let t=new Date(e.slice(0,10));return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString().slice(0,10),eq:c});let d=(0,t.r)(),h={};function f(e,n={}){let s=(0,o.useId)(),i=(0,r.i)(),l=(0,r.a)(),{history:u="replace",scroll:a=i?.scroll??!1,shallow:c=i?.shallow??!0,throttleMs:p=t.s.timeMs,limitUrlUpdates:v=i?.limitUrlUpdates,clearOnDefault:y=i?.clearOnDefault??!0,startTransition:b,urlKeys:w=h}=n,x=Object.keys(e).join(","),q=(0,o.useMemo)(()=>Object.fromEntries(Object.keys(e).map(e=>[e,w[e]??e])),[x,JSON.stringify(w)]),S=(0,r.r)(Object.values(q)),O=S.searchParams,C=(0,o.useRef)({}),T=(0,o.useMemo)(()=>Object.fromEntries(Object.keys(e).map(t=>[t,e[t].defaultValue??null])),[Object.values(e).map(({defaultValue:e})=>e).join(",")]),E=t.t.useQueuedQueries(Object.values(q)),[j,R]=(0,o.useState)(()=>m(e,w,O??new URLSearchParams,E).state),P=(0,o.useRef)(j);if((0,r.c)("[nuq+ %s `%s`] render - state: %O, iSP: %s",s,x,j,O),Object.keys(C.current).join("&")!==Object.values(q).join("&")){let{state:t,hasChanged:n}=m(e,w,O,E,C.current,P.current);n&&((0,r.c)("[nuq+ %s `%s`] State changed: %O",s,x,{state:t,initialSearchParams:O,queuedQueries:E,queryRef:C.current,stateRef:P.current}),P.current=t,R(t)),C.current=Object.fromEntries(Object.entries(q).map(([t,r])=>[r,e[t]?.type==="multi"?O?.getAll(r):O?.get(r)??null]))}(0,o.useEffect)(()=>{let{state:t,hasChanged:n}=m(e,w,O,E,C.current,P.current);n&&((0,r.c)("[nuq+ %s `%s`] State changed: %O",s,x,{state:t,initialSearchParams:O,queuedQueries:E,queryRef:C.current,stateRef:P.current}),P.current=t,R(t))},[Object.values(q).map(e=>`${e}=${O?.getAll(e)}`).join("&"),JSON.stringify(E)]),(0,o.useEffect)(()=>{let t=Object.keys(e).reduce((t,n)=>(t[n]=({state:t,query:o})=>{R(i=>{let{defaultValue:l}=e[n],u=q[n],a=t??l??null;return Object.is(i[n]??l??null,a)?((0,r.c)("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). no change, skipping, resolved: %O",s,x,u,t,l,P.current),i):(P.current={...P.current,[n]:a},C.current[u]=o,(0,r.c)("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). updateInternalState, resolved: %O",s,x,u,t,l,P.current),P.current)})},t),{});for(let n of Object.keys(e)){let e=q[n];(0,r.c)("[nuq+ %s `%s`] Subscribing to sync for `%s`",s,e,x),d.on(e,t[n])}return()=>{for(let n of Object.keys(e)){let e=q[n];(0,r.c)("[nuq+ %s `%s`] Unsubscribing to sync for `%s`",s,e,x),d.off(e,t[n])}}},[x,q]);let k=(0,o.useCallback)((n,o={})=>{let i,h=Object.fromEntries(Object.keys(e).map(e=>[e,null])),f="function"==typeof n?n(g(P.current,T))??h:n??h;(0,r.c)("[nuq+ %s `%s`] setState: %O",s,x,f);let m=0,w=!1,O=[];for(let[n,s]of Object.entries(f)){let h=e[n],f=q[n];if(!h||void 0===s)continue;(o.clearOnDefault??h.clearOnDefault??y)&&null!==s&&void 0!==h.defaultValue&&(h.eq??((e,t)=>e===t))(s,h.defaultValue)&&(s=null);let g=null===s?null:(h.serialize??String)(s);d.emit(f,{state:s,query:g});let x={key:f,query:g,options:{history:o.history??h.history??u,shallow:o.shallow??h.shallow??c,scroll:o.scroll??h.scroll??a,startTransition:o.startTransition??h.startTransition??b}};if(o?.limitUrlUpdates?.method==="debounce"||v?.method==="debounce"||h.limitUrlUpdates?.method==="debounce"){!0===x.options.shallow&&console.warn((0,r.s)(422));let e=o?.limitUrlUpdates?.timeMs??v?.timeMs??h.limitUrlUpdates?.timeMs??t.s.timeMs,n=t.t.push(x,e,S,l);m<e&&(i=n,m=e)}else{let e=o?.limitUrlUpdates?.timeMs??h?.limitUrlUpdates?.timeMs??v?.timeMs??o.throttleMs??h.throttleMs??p;O.push(t.t.abort(f)),t.n.push(x,e),w=!0}}let C=O.reduce((e,t)=>
3t(e),w?t.n.flush(S,l):t.n.getPendingPromise(S));return i??C},[x,u,c,a,p,v?.method,v?.timeMs,b,q,S.updateUrl,S.getSearchParamsSnapshot,S.rateLimitFactor,l,T]);return[(0,o.useMemo)(()=>g(j,T),[j,T]),k]}function m(e,r,o,i,l,u){let a=!1,c=Object.entries(e).reduce((e,[c,p])=>{let d=r?.[c]??c,h=i[d],f="multi"===p.type?[]:null,m=void 0===h?("multi"===p.type?o?.getAll(d):o?.get(d))??f:h;return l&&u&&(0,n.t)(l[d]??f,m)?e[c]=u[c]??null:(a=!0,e[c]=((0,t.i)(m)?null:s(p.parse,m,d))??null,l&&(l[d]=m)),e},{});if(!a){let t=Object.keys(e),r=Object.keys(u??{});a=t.length!==r.length||t.some(e=>!r.includes(e))}return{state:c,hasChanged:a}}function g(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,e[r]??t[r]??null]))}e.s(["parseAsArrayOf",0,function(e,t=","){let r=e.eq??((e,t)=>e===t),n=encodeURIComponent(t);return i({parse:r=>""===r?[]:r.split(t).map((r,o)=>s(e.parse,r.replaceAll(n,t),`[${o}]`)).filter(e=>null!=e),serialize:r=>r.map(r=>(e.serialize?e.serialize(r):String(r)).replaceAll(t,n)).join(t),eq:(e,t)=>e===t||e.length===t.length&&e.every((e,n)=>r(e,t[n]))})},"parseAsBoolean",0,a,"parseAsInteger",0,u,"parseAsString",0,l,"parseAsStringEnum",0,function(e){return p(e)},"parseAsStringLiteral",0,p,"useQueryState",0,function(e,t={}){let{parse:r,type:n,serialize:s,eq:i,defaultValue:l,...u}=t,[{[e]:a},c]=f({[e]:{parse:r??(e=>e),type:n,serialize:s,eq:i,defaultValue:l}},u);return[a,(0,o.useCallback)((t,r={})=>c(r=>({[e]:"function"==typeof t?t(r[e]):t}),r),[e,c])]},"useQueryStates",0,f])},513990,e=>{"use strict";var t=e.i(843476),r=e.i(500932),n=e.i(271645),o=e.i(981140),s=e.i(820783),i=e.i(30030),l=e.i(726330),u=e.i(610772),a=e.i(853660),c=e.i(774606),p=e.i(296626),d=e.i(248425),h=e.i(991918),f=e.i(369340),m=e.i(959411),[g,v]=(0,i.createContextScope)("Tooltip",[a.createPopperScope]),y=(0,a.createPopperScope)(),b="TooltipProvider",w="tooltip.open",[x,q]=g(b),S=e=>{let{__scopeTooltip:r,delayDuration:o=700,skipDelayDuration:s=300,disableHoverableContent:i=!1,children:l}=e,u=n.useRef(!0),a=n.useRef(!1),c=n.useRef(0);return n.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(x,{scope:r,isOpenDelayedRef:u,delayDuration:o,onOpen:n.useCallback(()=>{s<=0||(window.clearTimeout(c.current),u.current=!1)},[s]),onClose:n.useCallback(()=>{s<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>u.current=!0,s))},[s]),isPointerInTransitRef:a,onPointerInTransitChange:n.useCallback(e=>{a.current=e},[]),disableHoverableContent:i,children:l})};S.displayName=b;var O="Tooltip",[C,T]=g(O),E=e=>{let{__scopeTooltip:r,children:o,open:s,defaultOpen:i,onOpenChange:l,disableHoverableContent:c,delayDuration:p}=e,d=q(O,e.__scopeTooltip),h=y(r),[m,g]=n.useState(null),v=(0,u.useId)(),b=n.useRef(0),x=c??d.disableHoverableContent,S=p??d.delayDuration,T=n.useRef(!1),[E,j]=(0,f.useControllableState)({prop:s,defaultProp:i??!1,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(w))):d.onClose(),l?.(e)},caller:O}),R=n.useMemo(()=>E?T.current?"delayed-open":"instant-open":"closed",[E]),P=n.useCallback(()=>{window.clearTimeout(b.current),b.current=0,T.current=!1,j(!0)},[j]),k=n.useCallback(()=>{window.clearTimeout(b.current),b.current=0,j(!1)},[j]),A=n.useCallback(()=>{window.clearTimeout(b.current),b.current=window.setTimeout(()=>{T.current=!0,j(!0),b.current=0},S)},[S,j]);return n.useEffect(()=>()=>{b.current&&(window.clearTimeout(b.current),b.current=0)},[]),(0,t.jsx)(a.Root,{...h,children:(0,t.jsx)(C,{scope:r,contentId:v,open:E,stateAttribute:R,trigger:m,onTriggerChange:g,onTriggerEnter:n.useCallback(()=>{d.isOpenDelayedRef.current?A():P()},[d.isOpenDelayedRef,A,P]),onTriggerLeave:n.useCallback(()=>{x?k():(window.clearTimeout(b.current),b.current=0)},[k,x]),onOpen:P,onClose:k,disableHoverableContent:x,children:o})})};E.displayName=O;var j="TooltipTrigger",R=n.forwardRef((e,r)=>{let{__scopeTooltip:i,...l}=e,u=T(j,i),c=q(j,i),p=y(i),h=n.useRef(null),f=(0,s.useComposedRefs)(r,h,u.onTriggerChange),m=n.useRef(!1),g=n.useRef(!1),v=n.useCallback(()=>m.current=!1,[]);return n.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),(0,t.jsx)(a.Anchor,{asChild:!0,...p,children:(0,t.jsx)(d.Primitive.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...l,ref:f,onPointerMove:(0,o.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||c.isPointerInTransitRef.current||(u.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,o.composeEventHandlers)(e.onPointerLeave,()=>{u.onTriggerLeave(),g.current=!1}),onPointerDown:(0,o.composeEventHandlers)(e.onPointerDown,()=>{u.open&&u.onClose(),m.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:(0,o.composeEventHandlers)(e.onFocus,()=>{m.current||u.onOpen()}),onBlur:(0,o.composeEventHandlers)(e.onBlur,u.onClose),onClick:(0,o.composeEventHandlers)(e.onClick,u.onClose)})})});R.displayName=j;var P="TooltipPortal",[k,A]=g(P,{forceMount:void 0}),M=e=>{let{__scopeTooltip:r,forceMount:n,children:o,container:s}=e,i=T(P,r);return(0,t.jsx)(k,{scope:r,forceMount:n,children:(0,t.jsx)(p.Presence,{present:n||i.open,children:(0,t.jsx)(c.Portal,{asChild:!0,container:s,children:o})})})};M.displayName=P;var I="TooltipContent",U=n.forwardRef((e,r)=>{let n=A(I,e.__scopeTooltip),{forceMount:o=n.forceMount,side:s="top",...i}=e,l=T(I,e.__scopeTooltip);return(0,t.jsx)(p.Presence,{present:o||l.open,children:l.disableHoverableContent?(0,t.jsx)(D,{side:s,...i,ref:r}):(0,t.jsx)(L,{side:s,...i,ref:r})})}),L=n.forwardRef((e,r)=>{let o=T(I,e.__scopeTooltip),i=q(I,e.__scopeTooltip),l=n.useRef(null),u=(0,s.useComposedRefs)(r,l),[a,c]=n.useState(null),{trigger:p,onClose:d}=o,h=l.current,{onPointerInTransitChange:f}=i,m=n.useCallback(()=>{c(null),f(!1)},[f]),g=n.useCallback((e,t)=>{let r,n=e.currentTarget,o={x:e.clientX,y:e.clientY},s=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(r,n,o,s)){case s:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(o,n.getBoundingClientRect());c(((r=[...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(o,s),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>
3e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),f(!0)},[f]);return n.useEffect(()=>()=>m(),[m]),n.useEffect(()=>{if(p&&h){let e=e=>g(e,h),t=e=>g(e,p);return p.addEventListener("pointerleave",e),h.addEventListener("pointerleave",t),()=>{p.removeEventListener("pointerleave",e),h.removeEventListener("pointerleave",t)}}},[p,h,g,m]),n.useEffect(()=>{if(a){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=p?.contains(t)||h?.contains(t),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,s=t.length-1;e<t.length;s=e++){let i=t[e],l=t[s],u=i.x,a=i.y,c=l.x,p=l.y;a>n!=p>n&&r<(c-u)*(n-a)/(p-a)+u&&(o=!o)}return o}(r,a);n?m():o&&(m(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[p,h,a,d,m]),(0,t.jsx)(D,{...e,ref:u})}),[Q,F]=g(O,{isInside:!1}),N=(0,h.createSlottable)("TooltipContent"),D=n.forwardRef((e,r)=>{let{__scopeTooltip:o,children:s,"aria-label":i,onEscapeKeyDown:u,onPointerDownOutside:c,...p}=e,d=T(I,o),h=y(o),{onClose:f}=d;return n.useEffect(()=>(document.addEventListener(w,f),()=>document.removeEventListener(w,f)),[f]),n.useEffect(()=>{if(d.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(d.trigger)&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,f]),(0,t.jsx)(l.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,t.jsxs)(a.Content,{"data-state":d.stateAttribute,...h,...p,ref:r,style:{...p.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(N,{children:s}),(0,t.jsx)(Q,{scope:o,isInside:!0,children:(0,t.jsx)(m.Root,{id:d.contentId,role:"tooltip",children:i||s})})]})})});U.displayName=I;var z="TooltipArrow",_=n.forwardRef((e,r)=>{let{__scopeTooltip:n,...o}=e,s=y(n);return F(z,n).isInside?null:(0,t.jsx)(a.Arrow,{...s,...o,ref:r})});_.displayName=z,e.s(["Arrow",0,_,"Content",0,U,"Portal",0,M,"Provider",0,S,"Root",0,E,"Tooltip",0,E,"TooltipArrow",0,_,"TooltipContent",0,U,"TooltipPortal",0,M,"TooltipProvider",0,S,"TooltipTrigger",0,R,"Trigger",0,R,"createTooltipScope",0,v],186336);var H=e.i(186336),H=H,V=e.i(989239);let B=H.Provider;B.displayName="TooltipProvider";let $=H.Root,K=H.Trigger,G=n.forwardRef((e,n)=>{let o,s,i,l,u,a,c,p=(0,r.c)(15);p[0]!==e?({className:o,sideOffset:l,container:s,...i}=e,p[0]=e,p[1]=o,p[2]=s,p[3]=i,p[4]=l):(o=p[1],s=p[2],i=p[3],l=p[4]);let d=void 0===l?4:l;return p[5]!==o?(u=(0,V.cn)("animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md",o),p[5]=o,p[6]=u):u=p[6],p[7]!==i||p[8]!==n||p[9]!==d||p[10]!==u?(a=(0,t.jsx)(H.Content,{ref:n,sideOffset:d,className:u,...i}),p[7]=i,p[8]=n,p[9]=d,p[10]=u,p[11]=a):a=p[11],p[12]!==s||p[13]!==a?(c=(0,t.jsx)(H.Portal,{container:s,children:a}),p[12]=s,p[13]=a,p[14]=c):c=p[14],c});G.displayName=H.Content.displayName,e.s(["SimpleTooltip",0,e=>{let n,o,s,i=(0,r.c)(10),{children:l,content:u,side:a,asChild:c,className:p}=e;return i[0]!==c||i[1]!==l?(n=(0,t.jsx)(K,{asChild:c,children:l}),i[0]=c,i[1]=l,i[2]=n):n=i[2],i[3]!==p||i[4]!==u||i[5]!==a?(o=(0,t.jsx)(G,{side:a,className:p,children:u}),i[3]=p,i[4]=u,i[5]=a,i[6]=o):o=i[6],i[7]!==n||i[8]!==o?(s=(0,t.jsxs)($,{children:[n,o]}),i[7]=n,i[8]=o,i[9]=s):s=i[9],s},"Tooltip",0,$,"TooltipContent",0,G,"TooltipProvider",0,B,"TooltipTrigger",0,K],513990)}]); 4 5//# debugId=b2f15c4a-b120-9d1f-0c6b-3ea52e9658c5
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.