/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@batijs/elements@0.0.61/dist/elements/full.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
function e(e){return Object.keys(e).reduce(((t,i)=>{let r=e[i];return t[i]=Object.assign({},r),s(r.value)&&!c(r.value)&&!Array.isArray(r.value)&&(t[i].value=Object.assign({},r.value)),Array.isArray(r.value)&&(t[i].value=r.value.slice(0)),t}),{})}function t(e){return e?Object.keys(e).reduce(((t,i)=>{let r=e[i];return t[i]=s(r)&&"value"in r?r:{value:r},t[i].attribute||(t[i].attribute=o(i)),t[i].parse="parse"in t[i]?t[i].parse:"string"!=typeof t[i].value,t}),{}):{}}function n(e){return Object.keys(e).reduce(((t,i)=>(t[i]=e[i].value,t)),{})}function r(t,r){let o=e(r);return Object.keys(r).forEach((e=>{let r=o[e],n=t.getAttribute(r.attribute),l=t[e];null!=n&&(r.value=r.parse?i(n):n),null!=l&&(r.value=Array.isArray(l)?l.slice(0):l),r.reflect&&a(t,r.attribute,r.value,!!r.parse),Object.defineProperty(t,e,{get:()=>r.value,set(t){let i=r.value;r.value=t,r.reflect&&a(this,r.attribute,r.value,!!r.parse);for(let r=0,o=this.__propertyChangedCallbacks.length;r<o;r++)this.__propertyChangedCallbacks[r](e,t,i)},enumerable:!0,configurable:!0})})),o}function i(e){if(e)try{return JSON.parse(e)}catch{return e}}function a(e,t,i,r){if(null==i||!1===i)return e.removeAttribute(t);let o=r?JSON.stringify(i):i;e.__updating[t]=!0,"true"===o&&(o=""),e.setAttribute(t,o),Promise.resolve().then((()=>delete e.__updating[t]))}function o(e){return e.replace(/\.?([A-Z]+)/g,((e,t)=>"-"+t.toLowerCase())).replace("_","-").replace(/^-/,"")}function s(e){return null!=e&&("object"==typeof e||"function"==typeof e)}function c(e){return"[object Function]"===Object.prototype.toString.call(e)}function l(e){return"function"==typeof e&&0===e.toString().indexOf("class")}var u;function d(e,t){let o=Object.keys(t);return class extends e{static get observedAttributes(){return o.map((e=>t[e].attribute))}constructor(){super(),this.__initialized=!1,this.__released=!1,this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props={};for(let e of o)this[e]=void 0}connectedCallback(){if(this.__initialized)return;this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props=r(this,t);let e=n(this.props),i=this.Component,o=u;try{u=this,this.__initialized=!0,l(i)?new i(e,{element:this}):i(e,{element:this})}finally{u=o}}async disconnectedCallback(){if(await Promise.resolve(),this.isConnected)return;this.__propertyChangedCallbacks.length=0;let e=null;for(;e=this.__releaseCallbacks.pop();)e(this);delete this.__initialized,this.__released=!0}attributeChangedCallback(e,r,o){if(this.__initialized&&!this.__updating[e]&&(e=this.lookupProp(e))in t){if(null==o&&!this[e])return;this[e]=t[e].parse?i(o):o}}lookupProp(e){if(t)return o.find((i=>e===i||e===t[i].attribute))}get renderRoot(){return this.shadowRoot||this.attachShadow({mode:"open"})}addReleaseCallback(e){this.__releaseCallbacks.push(e)}addPropertyChangedCallback(e){this.__propertyChangedCallbacks.push(e)}}}function f(e,i={},r={}){let{BaseElement:o=HTMLElement,extension:a,customElements:n=window.customElements}=r;return r=>{if(!e)throw Error("tag is required to register a Component");let l=n.get(e);return l?(l.prototype.Component=r,l):(l=d(o,t(i)),l.prototype.Component=r,l.prototype.registeredTag=e,n.define(e,l,a),l)}}var p={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return m(this.context.count)},getNextContextId(){return m(this.context.count++)}};function m(e){let t=String(e),i=t.length-1;return p.context.id+(i?String.fromCharCode(96+i):"")+t}function h(e){p.context=e}function g(){return{...p.context,id:p.getNextContextId(),count:0}}var _=(e,t)=>e===t,v=Symbol("solid-proxy"),y="function"==typeof Proxy,b=Symbol("solid-track"),x={equals:_},S=null,C=ke,w=1,T=2,ee={owned:null,cleanups:null,context:null,owner:null},te={},E=null,D=null,ne=null,re=null,O=null,k=null,A=null,ie=0;function ae(e,t){let i=O,r=E,o=0===e.length,a=void 0===t?r:t,n=o?ee:{owned:null,cleanups:null,context:a?a.context:null,owner:a},l=o?e:()=>e((()=>P((()=>Pe(n)))));E=n,O=null;try{return I(l,!0)}finally{O=i,E=r}}function j(e,t){let i={value:e,observers:null,observerSlots:null,comparator:(t=t?Object.assign({},x,t):x).equals||void 0};return[Se.bind(i),e=>("function"==typeof e&&(e=D&&D.running&&D.sources.has(i)?e(i.tValue):e(i.value)),Ce(i,e))]}function oe(e,t,i){let r=Ee(e,t,!0,w);ne&&D&&D.running?k.push(r):we(r)}function M(e,t,i){let r=Ee(e,t,!1,w);ne&&D&&D.running?k.push(r):we(r)}function se(e,t,i){C=je;let r=Ee(e,t,!1,w),o=xe&&F(xe);o&&(r.suspense=o),(!i||!i.render)&&(r.user=!0),A?A.push(r):we(r)}function N(e,t,i){i=i?Object.assign({},x,i):x;let r=Ee(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=i.equals||void 0,ne&&D&&D.running?(r.tState=w,k.push(r)):we(r),Se.bind(r)}function ce(e){return e&&"object"==typeof e&&"then"in e}function le(e,t,i){let r,o,a;"function"==typeof t?(r=e,o=t,a=i||{}):(r=!0,o=e,a=t||{});let n=null,l=te,s=null,c=!1,M=!1,u="initialValue"in a,g="function"==typeof r&&N(r),d=new Set,[y,b]=(a.storage||j)(a.initialValue),[L,w]=j(void 0),[x,T]=j(void 0,{equals:!1}),[z,A]=j(u?"ready":"unresolved");function h(e,t,i,r){return n===e&&(n=null,void 0!==r&&(u=!0),(e===l||t===l)&&a.onHydrated&&queueMicrotask((()=>a.onHydrated(r,{value:t}))),l=te,D&&e&&c?(D.promises.delete(e),c=!1,I((()=>{D.running=!0,m(t,i)}),!1)):m(t,i)),t}function m(e,t){I((()=>{void 0===t&&b((()=>e)),A(void 0===t?u?"ready":"unresolved":"errored"),w(t);for(let e of d.keys())e.decrement();d.clear()}),!1)}function f(){let e=xe&&F(xe),t=y(),i=L();if(void 0!==i&&!n)throw i;return O&&!O.user&&e&&oe((()=>{x(),n&&(e.resolved&&D&&c?D.promises.add(n):d.has(e)||(e.increment(),d.add(e)))})),t}function v(e=!0){if(!1!==e&&M)return;M=!1;let t=g?g():r;if(c=D&&D.running,null==t||!1===t)return void h(n,P(y));D&&n&&D.promises.delete(n);let i,a=l===te?P((()=>{try{return o(t,{value:y(),refetching:e})}catch(e){i=e}})):l;if(void 0===i)return ce(a)?(n=a,"v"in a?(1===a.s?h(n,a.v,void 0,t):h(n,void 0,Ie(a.v),t),a):(M=!0,queueMicrotask((()=>M=!1)),I((()=>{A(u?"refreshing":"pending"),T()}),!1),a.then((e=>h(a,e,void 0,t)),(e=>h(a,void 0,Ie(e),t))))):(h(n,a,void 0,t),a);h(n,void 0,Ie(i),t)}p.context&&(s=p.getNextContextId(),"initial"===a.ssrLoadFrom?l=a.initialValue:p.load&&p.has(s)&&(l=p.load(s))),Object.defineProperties(f,{state:{get:()=>z()},error:{get:()=>L()},loading:{get(){let e=z();return"pending"===e||"refreshing"===e}},latest:{get(){if(!u)return f();let e=L();if(e&&!n)throw e;return y()}}});let S=E;return g?oe((()=>(S=E,v(!1)))):v(!1),[f,{refetch:e=>he(S,(()=>v(e))),mutate:b}]}function ue(e){return I(e,!1)}function P(e){if(!re&&null===O)return e();let t=O;O=null;try{return re?re.untrack(e):e()}finally{O=t}}function de(e,t,i){let r,o=Array.isArray(e),a=i&&i.defer;return i=>{let n;if(o){n=Array(e.length);for(let t=0;t<e.length;t++)n[t]=e[t]()}else n=e();if(a)return a=!1,i;let l=P((()=>t(n,r,i)));return r=n,l}}function fe(e){se((()=>P(e)))}function pe(e){return null===E||(null===E.cleanups?E.cleanups=[e]:E.cleanups.push(e)),e}function me(){return O}function he(e,t){let i=E,r=O;E=e,O=null;try{return I(t,!0)}catch(e){Re(e)}finally{E=i,O=r}}function ge(e){if(D&&D.running)return e(),D.done;let t=O,i=E;return Promise.resolve().then((()=>{let r;return O=t,E=i,(ne||xe)&&(r=D||={sources:new Set,effects:[],promises:new Set,disposed:new Set,queue:new Set,running:!0},r.done||=new Promise((e=>r.resolve=e)),r.running=!0),I(e,!1),O=E=null,r?r.done:void 0}))}var xe,[_e,ve]=j(!1);function ye(e,t){let i=Symbol("context");return{id:i,Provider:Be(i),defaultValue:e}}function F(e){let t;return E&&E.context&&void 0!==(t=E.context[e.id])?t:e.defaultValue}function be(e){let t=N(e),i=N((()=>ze(t())));return i.toArray=()=>{let e=i();return Array.isArray(e)?e:null==e?[]:[e]},i}function Se(){let e=D&&D.running;if(this.sources&&(e?this.tState:this.state))if((e?this.tState:this.state)===w)we(this);else{let e=k;k=null,I((()=>Me(this)),!1),k=e}if(O){let e=this.observers?this.observers.length:0;O.sources?(O.sources.push(this),O.sourceSlots.push(e)):(O.sources=[this],O.sourceSlots=[e]),this.observers?(this.observers.push(O),this.observerSlots.push(O.sources.length-1)):(this.observers=[O],this.observerSlots=[O.sources.length-1])}return e&&D.sources.has(this)?this.tValue:this.value}function Ce(e,t,i){let r=D&&D.running&&D.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(D){let r=D.running;(r||!i&&D.sources.has(e))&&(D.sources.add(e),e.tValue=t),r||(e.value=t)}else e.value=t;e.observers&&e.observers.length&&I((()=>{for(let t=0;t<e.observers.length;t+=1){let i=e.observers[t],r=D&&D.running;r&&D.disposed.has(i)||((r?!i.tState:!i.state)&&(i.pure?k.push(i):A.push(i),i.observers&&Ne(i)),r?i.tState=w:i.state=w)}if(k.length>1e6)throw k=[],Error()}),!1)}return t}function we(e){if(!e.fn)return;Pe(e);let t=ie;Te(e,D&&D.running&&D.sources.has(e)?e.tValue:e.value,t),D&&!D.running&&D.sources.has(e)&&queueMicrotask((()=>{I((()=>{D&&(D.running=!0),O=E=e,Te(e,e.tValue,t),O=E=null}),!1)}))}function Te(e,t,i){let r,o=E,a=O;O=E=e;try{r=e.fn(t)}catch(t){return e.pure&&(D&&D.running?(e.tState=w,e.tOwned&&e.tOwned.forEach(Pe),e.tOwned=void 0):(e.state=w,e.owned&&e.owned.forEach(Pe),e.owned=null)),e.updatedAt=i+1,Re(t)}finally{O=a,E=o}(!e.updatedAt||e.updatedAt<=i)&&(null!=e.updatedAt&&"observers"in e?Ce(e,r,!0):D&&D.running&&e.pure?(D.sources.has(e)||(e.value=r),D.sources.add(e),e.tValue=r):e.value=r,e.updatedAt=i)}function Ee(e,t,i,r=w,o){let a={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:E,context:E?E.context:null,pure:i};if(D&&D.running&&(a.state=0,a.tState=r),null===E||E!==ee&&(D&&D.running&&E.pure?E.tOwned?E.tOwned.push(a):E.tOwned=[a]:E.owned?E.owned.push(a):E.owned=[a]),re&&a.fn){let e=a.fn,[t,i]=j(void 0,{equals:!1}),r=re.factory(e,i);pe((()=>r.dispose()));let o,n=()=>ge(i).then((()=>{o&&=void o.dispose()}));a.fn=i=>(t(),D&&D.running?(o||=re.factory(e,n),o.track(i)):r.track(i))}return a}function De(e){let t=D&&D.running;if(0===(t?e.tState:e.state))return;if((t?e.tState:e.state)===T)return Me(e);if(e.suspense&&P(e.suspense.inFallback))return e.suspense.effects.push(e);let i=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<ie);){if(t&&D.disposed.has(e))return;(t?e.tState:e.state)&&i.push(e)}for(let r=i.length-1;r>=0;r--){if(e=i[r],t){let t=e,o=i[r+1];for(;(t=t.owner)&&t!==o;)if(D.disposed.has(t))return}if((t?e.tState:e.state)===w)we(e);else if((t?e.tState:e.state)===T){let t=k;k=null,I((()=>Me(e,i[0])),!1),k=t}}}function I(e,t){if(k)return e();let i=!1;t||(k=[]),A?i=!0:A=[],ie++;try{let t=e();return Oe(i),t}catch(e){i||(A=null),k=null,Re(e)}}function Oe(e){if(k&&=(ne&&D&&D.running?Ae(k):ke(k),null),e)return;let t;if(D)if(D.promises.size||D.queue.size){if(D.running)return D.running=!1,D.effects.push.apply(D.effects,A),A=null,void ve(!0)}else{let e=D.sources,i=D.disposed;A.push.apply(A,D.effects),t=D.resolve;for(let e of A)"tState"in e&&(e.state=e.tState),delete e.tState;D=null,I((()=>{for(let e of i)Pe(e);for(let t of e){if(t.value=t.tValue,t.owned)for(let e=0,i=t.owned.length;e<i;e++)Pe(t.owned[e]);t.tOwned&&(t.owned=t.tOwned),delete t.tValue,delete t.tOwned,t.tState=0}ve(!1)}),!1)}let i=A;A=null,i.length&&I((()=>C(i)),!1),t&&t()}function ke(e){for(let t=0;t<e.length;t++)De(e[t])}function Ae(e){for(let t=0;t<e.length;t++){let i=e[t],r=D.queue;r.has(i)||(r.add(i),ne((()=>{r.delete(i),I((()=>{D.running=!0,De(i)}),!1),D&&(D.running=!1)})))}}function je(e){let t,i=0;for(t=0;t<e.length;t++){let r=e[t];r.user?e[i++]=r:De(r)}if(p.context){if(p.count)return p.effects||=[],void p.effects.push(...e.slice(0,i));h()}for(p.effects&&(p.done||!p.count)&&(e=[...p.effects,...e],i+=p.effects.length,delete p.effects),t=0;t<i;t++)De(e[t])}function Me(e,t){let i=D&&D.running;i?e.tState=0:e.state=0;for(let r=0;r<e.sources.length;r+=1){let o=e.sources[r];if(o.sources){let e=i?o.tState:o.state;e===w?o!==t&&(!o.updatedAt||o.updatedAt<ie)&&De(o):e===T&&Me(o,t)}}}function Ne(e){let t=D&&D.running;for(let i=0;i<e.observers.length;i+=1){let r=e.observers[i];(t?!r.tState:!r.state)&&(t?r.tState=T:r.state=T,r.pure?k.push(r):A.push(r),r.observers&&Ne(r))}}function Pe(e){let t;if(e.sources)for(;e.sources.length;){let t=e.sources.pop(),i=e.sourceSlots.pop(),r=t.observers;if(r&&r.length){let e=r.pop(),o=t.observerSlots.pop();i<r.length&&(e.sourceSlots[o]=i,r[i]=e,t.observerSlots[i]=o)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)Pe(e.tOwned[t]);delete e.tOwned}if(D&&D.running&&e.pure)Fe(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)Pe(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}D&&D.running?e.tState=0:e.state=0}function Fe(e,t){if(t||(e.tState=0,D.disposed.add(e)),e.owned)for(let t=0;t<e.owned.length;t++)Fe(e.owned[t])}function Ie(e){return e instanceof Error?e:Error("string"==typeof e?e:"Unknown error",{cause:e})}function Le(e,t,i){try{for(let i of t)i(e)}catch(e){Re(e,i&&i.owner||null)}}function Re(e,t=E){let i=S&&t&&t.context&&t.context[S],r=Ie(e);if(!i)throw r;A?A.push({fn(){Le(r,i,t)},state:w}):Le(r,i,t)}function ze(e){if("function"==typeof e&&!e.length)return ze(e());if(Array.isArray(e)){let t=[];for(let i=0;i<e.length;i++){let r=ze(e[i]);Array.isArray(r)?t.push.apply(t,r):t.push(r)}return t}return e}function Be(e,t){return function(t){let i;return M((()=>i=P((()=>(E.context={...E.context,[e]:t.value},be((()=>t.children)))))),void 0),i}}var Ve=Symbol("fallback");function He(e){for(let t=0;t<e.length;t++)e[t]()}function Ue(e,t,i={}){let r=[],o=[],a=[],n=0,l=t.length>1?[]:null;return pe((()=>He(a))),()=>{let s,c,M=e()||[],u=M.length;return M[b],P((()=>{let e,t,d,N,I,j,D,y,b;if(0===u)0!==n&&(He(a),a=[],r=[],o=[],n=0,l&&=[]),i.fallback&&(r=[Ve],o[0]=ae((e=>(a[0]=e,i.fallback()))),n=1);else if(0===n){for(o=Array(u),c=0;c<u;c++)r[c]=M[c],o[c]=ae(g);n=u}else{for(d=Array(u),N=Array(u),l&&(I=Array(u)),j=0,D=Math.min(n,u);j<D&&r[j]===M[j];j++);for(D=n-1,y=u-1;D>=j&&y>=j&&r[D]===M[y];D--,y--)d[y]=o[D],N[y]=a[D],l&&(I[y]=l[D]);for(e=new Map,t=Array(y+1),c=y;c>=j;c--)b=M[c],s=e.get(b),t[c]=void 0===s?-1:s,e.set(b,c);for(s=j;s<=D;s++)b=r[s],c=e.get(b),void 0!==c&&-1!==c?(d[c]=o[s],N[c]=a[s],l&&(I[c]=l[s]),c=t[c],e.set(b,c)):a[s]();for(c=j;c<u;c++)c in d?(o[c]=d[c],a[c]=N[c],l&&(l[c]=I[c],l[c](c))):o[c]=ae(g);o=o.slice(0,n=u),r=M.slice(0)}return o}));function g(e){if(a[c]=e,l){let[e,i]=j(c);return l[c]=i,t(M[c],e)}return t(M[c])}}}var We=!1;function L(e,t){if(We&&p.context){let i=p.context;h(g());let r=P((()=>e(t||{})));return h(i),r}return P((()=>e(t||{})))}function Ge(){return!0}var Ke={get:(e,t,i)=>t===v?i:e.get(t),has:(e,t)=>t===v||e.has(t),set:Ge,deleteProperty:Ge,getOwnPropertyDescriptor:(e,t)=>({configurable:!0,enumerable:!0,get:()=>e.get(t),set:Ge,deleteProperty:Ge}),ownKeys:e=>e.keys()};function qe(e){return(e="function"==typeof e?e():e)?e:{}}function Je(){for(let e=0,t=this.length;e<t;++e){let t=this[e]();if(void 0!==t)return t}}function Ye(...e){let t=!1;for(let i=0;i<e.length;i++){let r=e[i];t||=!!r&&v in r,e[i]="function"==typeof r?(t=!0,N(r)):r}if(y&&t)return new Proxy({get(t){for(let i=e.length-1;i>=0;i--){let r=qe(e[i])[t];if(void 0!==r)return r}},has(t){for(let i=e.length-1;i>=0;i--)if(t in qe(e[i]))return!0;return!1},keys(){let t=[];for(let i=0;i<e.length;i++)t.push(...Object.keys(qe(e[i])));return[...new Set(t)]}},Ke);let i={},r=Object.create(null);for(let t=e.length-1;t>=0;t--){let o=e[t];if(!o)continue;let a=Object.getOwnPropertyNames(o);for(let e=a.length-1;e>=0;e--){let t=a[e];if("__proto__"===t||"constructor"===t)continue;let n=Object.getOwnPropertyDescriptor(o,t);if(r[t]){let e=i[t];e&&(n.get?e.push(n.get.bind(o)):void 0!==n.value&&e.push((()=>n.value)))}else r[t]=n.get?{enumerable:!0,configurable:!0,get:Je.bind(i[t]=[n.get.bind(o)])}:void 0===n.value?void 0:n}}let o={},a=Object.keys(r);for(let e=a.length-1;e>=0;e--){let t=a[e],i=r[t];i&&i.get?Object.defineProperty(o,t,i):o[t]=i?i.value:void 0}return o}function Xe(e,...t){let i=t.length;if(y&&v in e){let r=i>1?t.flat():t[0],o=t.map((t=>new Proxy({get:i=>t.includes(i)?e[i]:void 0,has:i=>t.includes(i)&&i in e,keys:()=>t.filter((t=>t in e))},Ke)));return o.push(new Proxy({get:t=>r.includes(t)?void 0:e[t],has:t=>!r.includes(t)&&t in e,keys:()=>Object.keys(e).filter((e=>!r.includes(e)))},Ke)),o}let r=[];for(let e=0;e<=i;e++)r[e]={};for(let o of Object.getOwnPropertyNames(e)){let a=i;for(let e=0;e<t.length;e++)if(t[e].includes(o)){a=e;break}let n=Object.getOwnPropertyDescriptor(e,o);!n.get&&!n.set&&n.enumerable&&n.writable&&n.configurable?r[a][o]=n.value:Object.defineProperty(r[a],o,n)}return r}var Ze=e=>`Stale read from <${e}>.`;function Qe(e){let t="fallback"in e&&{fallback:()=>e.fallback};return N(Ue((()=>e.each),e.children,t||void 0))}function R(e){let t=e.keyed,i=N((()=>e.when),void 0,void 0),r=t?i:N(i,void 0,{equals:(e,t)=>!e==!t});return N((()=>{let o=r();if(o){let a=e.children;return"function"==typeof a&&a.length>0?P((()=>a(t?o:()=>{if(!P(r))throw Ze("Show");return i()}))):a}return e.fallback}),void 0,void 0)}function $e(e){let t=be((()=>e.children)),i=N((()=>{let e=t(),i=Array.isArray(e)?e:[e],r=()=>{};for(let e=0;e<i.length;e++){let t=e,o=i[e],a=r,n=N((()=>a()?void 0:o.when),void 0,void 0),l=o.keyed?n:N(n,void 0,{equals:(e,t)=>!e==!t});r=()=>a()||(l()?[t,n,o]:void 0)}return r}));return N((()=>{let t=i()();if(!t)return e.fallback;let[r,o,a]=t,n=a.children;return"function"==typeof n&&n.length>0?P((()=>n(a.keyed?o():()=>{if(P(i)()?.[0]!==r)throw Ze("Match");return o()}))):n}),void 0,void 0)}function et(e){return e}var tt=new Set(["className","value","readOnly","noValidate","formNoValidate","isMap","noModule","playsInline","adAuctionHeaders","allowFullscreen","browsingTopics","defaultChecked","defaultMuted","defaultSelected","disablePictureInPicture","disableRemotePlayback","preservesPitch","shadowRootClonable","shadowRootCustomElementRegistry","shadowRootDelegatesFocus","shadowRootSerializable","sharedStorageWritable",..."allowfullscreen.async.alpha.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.hidden.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.adauctionheaders.browsingtopics.credentialless.defaultchecked.defaultmuted.defaultselected.defer.disablepictureinpicture.disableremoteplayback.preservespitch.shadowrootclonable.shadowrootcustomelementregistry.shadowrootdelegatesfocus.shadowrootserializable.sharedstoragewritable".split(".")]),nt=new Set(["innerHTML","textContent","innerText","children"]),rt=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),it=Object.assign(Object.create(null),{class:"className",novalidate:{$:"noValidate",FORM:1},formnovalidate:{$:"formNoValidate",BUTTON:1,INPUT:1},ismap:{$:"isMap",IMG:1},nomodule:{$:"noModule",SCRIPT:1},playsinline:{$:"playsInline",VIDEO:1},readonly:{$:"readOnly",INPUT:1,TEXTAREA:1},adauctionheaders:{$:"adAuctionHeaders",IFRAME:1},allowfullscreen:{$:"allowFullscreen",IFRAME:1},browsingtopics:{$:"browsingTopics",IMG:1},defaultchecked:{$:"defaultChecked",INPUT:1},defaultmuted:{$:"defaultMuted",AUDIO:1,VIDEO:1},defaultselected:{$:"defaultSelected",OPTION:1},disablepictureinpicture:{$:"disablePictureInPicture",VIDEO:1},disableremoteplayback:{$:"disableRemotePlayback",AUDIO:1,VIDEO:1},preservespitch:{$:"preservesPitch",AUDIO:1,VIDEO:1},shadowrootclonable:{$:"shadowRootClonable",TEMPLATE:1},shadowrootdelegatesfocus:{$:"shadowRootDelegatesFocus",TEMPLATE:1},shadowrootserializable:{$:"shadowRootSerializable",TEMPLATE:1},sharedstoragewritable:{$:"sharedStorageWritable",IFRAME:1,IMG:1}});function at(e,t){let i=it[e];return"object"==typeof i?i[t]?i.$:void 0:i}var ot=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),st=new Set("altGlyph.altGlyphDef.altGlyphItem.animate.animateColor.animateMotion.animateTransform.circle.clipPath.color-profile.cursor.defs.desc.ellipse.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.filter.font.font-face.font-face-format.font-face-name.font-face-src.font-face-uri.foreignObject.g.glyph.glyphRef.hkern.image.line.linearGradient.marker.mask.metadata.missing-glyph.mpath.path.pattern.polygon.polyline.radialGradient.rect.set.stop.svg.switch.symbol.text.textPath.tref.tspan.use.view.vkern".split(".")),ct={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},lt=e=>N((()=>e()));function ut(e,t,i){let r=i.length,o=t.length,a=r,n=0,l=0,s=t[o-1].nextSibling,c=null;for(;n<o||l<a;)if(t[n]!==i[l]){for(;t[o-1]===i[a-1];)o--,a--;if(o===n){let t=a<r?l?i[l-1].nextSibling:i[a-l]:s;for(;l<a;)e.insertBefore(i[l++],t)}else if(a===l)for(;n<o;)(!c||!c.has(t[n]))&&t[n].remove(),n++;else if(t[n]===i[a-1]&&i[l]===t[o-1]){let r=t[--o].nextSibling;e.insertBefore(i[l++],t[n++].nextSibling),e.insertBefore(i[--a],r),t[o]=i[a]}else{if(!c){c=new Map;let e=l;for(;e<a;)c.set(i[e],e++)}let r=c.get(t[n]);if(null!=r)if(l<r&&r<a){let s,M=n,u=1;for(;++M<o&&M<a&&null!=(s=c.get(t[M]))&&s===r+u;)u++;if(u>r-l){let o=t[n];for(;l<r;)e.insertBefore(i[l++],o)}else e.replaceChild(i[l++],t[n++])}else n++;else t[n++].remove()}}else n++,l++}var dt="_$DX_DELEGATE";function z(e,t,i,r){let o,a=()=>{let t=r?document.createElementNS("http://www.w3.org/1998/Math/MathML","template"):document.createElement("template");return t.innerHTML=e,i?t.content.firstChild.firstChild:r?t.firstChild:t.content.firstChild},n=t?()=>P((()=>document.importNode(o||=a(),!0))):()=>(o||=a()).cloneNode(!0);return n.cloneNode=n,n}function ft(e,t=window.document){let i=t[dt]||(t[dt]=new Set);for(let r=0,o=e.length;r<o;r++){let o=e[r];i.has(o)||(i.add(o),t.addEventListener(o,Dt))}}function B(e,t,i){Ct(e)||(null==i?e.removeAttribute(t):e.setAttribute(t,i))}function pt(e,t,i,r){Ct(e)||(null==r?e.removeAttributeNS(t,i):e.setAttributeNS(t,i,r))}function mt(e,t,i){Ct(e)||(i?e.setAttribute(t,""):e.removeAttribute(t))}function V(e,t){Ct(e)||(null==t?e.removeAttribute("class"):e.className=t)}function ht(e,t,i,r){if(r)Array.isArray(i)?(e[`$$${t}`]=i[0],e[`$$${t}Data`]=i[1]):e[`$$${t}`]=i;else if(Array.isArray(i)){let r=i[0];e.addEventListener(t,i[0]=t=>r.call(e,i[1],t))}else e.addEventListener(t,i,"function"!=typeof i&&i)}function gt(e,t,i={}){let r,o,a=Object.keys(t||{}),n=Object.keys(i);for(r=0,o=n.length;r<o;r++){let o=n[r];!o||"undefined"===o||t[o]||(Tt(e,o,!1),delete i[o])}for(r=0,o=a.length;r<o;r++){let o=a[r],n=!!t[o];!o||"undefined"===o||i[o]===n||!n||(Tt(e,o,!0),i[o]=n)}return i}function _t(e,t,i){if(!t)return i?B(e,"style"):t;let r,o,a=e.style;if("string"==typeof t)return a.cssText=t;for(o in"string"==typeof i&&(a.cssText=i=void 0),i||={},t||={},i)t[o]??a.removeProperty(o),delete i[o];for(o in t)r=t[o],r!==i[o]&&(a.setProperty(o,r),i[o]=r);return i}function vt(e,t,i){null==i?e.style.removeProperty(t):e.style.setProperty(t,i)}function yt(e,t={},i,r){let o={};return r||M((()=>o.children=Ot(e,t.children,o.children))),M((()=>"function"==typeof t.ref&&bt(t.ref,e))),M((()=>xt(e,t,i,!0,o,!0))),o}function bt(e,t,i){return P((()=>e(t,i)))}function H(e,t,i,r){if(void 0!==i&&!r&&(r=[]),"function"!=typeof t)return Ot(e,t,r,i);M((r=>Ot(e,t(),r,i)),r)}function xt(e,t,i,r,o={},a=!1){t||={};for(let r in o)if(!(r in t)){if("children"===r)continue;o[r]=Et(e,r,null,o[r],i,a,t)}for(let n in t){if("children"===n){r||Ot(e,t.children);continue}let l=t[n];o[n]=Et(e,n,l,o[n],i,a,t)}}function St(e){let t,i;return Ct()&&(t=p.registry.get(i=Mt()))?(p.completed&&p.completed.add(t),p.registry.delete(i),t):e()}function Ct(e){return!!p.context&&!p.done&&(!e||e.isConnected)}function wt(e){return e.toLowerCase().replace(/-([a-z])/g,((e,t)=>t.toUpperCase()))}function Tt(e,t,i){let r=t.trim().split(/\s+/);for(let t=0,o=r.length;t<o;t++)e.classList.toggle(r[t],i)}function Et(e,t,i,r,o,a,n){let l,s,c,M,u;if("style"===t)return _t(e,i,r);if("classList"===t)return gt(e,i,r);if(i===r)return r;if("ref"===t)a||i(e);else if("on:"===t.slice(0,3)){let o=t.slice(3);r&&e.removeEventListener(o,r,"function"!=typeof r&&r),i&&e.addEventListener(o,i,"function"!=typeof i&&i)}else if("oncapture:"===t.slice(0,10)){let o=t.slice(10);r&&e.removeEventListener(o,r,!0),i&&e.addEventListener(o,i,!0)}else if("on"===t.slice(0,2)){let o=t.slice(2).toLowerCase(),a=ot.has(o);if(!a&&r){let t=Array.isArray(r)?r[0]:r;e.removeEventListener(o,t)}(a||i)&&(ht(e,o,i,a),a&&ft([o]))}else if("attr:"===t.slice(0,5))B(e,t.slice(5),i);else if("bool:"===t.slice(0,5))mt(e,t.slice(5),i);else if((u="prop:"===t.slice(0,5))||(c=nt.has(t))||!o&&((M=at(t,e.tagName))||(s=tt.has(t)))||(l=e.nodeName.includes("-")||"is"in n)){if(u)t=t.slice(5),s=!0;else if(Ct(e))return i;"class"===t||"className"===t?V(e,i):!l||s||c?e[M||t]=i:e[wt(t)]=i}else{let r=o&&t.indexOf(":")>-1&&ct[t.split(":")[0]];r?pt(e,r,t,i):B(e,rt[t]||t,i)}return i}function Dt(e){if(p.registry&&p.events&&p.events.find((([t,i])=>i===e)))return;let t=e.target,i=`$$${e.type}`,r=e.target,o=e.currentTarget,a=t=>Object.defineProperty(e,"target",{configurable:!0,value:t}),n=()=>{let r=t[i];if(r&&!t.disabled){let o=t[`${i}Data`];if(void 0===o?r.call(t,e):r.call(t,o,e),e.cancelBubble)return}return t.host&&"string"!=typeof t.host&&!t.host._$host&&t.contains(e.target)&&a(t.host),!0},l=()=>{for(;n()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get:()=>t||document}),p.registry&&!p.done&&(p.done=_$HY.done=!0),e.composedPath){let i=e.composedPath();a(i[0]);for(let e=0;e<i.length-2&&(t=i[e],n());e++){if(t._$host){t=t._$host,l();break}if(t.parentNode===o)break}}else l();a(r)}function Ot(e,t,i,r,o){let a=Ct(e);if(a){!i&&(i=[...e.childNodes]);let t=[];for(let e=0;e<i.length;e++){let r=i[e];8===r.nodeType&&"!$"===r.data.slice(0,2)?r.remove():t.push(r)}i=t}for(;"function"==typeof i;)i=i();if(t===i)return i;let n=typeof t,l=void 0!==r;if(e=l&&i[0]&&i[0].parentNode||e,"string"===n||"number"===n){if(a||"number"===n&&(t=t.toString())===i)return i;if(l){let o=i[0];o&&3===o.nodeType?o.data!==t&&(o.data=t):o=document.createTextNode(t),i=jt(e,i,r,o)}else i=""!==i&&"string"==typeof i?e.firstChild.data=t:e.textContent=t}else if(null==t||"boolean"===n){if(a)return i;i=jt(e,i,r)}else{if("function"===n)return M((()=>{let o=t();for(;"function"==typeof o;)o=o();i=Ot(e,o,i,r)})),()=>i;if(Array.isArray(t)){let n=[],s=i&&Array.isArray(i);if(kt(n,t,i,o))return M((()=>i=Ot(e,n,i,r,!0))),()=>i;if(a){if(!n.length)return i;if(void 0===r)return i=[...e.childNodes];let t=n[0];if(t.parentNode!==e)return i;let o=[t];for(;(t=t.nextSibling)!==r;)o.push(t);return i=o}if(0===n.length){if(i=jt(e,i,r),l)return i}else s?0===i.length?At(e,n,r):ut(e,i,n):(i&&jt(e),At(e,n));i=n}else if(t.nodeType){if(a&&t.parentNode)return i=l?[t]:t;if(Array.isArray(i)){if(l)return i=jt(e,i,r,t);jt(e,i,null,t)}else null!=i&&""!==i&&e.firstChild?e.replaceChild(t,e.firstChild):e.appendChild(t);i=t}}return i}function kt(e,t,i,r){let o=!1;for(let a=0,n=t.length;a<n;a++){let n,l=t[a],s=i&&i[e.length];if(null!=l&&!0!==l&&!1!==l)if("object"==(n=typeof l)&&l.nodeType)e.push(l);else if(Array.isArray(l))o=kt(e,l,s)||o;else if("function"===n)if(r){for(;"function"==typeof l;)l=l();o=kt(e,Array.isArray(l)?l:[l],Array.isArray(s)?s:[s])||o}else e.push(l),o=!0;else{let t=String(l);s&&3===s.nodeType&&s.data===t?e.push(s):e.push(document.createTextNode(t))}}return o}function At(e,t,i=null){for(let r=0,o=t.length;r<o;r++)e.insertBefore(t[r],i)}function jt(e,t,i,r){if(void 0===i)return e.textContent="";let o=r||document.createTextNode("");if(t.length){let r=!1;for(let a=t.length-1;a>=0;a--){let n=t[a];if(o!==n){let t=n.parentNode===e;r||a?t&&n.remove():t?e.replaceChild(o,n):e.insertBefore(o,i)}else r=!0}}else e.insertBefore(o,i);return[o]}function Mt(){return p.getNextContextId()}var Nt="http://www.w3.org/2000/svg";function Pt(e,t=!1,i=void 0){return t?document.createElementNS(Nt,e):document.createElement(e,{is:i})}function Ft(e,t){let i=N(e);return N((()=>{let e=i();switch(typeof e){case"function":return P((()=>e(t)));case"string":let i=st.has(e),r=p.context?St():Pt(e,i,P((()=>t.is)));return yt(r,t,i),r}}))}function It(e){let[,t]=Xe(e,["component"]);return Ft((()=>e.component),t)}function Lt(e){let t=Object.keys(e),i={};for(let r=0;r<t.length;r++){let[o,a]=j(e[t[r]]);Object.defineProperty(i,t[r],{get:o,set(e){a((()=>e))}})}return i}function Rt(e){if(e.assignedSlot&&e.assignedSlot._$owner)return e.assignedSlot._$owner;let t=e.parentNode;for(;t&&!t._$owner&&(!t.assignedSlot||!t.assignedSlot._$owner);)t=t.parentNode;return t&&t.assignedSlot?t.assignedSlot._$owner:e._$owner}function zt(e){return(t,i)=>{let{element:r}=i;return ae((o=>{let a=Lt(t);r.addPropertyChangedCallback(((e,t)=>a[e]=t)),r.addReleaseCallback((()=>{r.renderRoot.textContent="",o()}));let n=e(a,i);return H(r.renderRoot,n)}),Rt(r))}}function Bt(e,t,i){return 2===arguments.length&&(i=t,t={}),f(e,t)(zt(i))}var Vt=[{category:"Frontend Framework",label:"Vike",flag:"vike",image:"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaGFtbWVyIiB3aWR0aD0iNDcuMjE3IiBoZWlnaHQ9IjQ3LjIxNyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSItNTAgLTUwIDQ3LjIxNyA0Ny4yMTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzAuMjksLTIxLjMpIj4KICA8ZyBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICA8cGF0aCBkPSJtLTguNTExLTEwLjQ0OSAxLjEyNiA0LjA2NCAyLjcwNy0yLjc2NXoiIGZpbGw9IiNhYmFiYWIiLz4KICAgPHBhdGggZD0ibS0yLjI3My0yNC40OTYtNi4yMzggMTQuMDQ3IDMuODMzIDEuMjk5IDYuMjM4LTE0LjA0OHoiIGZpbGw9IiM5NDk0OTQiLz4KICAgPHBhdGggZD0ibS0yLjI3My0yNC40OTYgMy40NjUtMS4yMDQuMzY4IDIuNTAyeiIgZmlsbD0iI2FiYWJhYiIvPgogICA8cGF0aCBkPSJtMTcuNTExIDQuNjc0LTIuNzA3IDIuNzY2LTIyLjE4OS0xMy44MjUgMi43MDctMi43NjV6IiBmaWxsPSIjOTQ5NDk0Ii8+CiAgPC9nPgogIDxnIHN0cm9rZT0iIzgyODI4MiI+CiAgIDxwYXRoIGQ9Im0tMTAuNTI2IDIzLjcwNS0xLjE3IDIuNjM0IiBzdHJva2Utd2lkdGg9IjkuNiIvPgogICA8cGF0aCBkPSJtLTEzLjg5OSAyNi41MjhjLTEuODUxLTEuMTUzLTIuMzI2LTIuMTMzLTEuMDg3LTIuMjM5IDEuMjQtLjEwNiAzLjY0My43MDkgNS40OTQgMS44NjIgMS44NSAxLjE1MyAyLjMyNiAyLjEzMiAxLjA4NiAyLjIzOC0xLjIzOS4xMDYtMy42NDItLjcwOC01LjQ5My0xLjg2MSIgZmlsbD0iIzgyODI4MiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgIDxwYXRoIGQ9Im0tMTIuNzMgMjMuODk0YzEuODUxIDEuMTUzIDQuMjU1IDEuOTY3IDUuNDk0IDEuODYxcy43NjQtMS4wODUtMS4wODctMi4yMzhjLTEuODUtMS4xNTMtNC4yNTQtMS45NjctNS40OTMtMS44NjEtMS4yNC4xMDYtLjc2NCAxLjA4NSAxLjA4NiAyLjIzOCIgZmlsbD0iIzgyODI4MiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgPC9nPgogIDxnIHN0cm9rZT0iIzdhN2E3YSI+CiAgIDxwYXRoIGQ9Im0tOS44NDQgMjIuMTY5LS4zOS44NzgiIHN0cm9rZS13aWR0aD0iOS4xIi8+CiAgIDxwYXRoIGQ9Im0tMTIuNDM3IDIzLjIzNWMtMS44NTEtMS4xNTMtMi4zMjYtMi4xMzItMS4wODctMi4yMzggMS4yNC0uMTA2IDMuNjQzLjcwOCA1LjQ5NCAxLjg2MSAxLjg1IDEuMTUzIDIuMzI2IDIuMTMzIDEuMDg2IDIuMjM5LTEuMjM5LjEwNi0zLjY0Mi0uNzA5LTUuNDkzLTEuODYyIiBmaWxsPSIjN2E3YTdhIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iLjUiLz4KICAgPHBhdGggZD0ibS0xMi4wNDcgMjIuMzU3YzEuODUgMS4xNTMgNC4yNTQgMS45NjggNS40OTMgMS44NjIgMS4yNC0uMTA2Ljc2NC0xLjA4Ni0xLjA4Ny0yLjIzOS0xLjg1LTEuMTUzLTQuMjU0LTEuOTY3LTUuNDkzLTEuODYxcy0uNzY0IDEuMDg1IDEuMDg3IDIuMjM4IiBmaWxsPSIjN2E3YTdhIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iLjUiLz4KICA8L2c+CiAgPGcgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgPHBhdGggZD0ibS0xNi43MS05Ljc0OCA4LjE5OS0uNzAxIDEuMTI2IDQuMDY0LTguMTk5LjcwMXoiIGZpbGw9IiM5NDk0OTQiLz4KICAgPHBhdGggZD0ibTIzLjc0OS05LjM3My02LjIzOCAxNC4wNDctMjIuMTg5LTEzLjgyNCA2LjIzOC0xNC4wNDh6IiBmaWxsPSIjNzU3NTc1Ii8+CiAgIDxwYXRoIGQ9Im0xMC4yNzEtMTYuMDczIDMuNzUxIDMuNTM0Yy4wNjIuMDU4LjA4My4xNTYuMDUyLjIzOGwtMS45NSA1LjEyOGMtLjA0Ni4xMjEtLjE4LjE1My0uMjY4LjA2NWwtMS4wMjQtMS4wM2MtLjA5NS0uMDk2LS4yNDItLjA0OC0uMjc1LjA5MWwtLjUxNiAyLjE1MmMtLjAzNC4xNDUtLjE5MS4xOS0uMjg0LjA4MiAwIDAtLjYwNi0uNjk2LS42MDYtLjY5Ni0uMDk0LS4xMDgtLjI1LS4wNjMtLjI4NS4wODJsLS44MDMgMy4zODRjLS4wNS4yMTItLjMxNy4xNzgtLjMzNi0uMDQzbC0uMDE0LS4xNDdzLjA1OC05Ljg5Mi4wNTgtOS44OTJjLjAwMS0uMTY1LjE2NS0uMjUzLjI3Ny0uMTQ4bDEuMDc3IDEuMDA5Yy4xMDEuMDk1LjI1LjAzNC4yNzQtLjExMWwuNTk3LTMuNTg3Yy4wMjUtLjE0Ni4xNzQtLjIwNi4yNzUtLjExMXoiIGZpbGw9IiNmYmJmMjgiIHN0cm9rZT0iI2ZiYmYyOCIgc3Ryb2tlLXdpZHRoPSIuNiIvPgogICA8cGF0aCBkPSJtLTE2LjcxLTkuNzQ4IDguMTk5LS43MDEgNi4yMzgtMTQuMDQ3LTguMTk5LjcwMXoiIGZpbGw9IiM3NTc1NzUiLz4KICA8L2c+CiAgPHBhdGggZD0ibS0xLjc1NCAzLjk1MS03Ljk5MiAxNy45OTgiIHN0cm9rZT0iIzkxNTEyYiIgc3Ryb2tlLXdpZHRoPSI4LjYiLz4KICA8ZyBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICA8cGF0aCBkPSJtLTExLjk1IDIyLjEzOGMtMS44NTEtMS4xNTMtMi4zMjYtMi4xMzItMS4wODctMi4yMzggMS4yNC0uMTA2IDMuNjQzLjcwOCA1LjQ5NCAxLjg2MXMyLjMyNiAyLjEzMiAxLjA4NyAyLjIzOGMtMS4yNC4xMDYtMy42NDMtLjcwOC01LjQ5NC0xLjg2MSIgZmlsbD0iIzkxNTEyYiIvPgogICA8cGF0aCBkPSJtLTMuOTU4IDQuMTM5YzEuODUxIDEuMTUzIDQuMjU0IDEuOTY4IDUuNDk0IDEuODYyIDEuMjM5LS4xMDYuNzY0LTEuMDg2LTEuMDg3LTIuMjM5cy00LjI1NC0xLjk2Ny01LjQ5My0xLjg2MWMtMS4yNC4xMDYtLjc2NCAxLjA4NSAxLjA4NiAyLjIzOCIgZmlsbD0iIzkxNTEyYiIvPgogICA8cGF0aCBkPSJtMS4xOTItMjUuNy4zNjggMi41MDIgMjIuMTg5IDEzLjgyNS0uMzY4LTIuNTAzeiIgZmlsbD0iIzk0OTQ5NCIvPgogICA8cGF0aCBkPSJtLTEwLjQ3Mi0yMy43OTUgOC4xOTktLjcwMSAzLjQ2NS0xLjIwNC04LjE5OS43MDF6IiBmaWxsPSIjOTQ5NDk0Ii8+CiAgPC9nPgogIDxnIHN0cm9rZT0iIzZlNmU2ZSI+CiAgIDxwYXRoIGQ9Im0tLjQ4NyAxLjA5Ny0xLjE3IDIuNjM0IiBzdHJva2Utd2lkdGg9IjkuMSIvPgogICA8cGF0aCBkPSJtLTMuODYgMy45MmMtMS44NTEtMS4xNTMtMi4zMjYtMi4xMzItMS4wODctMi4yMzhzMy42NDMuNzA4IDUuNDkzIDEuODYxYzEuODUxIDEuMTUzIDIuMzI3IDIuMTMyIDEuMDg3IDIuMjM4LTEuMjM5LjEwNi0zLjY0My0uNzA4LTUuNDkzLTEuODYxIiBmaWxsPSIjNmU2ZTZlIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iLjUiLz4KICAgPHBhdGggZD0ibS0yLjY5MSAxLjI4NmMxLjg1MSAxLjE1MyA0LjI1NCAxLjk2NyA1LjQ5NCAxLjg2MSAxLjIzOS0uMTA2Ljc2NC0xLjA4NS0xLjA4Ny0yLjIzOHMtNC4yNTQtMS45NjctNS40OTMtMS44NjFjLTEuMjQuMTA2LS43NjQgMS4wODUgMS4wODYgMi4yMzgiIGZpbGw9IiM2ZTZlNmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIuNSIvPgogIDwvZz4KICA8ZyBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICA8cGF0aCBkPSJtMTguMjY5IDYuMjM2LTMuNDY1IDEuMjA0IDIuNzA3LTIuNzY2eiIgZmlsbD0iI2FiYWJhYiIvPgogICA8cGF0aCBkPSJtMTQuODA0IDcuNDQtOC4xOTkuNzAxLTIyLjE4OS0xMy44MjUgOC4xOTktLjcwMXoiIGZpbGw9IiM3NTc1NzUiLz4KICAgPHBhdGggZD0ibS0xNi43MS05Ljc0OCAxLjEyNiA0LjA2NC0uMzY3LTIuNTAyeiIgZmlsbD0iI2FiYWJhYiIvPgogICA8cGF0aCBkPSJtMjQuNTA3LTcuODEyLTYuMjM4IDE0LjA0OC0uNzU4LTEuNTYyIDYuMjM4LTE0LjA0N3oiIGZpbGw9IiM5NDk0OTQiLz4KICAgPHBhdGggZD0ibS0xMC40NzItMjMuNzk1LTYuMjM4IDE0LjA0Ny43NTkgMS41NjIgNi4yMzctMTQuMDQ4eiIgZmlsbD0iIzk0OTQ5NCIvPgogICA8cGF0aCBkPSJtMjQuNTA3LTcuODEyLTEuMTI2LTQuMDY0LjM2OCAyLjUwM3oiIGZpbGw9IiNhYmFiYWIiLz4KICAgPHBhdGggZD0ibTIzLjM4MS0xMS44NzYtOC4xOTkuNzAxLTIyLjE4OS0xMy44MjQgOC4xOTktLjcwMXoiIGZpbGw9IiM3NTc1NzUiLz4KICAgPHBhdGggZD0ibS0xMC40NzItMjMuNzk1IDMuNDY1LTEuMjA0LTIuNzA3IDIuNzY1eiIgZmlsbD0iI2FiYWJhYiIvPgogICA8cGF0aCBkPSJtMTguMjY5IDYuMjM2LTguMTk5LjcwMS0zLjQ2NSAxLjIwNCA4LjE5OS0uNzAxeiIgZmlsbD0iIzk0OTQ5NCIvPgogICA8cGF0aCBkPSJtLTE1Ljk1MS04LjE4Ni4zNjcgMi41MDIgMjIuMTg5IDEzLjgyNS0uMzY3LTIuNTAzeiIgZmlsbD0iIzk0OTQ5NCIvPgogICA8cGF0aCBkPSJtMTguMjY5IDYuMjM2LTguMTk5LjcwMSA2LjIzOC0xNC4wNDggOC4xOTktLjcwMXoiIGZpbGw9IiM3NTc1NzUiLz4KICAgPHBhdGggZD0ibS05LjcxNC0yMi4yMzQtNi4yMzcgMTQuMDQ4IDIyLjE4OSAxMy44MjQgNi4yMzctMTQuMDQ3eiIgZmlsbD0iIzc1NzU3NSIvPgogICA8cGF0aCBkPSJtMi41NDUtMTIuNzktNC41ODMtMS42NTljLS4wNzYtLjAyNy0uMTU2LjAwOC0uMTk1LjA4NSAwIDAtMi40NjMgNC44MDgtMi40NjMgNC44MDgtLjA1OC4xMTQtLjAwNS4yNjMuMTA3LjI5OGwxLjI5Ni40MTZjLjEyMi4wMzkuMTcxLjIxLjA5My4zMjEgMCAwLTEuMjA1IDEuNzIyLTEuMjA1IDEuNzIyLS4wODEuMTE2LS4wMjQuMjk0LjEwNS4zMjVsLjgyNy4xOTZjLjEyOC4wMzEuMTg2LjIwOS4xMDQuMzI1IDAgMC0xLjg5OSAyLjcwMS0xLjg5OSAyLjcwMS0uMTE4LjE2OS4wNTYuNDEuMjIuMzA0bC4xMS0uMDcgNi44NDktNS42NjFjLjExNS0uMDk1LjA4My0uMzA0LS4wNTQtLjM1NGwtMS4zMTItLjQ4Yy0uMTIzLS4wNDUtLjE2NS0uMjI0LS4wNzgtLjMzMSAwIDAgMi4xNTctMi42MTUgMi4xNTctMi42MTUuMDg3LS4xMDYuMDQ1LS4yODYtLjA3OS0uMzMxeiIgZmlsbD0iI2ZiYmYyOCIgc3Ryb2tlPSIjZmJiZjI4IiBzdHJva2Utd2lkdGg9Ii42Ii8+CiAgIDxwYXRoIGQ9Im0yNC41MDctNy44MTItOC4xOTkuNzAxLTEuMTI2LTQuMDY0IDguMTk5LS43MDF6IiBmaWxsPSIjOTQ5NDk0Ii8+CiAgIDxwYXRoIGQ9Im0xNS4xODItMTEuMTc1LTIuNzA3IDIuNzY2LTIyLjE4OS0xMy44MjUgMi43MDctMi43NjV6IiBmaWxsPSIjOTQ5NDk0Ii8+CiAgIDxwYXRoIGQ9Im0xMC4wNyA2LjkzNy0zLjQ2NSAxLjIwNC0uMzY3LTIuNTAzeiIgZmlsbD0iI2FiYWJhYiIvPgogICA8cGF0aCBkPSJtMTYuMzA4LTcuMTExLTYuMjM4IDE0LjA0OC0zLjgzMi0xLjI5OSA2LjIzNy0xNC4wNDd6IiBmaWxsPSIjOTQ5NDk0Ii8+CiAgIDxwYXRoIGQ9Im0xNi4zMDgtNy4xMTEtMS4xMjYtNC4wNjQtMi43MDcgMi43NjZ6IiBmaWxsPSIjYWJhYmFiIi8+CiAgPC9nPgogPC9nPgo8L3N2Zz4K",url:"https://vike.dev",tagline:"Flexible, lean, reliable, community-driven, fast Vite-based frontend framework",repo:"vikejs/vike",links:[{label:"Docs",href:"https://vike.dev"},{label:"FAQ",href:"https://vike.dev/faq"}],invisibleCli:!0,readonly:!0},{category:"UI Framework",label:"React",flag:"react",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjEzZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyOCI+PHBhdGggZmlsbD0iIzAwRDhGRiIgZD0iTTIxMC40ODMgNzMuODI0YTE3MS40OSAxNzEuNDkgMCAwIDAtOC4yNC0yLjU5N2MuNDY1LTEuOS44OTMtMy43NzcgMS4yNzMtNS42MjFjNi4yMzgtMzAuMjgxIDIuMTYtNTQuNjc2LTExLjc2OS02Mi43MDhjLTEzLjM1NS03LjctMzUuMTk2LjMyOS01Ny4yNTQgMTkuNTI2YTE3MS4yMyAxNzEuMjMgMCAwIDAtNi4zNzUgNS44NDhhMTU1Ljg2NiAxNTUuODY2IDAgMCAwLTQuMjQxLTMuOTE3QzEwMC43NTkgMy44MjkgNzcuNTg3LTQuODIyIDYzLjY3MyAzLjIzM0M1MC4zMyAxMC45NTcgNDYuMzc5IDMzLjg5IDUxLjk5NSA2Mi41ODhhMTcwLjk3NCAxNzAuOTc0IDAgMCAwIDEuODkyIDguNDhjLTMuMjguOTMyLTYuNDQ1IDEuOTI0LTkuNDc0IDIuOThDMTcuMzA5IDgzLjQ5OCAwIDk4LjMwNyAwIDExMy42NjhjMCAxNS44NjUgMTguNTgyIDMxLjc3OCA0Ni44MTIgNDEuNDI3YTE0NS41MiAxNDUuNTIgMCAwIDAgNi45MjEgMi4xNjVhMTY3LjQ2NyAxNjcuNDY3IDAgMCAwLTIuMDEgOS4xMzhjLTUuMzU0IDI4LjItMS4xNzMgNTAuNTkxIDEyLjEzNCA1OC4yNjZjMTMuNzQ0IDcuOTI2IDM2LjgxMi0uMjIgNTkuMjczLTE5Ljg1NWExNDUuNTY3IDE0NS41NjcgMCAwIDAgNS4zNDItNC45MjNhMTY4LjA2NCAxNjguMDY0IDAgMCAwIDYuOTIgNi4zMTRjMjEuNzU4IDE4LjcyMiA0My4yNDYgMjYuMjgyIDU2LjU0IDE4LjU4NmMxMy43MzEtNy45NDkgMTguMTk0LTMyLjAwMyAxMi40LTYxLjI2OGExNDUuMDE2IDE0NS4wMTYgMCAwIDAtMS41MzUtNi44NDJjMS42Mi0uNDggMy4yMS0uOTc0IDQuNzYtMS40ODhjMjkuMzQ4LTkuNzIzIDQ4LjQ0My0yNS40NDMgNDguNDQzLTQxLjUyYzAtMTUuNDE3LTE3Ljg2OC0zMC4zMjYtNDUuNTE3LTM5Ljg0NFptLTYuMzY1IDcwLjk4NGMtMS40LjQ2My0yLjgzNi45MS00LjMgMS4zNDVjLTMuMjQtMTAuMjU3LTcuNjEyLTIxLjE2My0xMi45NjMtMzIuNDMyYzUuMTA2LTExIDkuMzEtMjEuNzY3IDEyLjQ1OS0zMS45NTdjMi42MTkuNzU4IDUuMTYgMS41NTcgNy42MSAyLjRjMjMuNjkgOC4xNTYgMzguMTQgMjAuMjEzIDM4LjE0IDI5LjUwNGMwIDkuODk2LTE1LjYwNiAyMi43NDMtNDAuOTQ2IDMxLjE0Wm0tMTAuNTE0IDIwLjgzNGMyLjU2MiAxMi45NCAyLjkyNyAyNC42NCAxLjIzIDMzLjc4N2MtMS41MjQgOC4yMTktNC41OSAxMy42OTgtOC4zODIgMTUuODkzYy04LjA2NyA0LjY3LTI1LjMyLTEuNC00My45MjctMTcuNDEyYTE1Ni43MjYgMTU2LjcyNiAwIDAgMS02LjQzNy01Ljg3YzcuMjE0LTcuODg5IDE0LjQyMy0xNy4wNiAyMS40NTktMjcuMjQ2YzEyLjM3Ni0xLjA5OCAyNC4wNjgtMi44OTQgMzQuNjcxLTUuMzQ1YTEzNC4xNyAxMzQuMTcgMCAwIDEgMS4zODYgNi4xOTNaTTg3LjI3NiAyMTQuNTE1Yy03Ljg4MiAyLjc4My0xNC4xNiAyLjg2My0xNy45NTUuNjc1Yy04LjA3NS00LjY1Ny0xMS40MzItMjIuNjM2LTYuODUzLTQ2Ljc1MmExNTYuOTIzIDE1Ni45MjMgMCAwIDEgMS44NjktOC40OTljMTAuNDg2IDIuMzIgMjIuMDkzIDMuOTg4IDM0LjQ5OCA0Ljk5NGM3LjA4NCA5Ljk2NyAxNC41MDEgMTkuMTI4IDIxLjk3NiAyNy4xNWExMzQuNjY4IDEzNC42NjggMCAwIDEtNC44NzcgNC40OTJjLTkuOTMzIDguNjgyLTE5Ljg4NiAxNC44NDItMjguNjU4IDE3Ljk0Wk01MC4zNSAxNDQuNzQ3Yy0xMi40ODMtNC4yNjctMjIuNzkyLTkuODEyLTI5Ljg1OC0xNS44NjNjLTYuMzUtNS40MzctOS41NTUtMTAuODM2LTkuNTU1LTE1LjIxNmMwLTkuMzIyIDEzLjg5Ny0yMS4yMTIgMzcuMDc2LTI5LjI5M2MyLjgxMy0uOTggNS43NTctMS45MDUgOC44MTItMi43NzNjMy4yMDQgMTAuNDIgNy40MDYgMjEuMzE1IDEyLjQ3NyAzMi4zMzJjLTUuMTM3IDExLjE4LTkuMzk5IDIyLjI0OS0xMi42MzQgMzIuNzkyYTEzNC43MTggMTM0LjcxOCAwIDAgMS02LjMxOC0xLjk3OVptMTIuMzc4LTg0LjI2Yy00LjgxMS0yNC41ODctMS42MTYtNDMuMTM0IDYuNDI1LTQ3Ljc4OWM4LjU2NC00Ljk1OCAyNy41MDIgMi4xMTEgNDcuNDYzIDE5LjgzNWExNDQuMzE4IDE0NC4zMTggMCAwIDEgMy44NDEgMy41NDVjLTcuNDM4IDcuOTg3LTE0Ljc4NyAxNy4wOC0yMS44MDggMjYuOTg4Yy0xMi4wNCAxLjExNi0yMy41NjUgMi45MDgtMzQuMTYxIDUuMzA5YTE2MC4zNDIgMTYwLjM0MiAwIDAgMS0xLjc2LTcuODg3Wm0xMTAuNDI3IDI3LjI2OGEzNDcuOCAzNDcuOCAwIDAgMC03Ljc4NS0xMi44MDNjOC4xNjggMS4wMzMgMTUuOTk0IDIuNDA0IDIzLjM0MyA0LjA4Yy0yLjIwNiA3LjA3Mi00Ljk1NiAxNC40NjUtOC4xOTMgMjIuMDQ1YTM4MS4xNTEgMzgxLjE1MSAwIDAgMC03LjM2NS0xMy4zMjJabS00NS4wMzItNDMuODYxYzUuMDQ0IDUuNDY1IDEwLjA5NiAxMS41NjYgMTUuMDY1IDE4LjE4NmEzMjIuMDQgMzIyLjA0IDAgMCAwLTMwLjI1Ny0uMDA2YzQuOTc0LTYuNTU5IDEwLjA2OS0xMi42NTIgMTUuMTkyLTE4LjE4Wk04Mi44MDIgODcuODNhMzIzLjE2NyAzMjMuMTY3IDAgMCAwLTcuMjI3IDEzLjIzOGMtMy4xODQtNy41NTMtNS45MDktMTQuOTgtOC4xMzQtMjIuMTUyYzcuMzA0LTEuNjM0IDE1LjA5My0yLjk3IDIzLjIwOS0zLjk4NGEzMjEuNTI0IDMyMS41MjQgMCAwIDAtNy44NDggMTIuODk3Wm04LjA4MSA2NS4zNTJjLTguMzg1LS45MzYtMTYuMjkxLTIuMjAzLTIzLjU5My0zLjc5M2MyLjI2LTcuMyA1LjA0NS0xNC44ODUgOC4yOTgtMjIuNmEzMjEuMTg3IDMyMS4xODcgMCAwIDAgNy4yNTcgMTMuMjQ2YzIuNTk0IDQuNDggNS4yOCA4Ljg2OCA4LjAzOCAxMy4xNDdabTM3LjU0MiAzMS4wM2MtNS4xODQtNS41OTItMTAuMzU0LTExLjc3OS0xNS40MDMtMTguNDMzYzQuOTAyLjE5MiA5Ljg5OS4yOSAxNC45NzguMjljNS4yMTggMCAxMC4zNzYtLjExNyAxNS40NTMtLjM0M2MtNC45ODUgNi43NzQtMTAuMDE4IDEyLjk3LTE1LjAyOCAxOC40ODZabTUyLjE5OC01Ny44MTdjMy40MjIgNy44IDYuMzA2IDE1LjM0NSA4LjU5NiAyMi41MmMtNy40MjIgMS42OTQtMTUuNDM2IDMuMDU4LTIzLjg4IDQuMDcxYTM4Mi40MTcgMzgyLjQxNyAwIDAgMCA3Ljg1OS0xMy4wMjZhMzQ3LjQwMyAzNDcuNDAzIDAgMCAwIDcuNDI1LTEzLjU2NVptLTE2Ljg5OCA4LjEwMWEzNTguNTU3IDM1OC41NTcgMCAwIDEtMTIuMjgxIDE5LjgxNWEzMjkuNCAzMjkuNCAwIDAgMS0yMy40NDQuODIzYy03Ljk2NyAwLTE1LjcxNi0uMjQ4LTIzLjE3OC0uNzMyYTMxMC4yMDIgMzEwLjIwMiAwIDAgMS0xMi41MTMtMTkuODQ2aC4wMDFhMzA3LjQxIDMwNy40MSAwIDAgMS0xMC45MjMtMjAuNjI3YTMxMC4yNzggMzEwLjI3OCAwIDAgMSAxMC44OS0yMC42MzdsLS4wMDEuMDAxYTMwNy4zMTggMzA3LjMxOCAwIDAgMSAxMi40MTMtMTkuNzYxYzcuNjEzLS41NzYgMTUuNDItLjg3NiAyMy4zMS0uODc2SDEyOGM3LjkyNiAwIDE1Ljc0My4zMDMgMjMuMzU0Ljg4M2EzMjkuMzU3IDMyOS4zNTcgMCAwIDEgMTIuMzM1IDE5LjY5NWEzNTguNDg5IDM1OC40ODkgMCAwIDEgMTEuMDM2IDIwLjU0YTMyOS40NzIgMzI5LjQ3MiAwIDAgMS0xMSAyMC43MjJabTIyLjU2LTEyMi4xMjRjOC41NzIgNC45NDQgMTEuOTA2IDI0Ljg4MSA2LjUyIDUxLjAyNmMtLjM0NCAxLjY2OC0uNzMgMy4zNjctMS4xNSA1LjA5Yy0xMC42MjItMi40NTItMjIuMTU1LTQuMjc1LTM0LjIzLTUuNDA4Yy03LjAzNC0xMC4wMTctMTQuMzIzLTE5LjEyNC0yMS42NC0yNy4wMDhhMTYwLjc4OSAxNjAuNzg5IDAgMCAxIDUuODg4LTUuNGMxOC45LTE2LjQ0NyAzNi41NjQtMjIuOTQxIDQ0LjYxMi0xOC4zWk0xMjggOTAuODA4YzEyLjYyNSAwIDIyLjg2IDEwLjIzNSAyMi44NiAyMi44NnMtMTAuMjM1IDIyLjg2LTIyLjg2IDIyLjg2cy0yMi44Ni0xMC4yMzUtMjIuODYtMjIuODZzMTAuMjM1LTIyLjg2IDIyLjg2LTIyLjg2WiIvPjwvc3ZnPg==",url:"https://react.dev",spectrum:"beaten_path",tagline:"The library for web and native user interfaces",repo:"facebook/react",selected:!0,links:[{label:"Learn",href:"https://react.dev/learn"},{label:"Docs",href:"https://react.dev/reference/react"}]},{category:"UI Framework",label:"Vue",flag:"vue",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE2ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyMSI+PHBhdGggZmlsbD0iIzQxQjg4MyIgZD0iTTIwNC44IDBIMjU2TDEyOCAyMjAuOEwwIDBoOTcuOTJMMTI4IDUxLjJMMTU3LjQ0IDBoNDcuMzZaIi8+PHBhdGggZmlsbD0iIzQxQjg4MyIgZD0ibTAgMGwxMjggMjIwLjhMMjU2IDBoLTUxLjJMMTI4IDEzMi40OEw1MC41NiAwSDBaIi8+PHBhdGggZmlsbD0iIzM1NDk1RSIgZD0iTTUwLjU2IDBMMTI4IDEzMy4xMkwyMDQuOCAwaC00Ny4zNkwxMjggNTEuMkw5Ny45MiAwSDUwLjU2WiIvPjwvc3ZnPg==",url:"https://vuejs.org",tagline:"The Progressive JavaScript Framework",repo:"vuejs/core",links:[{label:"Quick start",href:"https://vuejs.org/guide/quick-start.html"},{label:"Examples",href:"https://vuejs.org/examples/#hello-world"},{label:"API",href:"https://vuejs.org/api/"}]},{category:"UI Framework",label:"SolidJS",flag:"solid",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjA4ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIyNTYgMjM5IDI1NiAyMzkiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ibG9nb3NTb2xpZGpzSWNvbjAiIHgxPSIyNy41IiB4Mj0iMTUyIiB5MT0iMyIgeTI9IjYzLjUiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ5LjU2IDIzMy4xMikgc2NhbGUoMS42MTAwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii4xIiBzdG9wLWNvbG9yPSIjNzZiM2UxIi8+PHN0b3Agb2Zmc2V0PSIuMyIgc3RvcC1jb2xvcj0iI2RjZjJmZCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzc2YjNlMSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJsb2dvc1NvbGlkanNJY29uMSIgeDE9Ijk1LjgiIHgyPSI3NCIgeTE9IjMyLjYiIHkyPSIxMDUuMiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgyNDkuNTYgMjMzLjEyKSBzY2FsZSgxLjYxMDA2KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzc2YjNlMSIvPjxzdG9wIG9mZnNldD0iLjUiIHN0b3AtY29sb3I9IiM0Mzc3YmIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxZjNiNzciLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0ibG9nb3NTb2xpZGpzSWNvbjIiIHgxPSIxOC40IiB4Mj0iMTQ0LjMiIHkxPSI2NC4yIiB5Mj0iMTQ5LjgiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ5LjU2IDIzMy4xMikgc2NhbGUoMS42MTAwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzMTVhYTkiLz48c3RvcCBvZmZzZXQ9Ii41IiBzdG9wLWNvbG9yPSIjNTE4YWM4Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzE1YWE5Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImxvZ29zU29saWRqc0ljb24zIiB4MT0iNzUuMiIgeDI9IjI0LjQiIHkxPSI3NC41IiB5Mj0iMjYwLjgiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ5LjU2IDIzMy4xMikgc2NhbGUoMS42MTAwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM0Mzc3YmIiLz48c3RvcCBvZmZzZXQ9Ii41IiBzdG9wLWNvbG9yPSIjMWEzMzZiIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMWEzMzZiIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZmlsbD0iIzc2YjNlMSIgZD0iTTUxMiAyODkuNDcycy04NS4zMzMtNjIuNzkxLTE1MS4zNDctNDguMzAxbC00LjgyOSAxLjYxYy05LjY2IDMuMjIxLTE3LjcxMSA4LjA1LTIyLjU0MiAxNC40OTFsLTMuMjE5IDQuODI5bC0yNC4xNTIgNDEuODYybDQxLjg2MyA4LjA1MWMxNy43MSAxMS4yNyA0MC4yNTEgMTYuMTAxIDYxLjE4MiAxMS4yN2w3NC4wNjMgMTQuNDkxTDUxMiAyODkuNDcyWiIvPjxwYXRoIGZpbGw9InVybCgjbG9nb3NTb2xpZGpzSWNvbjApIiBkPSJNNTEyIDI4OS40NzJzLTg1LjMzMy02Mi43OTEtMTUxLjM0Ny00OC4zMDFsLTQuODI5IDEuNjFjLTkuNjYgMy4yMjEtMTcuNzExIDguMDUtMjIuNTQyIDE0LjQ5MWwtMy4yMTkgNC44MjlsLTI0LjE1MiA0MS44NjJsNDEuODYzIDguMDUxYzE3LjcxIDExLjI3IDQwLjI1MSAxNi4xMDEgNjEuMTgyIDExLjI3bDc0LjA2MyAxNC40OTFMNTEyIDI4OS40NzJaIiBvcGFjaXR5PSIuMyIvPjxwYXRoIGZpbGw9IiM1MThhYzgiIGQ9Im0zMzMuMjgyIDI4OS40NzJsLTYuNDM5IDEuNjExYy0yNy4zNzEgOC4wNS0zNS40MjEgMzMuODExLTIwLjkzMiA1Ni4zNTJjMTYuMTAxIDIwLjkzMSA0OS45MTMgMzIuMjAxIDc3LjI4NCAyNC4xNTFsOTkuODI0LTMzLjgxMXMtODUuMzM0LTYyLjc5Mi0xNDkuNzM3LTQ4LjMwM1oiLz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zU29saWRqc0ljb24xKSIgZD0ibTMzMy4yODIgMjg5LjQ3MmwtNi40MzkgMS42MTFjLTI3LjM3MSA4LjA1LTM1LjQyMSAzMy44MTEtMjAuOTMyIDU2LjM1MmMxNi4xMDEgMjAuOTMxIDQ5LjkxMyAzMi4yMDEgNzcuMjg0IDI0LjE1MWw5OS44MjQtMzMuODExcy04NS4zMzQtNjIuNzkyLTE0OS43MzctNDguMzAzWiIgb3BhY2l0eT0iLjMiLz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zU29saWRqc0ljb24yKSIgZD0iTTQ2NS4zMDggMzYxLjkyNWMtMTguNDM5LTIzLjAzNi00OS4wMDgtMzIuNTg4LTc3LjI4My0yNC4xNWwtOTkuODIzIDMyLjIwMUwyNTYgNDI2LjMyOGwxODAuMzI3IDMwLjU5MmwzMi4yMDEtNTcuOTYzYzYuNDQxLTExLjI3MSA0LjgzMS0yNC4xNS0zLjIyLTM3LjAzMloiLz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zU29saWRqc0ljb24zKSIgZD0iTTQzMy4xMDYgNDE4LjI3N2MtMTguNDM5LTIzLjAzNi00OS4wMDYtMzIuNTg4LTc3LjI4Mi0yNC4xNUwyNTYgNDI2LjMyOHM4NS4zMzMgNjQuNDAyIDE1MS4zNDYgNDguMzAzbDQuODMtMS42MTJjMjcuMzcxLTguMDQ5IDM3LjAzMS0zMy44MSAyMC45My01NC43NDJaIi8+PC9zdmc+",url:"https://www.solidjs.com",spectrum:"bleeding_edge",tagline:"Simple and performant reactivity for building user interfaces",repo:"solidjs/solid",links:[{label:"Getting started",href:"https://www.solidjs.com/guides/getting-started"},{label:"Examples",href:"https://www.solidjs.com/examples"},{label:"API",href:"https://www.solidjs.com/docs/latest/api"}]},{category:"CSS",label:"TailwindCSS",flag:"tailwindcss",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjY3ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDE1NCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJsb2dvc1RhaWx3aW5kY3NzSWNvbjAiIHgxPSItMi43NzglIiB4Mj0iMTAwJSIgeTE9IjMyJSIgeTI9IjY3LjU1NiUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMyMjk4QkQiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwRUQ3QjUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zVGFpbHdpbmRjc3NJY29uMCkiIGQ9Ik0xMjggMEM5My44NjcgMCA3Mi41MzMgMTcuMDY3IDY0IDUxLjJDNzYuOCAzNC4xMzMgOTEuNzMzIDI3LjczMyAxMDguOCAzMmM5LjczNyAyLjQzNCAxNi42OTcgOS40OTkgMjQuNDAxIDE3LjMxOEMxNDUuNzUxIDYyLjA1NyAxNjAuMjc1IDc2LjggMTkyIDc2LjhjMzQuMTMzIDAgNTUuNDY3LTE3LjA2NyA2NC01MS4yYy0xMi44IDE3LjA2Ny0yNy43MzMgMjMuNDY3LTQ0LjggMTkuMmMtOS43MzctMi40MzQtMTYuNjk3LTkuNDk5LTI0LjQwMS0xNy4zMThDMTc0LjI0OSAxNC43NDMgMTU5LjcyNSAwIDEyOCAwWk02NCA3Ni44QzI5Ljg2NyA3Ni44IDguNTMzIDkzLjg2NyAwIDEyOGMxMi44LTE3LjA2NyAyNy43MzMtMjMuNDY3IDQ0LjgtMTkuMmM5LjczNyAyLjQzNCAxNi42OTcgOS40OTkgMjQuNDAxIDE3LjMxOEM4MS43NTEgMTM4Ljg1NyA5Ni4yNzUgMTUzLjYgMTI4IDE1My42YzM0LjEzMyAwIDU1LjQ2Ny0xNy4wNjcgNjQtNTEuMmMtMTIuOCAxNy4wNjctMjcuNzMzIDIzLjQ2Ny00NC44IDE5LjJjLTkuNzM3LTIuNDM0LTE2LjY5Ny05LjQ5OS0yNC40MDEtMTcuMzE4QzExMC4yNDkgOTEuNTQzIDk1LjcyNSA3Ni44IDY0IDc2LjhaIi8+PC9zdmc+",url:"https://tailwindcss.com",spectrum:"beaten_path",tagline:"Rapidly build modern websites without ever leaving your HTML",repo:"tailwindlabs/tailwindcss",links:[{label:"Docs",href:"https://tailwindcss.com/docs/installation"}]},{category:"CSS",label:"Compiled",flag:"compiled-css",image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAFf0lEQVR4nLSaXWzbVBvHz3OOncRJnY926vp27Uu7Tm3Vsi7hsxpDRahjrMAFEqsYlAk6IQECpF2ttEwwGBLccAE3fAmhCfEhJK4AiQ+BGGKirJuYhoRg68pKV5bSZCEfrpPYMXLSpE5iJ3ZyciRfxD5+nud3nuc5/9ouc/fjh1Ajhgxc09Kmx76QCL+5Y/WNMbu0Mt8IP7gRRtXxj/uuo0lb560y8fauuseONcpPQwDW2I6BqGv46fzvhGNon8i0DzbCV0MAQvyeFxBgpnACEAnzo9ON8EUdQGTa+wTH4L2l5+Pc0HiSae2h7Y86wNWmkUMIdOwCZkL87hna/qgCyMDxcaf/QaPrcS4wQTsLVAGizuvHFWCbDCcAZkP8nc/T9EkVIMb5x6vNiXP+/SLTPkDLJzUAGTiXaOsaqToREAm57zhCyy81AMHWvQsBtpuZu64LVLJADUC0b91penI2C3uP0vBLD4DdErAyP8EN3rfGdgzV65caQJpp7bN6z9Wm2w/X65cKgIIAScTzf6v30VBnKgASuLwIsMPyjRTUmU4GsM1d671xLvCQyLRZLr/8oAKQAYep7VN3qFlw167OVABAScn13F+PLlACkBL1GahdnakAMBkhXK+NXBas94JlgEi6ZehvsXNMUQA2jKTSkFkLWrVVNGp8arMEEJW8vScje0+djo58fjY2/JqibFyzSavnrTovHXHO/4BVXbAEsCBuPwyY2DDG6LK47cmLwsAT+Wu29PKvVmzpjhp0wTSAIPOdQalnAgCj7IEB/S5c96paUup1R2pprpaYS4fVpzbTAAupwDMIGBtgjDAGpGYBMLGfS+x8U+0HLnXhRM1Ra0f2qc18FkwBJDKe7mCmbxJng1cD3zgSmZbhS2L/pF0KnidS5EJdwa8PK+psCuBP6cYjCBh7Lujc6mth5pOBY3KG5ZrEc5/WHT2yps5VARIZX88q6psoDTp/qL9l4NoWU/0HeeHMB1QALKhzVYC/lJtnAAibX31t4AUYwOhyevApLnXpLJu+QqWZzapzRQBB8V4Tgv4Jo9LJB6/+TiJ3b0jesssXP/E6FQCT6lwRYBkPTyFMWKPSKT2/Im3b7xbmPiTyvwtUCEyosyGAiDwdIXztI0aB51d/4zygkNJ1DyhS2hf7/hUqACbU2RBgmdwyhXBu58Ga8ikEDtos5HpDAldnQvH1eBM/vkfk2BIVgirqrAsggrcjzO44qA2utOZLM5PPTkxpuwmjdNIX+/ZlKgBV1FkX4Ipt5FnAjKNazeudF1DLdtWGN3HybSLR6gXjd6plACLe1B2x+Sd1gwa9oIu3VhH5tuYMp1PNsa9fpAJQ4Z1qGUDQcds0rO88heDUstEtHShrbAm7NudteYTZ40SK1P1ndnYY6EIRgIg3dUUd/gNFwYFRves3tvb1Okay3Bz75iUqAAbqXASw6hqdzv29vx4c6DdqGZAmOwizRGvTI8y+z0iRP6gQ6GShAJAkrd0xZ+Bh/T3eXAOrBwNyotiBmoWvnqMCoPPFswAQ4ken1NovXVH9oMGwsW0grJQ69QizH7Pplfqf2FC5OmcBUqS5Pe4MHMg1K6my0pUb246iF8t9Koov/h1Fdd54p5oFCPO7pxAQB4C65aoHyX7mNax3w8bGyImCv+g5dQtzHzFShM6/G2jUGadI8/+izhseLboOCOECiEHpGGSHlxd/0POJkSz5KO5IeXXGIX7PjLr6uqBqRrKrTQwbWwvDKaE5hxJeNHKq6gIjhX+jQrCuzjjO7bi/4jzQguiXVf5cS/rMO5VsZXek6JfUPrPGOf8+7BZOvYsQqvpytrg/SNkuxWWCPzUn545Xs+NZO/0Jl5z/rN7gFYQyvPDzW/8FAAD//wWcstmJqV1FAAAAAElFTkSuQmCC",url:"https://compiledcssinjs.com",tagline:"A familiar and performant compile time CSS-in-JS library for React.",repo:"atlassian-labs/compiled",links:[{label:"Docs",href:"https://compiledcssinjs.com/docs/"}]},{category:"UI Component Libraries",label:"daisyUI",flag:"daisyui",dependsOn:["tailwindcss"],image:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMzInIGhlaWdodD0nMzInIHZpZXdCb3g9JzAgMCA0MTUgNDE1JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxyZWN0IHg9JzgyLjUnIHk9JzI5MCcgd2lkdGg9JzI1MCcgaGVpZ2h0PScxMjUnIHJ4PSc2Mi41JyBmaWxsPScjMUFEMUE1Jz48L3JlY3Q+PGNpcmNsZSBjeD0nMjA3LjUnIGN5PScxMzUnIHI9JzEzMCcgZmlsbD0nYmxhY2snIGZpbGwtb3BhY2l0eT0nLjMnPjwvY2lyY2xlPjxjaXJjbGUgY3g9JzIwNy41JyBjeT0nMTM1JyByPScxMjUnIGZpbGw9J3doaXRlJz48L2NpcmNsZT48Y2lyY2xlIGN4PScyMDcuNScgY3k9JzEzNScgcj0nNTYnIGZpbGw9JyNGRjk5MDMnPjwvY2lyY2xlPjwvc3ZnPg==",url:"https://daisyui.com",tagline:"The most popular component library for Tailwind CSS",repo:"saadeghi/daisyui",links:[{label:"Docs",href:"https://daisyui.com/docs/use/"}]},{category:"UI Component Libraries",label:"shadcn/ui",flag:"shadcn-ui",dependsOn:["tailwindcss","react"],image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBjbGFzcz0iaC02IHctNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyNTZ2MjU2SDB6Ii8+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxNiIgZD0ibTIwOCAxMjgtODAgODBtNjQtMTY4TDQwIDE5MiIvPjwvc3ZnPg==",url:"https://ui.shadcn.com",tagline:"Beautifully designed components that you can copy and paste into your apps.",repo:"shadcn-ui/ui",links:[{label:"Docs",href:"https://ui.shadcn.com/docs"}]},{category:"UI Component Libraries",label:"Mantine",flag:"mantine",dependsOn:["react"],image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxNjMgMTYzIj48cGF0aCBmaWxsPSIjMzM5QUYwIiBkPSJNMTYyLjE2MiA4MS41YzAtNDUuMDExLTM2LjMwMS04MS41LTgxLjA4LTgxLjVDMzYuMzAxIDAgMCAzNi40ODkgMCA4MS41IDAgMTI2LjUxIDM2LjMwMSAxNjMgODEuMDgxIDE2M3M4MS4wODEtMzYuNDkgODEuMDgxLTgxLjUiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNNjUuOTgzIDQzLjA0OWE2LjIzIDYuMjMgMCAwIDAtLjMzNiA2Ljg4NCA2LjEgNi4xIDAgMCAwIDEuNjE4IDEuNzg2YzkuNDQ0IDcuMDM2IDE0Ljg2NiAxNy43OTQgMTQuODY2IDI5LjUycy01LjQyMiAyMi40ODQtMTQuODY2IDI5LjUyYTYuMiA2LjIgMCAwIDAtMS42MTYgMS43ODYgNi4yIDYuMiAwIDAgMC0uNjk0IDQuNjkzIDYuMiA2LjIgMCAwIDAgMS4wMjggMi4xODYgNi4xNSA2LjE1IDAgMCAwIDYuNDU3IDIuMzE5IDYuMiA2LjIgMCAwIDAgMi4xNzctMS4wMzUgNTAgNTAgMCAwIDAgNy45NDctNy4zOWgxNy40OTNjMy40MDYgMCA2LjE3NC0yLjc3MiA2LjE3NC02LjE5NHMtMi43NjItNi4xOTQtNi4xNzQtNi4xOTRoLTkuNjU1YTQ5LjIgNDkuMiAwIDAgMCA0LjA3MS0xOS42OSA0OS4yIDQ5LjIgMCAwIDAtNC4wNy0xOS42OTJoOS42NmMzLjQwNiAwIDYuMTczLTIuNzcxIDYuMTczLTYuMTk0cy0yLjc2Mi02LjE5My02LjE3My02LjE5M0g4Mi41NzRhNTAgNTAgMCAwIDAtNy45NTItNy4zOTcgNi4xNSA2LjE1IDAgMCAwLTQuNTc4LTEuMTUzIDYuMiA2LjIgMCAwIDAtNC4wNTUgMi40Mzh6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNTYuMjM2IDc5LjM5MWE5LjMgOS4zIDAgMCAxIC42MzItMy42MDggOS4zIDkuMyAwIDAgMSAxLjk2Ny0zLjA3NyA5LjEgOS4xIDAgMCAxIDIuOTk0LTIuMDYzIDkuMDYgOS4wNiAwIDAgMSA3LjEwMyAwIDkuMTUgOS4xNSAwIDAgMSAyLjk5NSAyLjA2MyA5LjMgOS4zIDAgMCAxIDEuOTY3IDMuMDc3IDkuMzQgOS4zNCAwIDAgMS0yLjEyNSAxMC4wMDMgOS4xIDkuMSAwIDAgMS02LjM4OCAyLjYzIDkuMSA5LjEgMCAwIDEtNi4zOS0yLjYzIDkuMyA5LjMgMCAwIDEtMi43NTUtNi4zOTUiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==",url:"https://mantine.dev",tagline:"A fully featured React components library.",repo:"mantinedev/mantine",links:[{label:"Docs",href:"https://mantine.dev/getting-started/"}]},{category:"Auth",label:"Auth.js",flag:"authjs",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0iIzg4ODg4OCIgZD0ibTUwLjAyNyAxMC40NTlsLS4wMTgtLjAzMmwtMzMuNjA2IDE5LjQwNGwuMDc2LjEzMnYyMi44OTNoLjAxNGMuMjg2IDE5LjExMSAxNC44NTkgMzQuNzU1IDMzLjUxOSAzNi43MThjMTguNjYtMS45NjIgMzMuMjM0LTE3LjYwNiAzMy41MTktMzYuNzE4VjI5Ljk1M2wuMDY2LS4xMTRsLTMzLjU3LTE5LjM4em0tLjAxNSA2OS4wOTdWNTEuNjc3SDI2LjQzNVYzNS42NTFMNTAuMDEyIDIyLjA0djI5LjYzN2gyMy41NjN2MS4xNzloLjAxN2MtLjI3OCAxMy41OTMtMTAuNDM5IDI0Ljc5OC0yMy41OCAyNi43eiIvPjwvc3ZnPg==",url:"https://authjs.dev",spectrum:"bleeding_edge",tagline:"Authentication for the Web",repo:"nextauthjs/next-auth",links:[{label:"Getting started",href:"https://authjs.dev/getting-started/introduction"},{label:"API",href:"https://authjs.dev/reference"}]},{category:"Auth",label:"Auth0",flag:"auth0",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjllbSIgaGVpZ2h0PSIxZW0iIHZpZXdCb3g9IjAgMCAyNTYgMjg1Ij48cGF0aCBkPSJNMjIwLjQxMiAwaC05Mi40MTVsMjguNTYyIDg5LjAwNmg5Mi40MTZsLTc0Ljc3IDUzLjA3N2wyOC41NyA4OS41MTFjNDguMTI4LTM1LjA2IDYzLjg1NC04OC4xMiA0Ni4yMDgtMTQyLjU4OEwyMjAuNDEzIDBaTTcuMDE4IDg5LjAwNmg5Mi40MTZMMTI3Ljk5NyAwSDM1LjU4OUw3LjAxOSA4OS4wMDZjLTE3LjY1NSA1NC40NjgtMS45MiAxMDcuNTI5IDQ2LjIwNyAxNDIuNTg4bDI4LjU2My04OS41MWwtNzQuNzctNTMuMDc4Wm00Ni4yMDggMTQyLjU4OGw3NC43NyA1Mi45N2w3NC43Ny01Mi45N2wtNzQuNzctNTMuODQ3bC03NC43NyA1My44NDdaIi8+PC9zdmc+",url:"https://auth0.com",tagline:"Secure access for everyone. But not just anyone.",repo:"nextauthjs/next-auth",links:[{label:"Auth0 doc",href:"https://auth0.com/docs"},{label:"Auth.js auth0 provider doc",href:"https://authjs.dev/reference/core/providers/auth0"}]},{category:"Data fetching",label:"Telefunc",flag:"telefunc",image:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDcuMDIiIGhlaWdodD0iNDcuMDIiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQ3LjAyIDQ3LjAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGNpcmNsZSBjeD0iMjMuNTEiIGN5PSIyMy41MSIgcj0iMjEuOTUiIGZpbGw9IiNmN2UwMTgiIHN0cm9rZT0iIzMxMzQzZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzLjEyIiBzdHlsZT0icGFpbnQtb3JkZXI6bm9ybWFsIi8+CiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCguOTU1MDMgMCAwIC45NTUwMyAuMzQ0MDUgMS4wMTE3KSIgZmlsbD0iIzMxMzQzZCIgc2hhcGUtcmVuZGVyaW5nPSJhdXRvIj4KICA8cGF0aCBkPSJtMjEuODA0IDEzLjkxMyA2LjQzMzMgOS42NDU4LTYuNDMzMyA5LjY0NDFoNS44ODI0bDMuNDkzLTUuMjM1MiAzLjQ5MTMgNS4yMzUyaDUuODgyNGwtMTIuODY3LTE5LjI5eiIgY29sb3I9IiMwMDAwMDAiIGNvbG9yLXJlbmRlcmluZz0iYXV0byIgZG9taW5hbnQtYmFzZWxpbmU9ImF1dG8iIGltYWdlLXJlbmRlcmluZz0iYXV0byIgc29saWQtY29sb3I9IiMwMDAwMDAiIHN0eWxlPSJmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1wb3NpdGlvbjpub3JtYWw7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO3NoYXBlLXBhZGRpbmc6MDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWluZGVudDowO3RleHQtb3JpZW50YXRpb246bWl4ZWQ7dGV4dC10cmFuc2Zvcm06bm9uZTt3aGl0ZS1zcGFjZTpub3JtYWwiLz4KICA8cGF0aCBkPSJtMTQuODgyIDEzLjkxMyA2LjQzMzMgOS42NDU4LTYuNDMzMyA5LjY0NDFoNS44ODI0YzIuMDg1NS0zLjI5MTEgNC4wNDUyLTYuMjk1OSA2LjIyMjEtOS45NjE4bC02LjIyMjEtOS4zMjgxeiIgY29sb3I9IiMwMDAwMDAiIGNvbG9yLXJlbmRlcmluZz0iYXV0byIgZG9taW5hbnQtYmFzZWxpbmU9ImF1dG8iIGZpbGwtb3BhY2l0eT0iLjU3MzE1IiBpbWFnZS1yZW5kZXJpbmc9ImF1dG8iIHNvbGlkLWNvbG9yPSIjMDAwMDAwIiBzdHlsZT0iZm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhbnQtYWx0ZXJuYXRlczpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1udW1lcmljOm5vcm1hbDtmb250LXZhcmlhbnQtcG9zaXRpb246bm9ybWFsO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1pbmRlbnQ6MDt0ZXh0LW9yaWVudGF0aW9uOm1peGVkO3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsIi8+CiAgPHBhdGggZD0ibTcuOTYwNCAxMy45MTMgNi40MzMzIDkuNjQ1OC02LjQzMzMgOS42NDQxaDUuODgyNGMyLjA4NTUtMy4yOTExIDQuMDQ1Mi02LjI5NTkgNi4yMjIxLTkuOTYxOGwtNi4yMjIxLTkuMzI4MXoiIGNvbG9yPSIjMDAwMDAwIiBjb2xvci1yZW5kZXJpbmc9ImF1dG8iIGRvbWluYW50LWJhc2VsaW5lPSJhdXRvIiBmaWxsLW9wYWNpdHk9Ii4yNzY1NSIgaW1hZ2UtcmVuZGVyaW5nPSJhdXRvIiBzb2xpZC1jb2xvcj0iIzAwMDAwMCIgc3R5bGU9ImZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYW50LWFsdGVybmF0ZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7c2hhcGUtcGFkZGluZzowO3RleHQtZGVjb3JhdGlvbi1jb2xvcjojMDAwMDAwO3RleHQtZGVjb3JhdGlvbi1saW5lOm5vbmU7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtaW5kZW50OjA7dGV4dC1vcmllbnRhdGlvbjptaXhlZDt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5vcm1hbCIvPgogPC9nPgo8L3N2Zz4K",url:"https://telefunc.com",tagline:"Remote Functions. Instead of API",repo:"brillout/telefunc",spectrum:"bleeding_edge"},{category:"Data fetching",label:"tRPC",flag:"trpc",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjg0ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDMwNSI+PHBhdGggZmlsbD0iIzM5OENDQiIgZD0iTTI4LjU3IDI0NC40ODRoMjEuOTgydjExLjE1M0gyOC41NzF2MjUuMzA4YTE2Ljg4IDE2Ljg4IDAgMCAwIC43MzggNS4zNjRhOC4xNTIgOC4xNTIgMCAwIDAgMi4wODggMy40YTcuODE1IDcuODE1IDAgMCAwIDMuMyAxLjg1MWMxLjIzNS4zMyAyLjUwNC41MSAzLjc4LjUzNmwuNTQ3LjAwMmMxLjE1IDAgMi4zMzggMCAzLjU2My0uMTYybC43MjctLjA5bDEuNDA5LS4xNmMuNDYxLS4wNTQuOTE1LS4xMTMgMS4zNjYtLjE4OGwuNjYtLjEwNWwxLjI0LS4xODRjLjQwMS0uMDYuNzktLjEyNCAxLjE3NS0uMTk5bC45MTgtLjE4NGwuNDI3LS4wOWwuNzktLjE3NmwuMzY2LS4wODdsMS40NzYgMTAuMzlhMTguNTA1IDE4LjUwNSAwIDAgMS0zLjc1MiAxLjZhMzUuOSAzNS45IDAgMCAxLTQuNTEzIDEuMTEzYy0xLjYuMy0zLjI2NC41MjYtNS4wMDIuNjg4YTU0LjI4IDU0LjI4IDAgMCAxLTUuMDg5LjIzOGEyOC4zOTYgMjguMzk2IDAgMCAxLTguNzUyLTEuMjVhMTYuODMgMTYuODMgMCAwIDEtNi43MjctNC4wMDJhMTcuMzQzIDE3LjM0MyAwIDAgMS00LjMwMi02Ljg1MmEyOS4xOTYgMjkuMTk2IDAgMCAxLTEuNTI1LTEwLjAwM3YtMjYuNzU4SDB2LTExLjE1M2gxMy40NDF2LTE0LjQxN2gxNS4xM3YxNC40MTdabTUzLjg4IDI5LjI3MXYyOS42MDlINjcuMTU2di03OS4yMzZoMjYuNjJhNDIuNTIgNDIuNTIgMCAwIDEgMTEuOTE2IDEuNTVhMjYuNjcgMjYuNjcgMCAwIDEgOS4xNCA0LjU1MmExOS44OCAxOS44OCAwIDAgMSA1Ljc5IDcuNTAyYTI0LjU3IDI0LjU3IDAgMCAxIDIuMDUgMTAuMzRhMjYuNzIgMjYuNzIgMCAwIDEtMS4wMTIgNy42NGEyMC4zMzEgMjAuMzMxIDAgMCAxLTcuNDAzIDEwLjgwNGEzMC4wOTYgMzAuMDk2IDAgMCAxLTUuOTAxIDMuNDg4bDE3LjAzIDMyLjY5N3YuNzEzaC0xNi40NDNMOTQuMDQgMjczLjc1NUg4Mi40NVptLjAxMi0xMi40MjhoMTEuMzE1YTE3Ljg2OCAxNy44NjggMCAwIDAgNi4yNTItMWExMC44NjYgMTAuODY2IDAgMCAwIDQuMzktMi45MTRhMTAuNTI4IDEwLjUyOCAwIDAgMCAyLjExMi0zLjU4OWMuNDQ4LTEuMzU4LjY5Mi0yLjc3NS43MjMtNC4yMDNsLjAwMi0uNTM2YTE1LjEwNCAxNS4xMDQgMCAwIDAtLjk1LTUuNTc2YTkuODY1IDkuODY1IDAgMCAwLTIuODUtNC4wMDFhMTIuMDY2IDEyLjA2NiAwIDAgMC00LjE0LTIuMTc2YTE5LjE0MyAxOS4xNDMgMCAwIDAtNC45Ny0uNzZsLTExLjg4NC0uMDAzdjI0Ljc1OFptNjcuODQ1IDQyLjAzN0gxMzUuMDR2LTc5LjIzNmgyNy4wOTVhMzQuNDEgMzQuNDEgMCAwIDEgMTEuNzAzIDEuODc2YTI2LjYzMyAyNi42MzMgMCAwIDEgOC45MjggNS4yMDFhMjMuMzA3IDIzLjMwNyAwIDAgMSA1LjYyNyA4LjA1M2EyNi4zNTggMjYuMzU4IDAgMCAxIDEuOTg4IDkuNzIzdi42NjdhMjQuMTcgMjQuMTcgMCAwIDEtMS45ODggOS44NTNhMjIuNTA3IDIyLjUwNyAwIDAgMS01LjYyNyA3Ljc3N2EyNi4zNyAyNi4zNyAwIDAgMS04Ljk2NSA1LjE3N2EzNC43MjMgMzQuNzIzIDAgMCAxLTExLjcwNCAxLjg1aC0xMS44MDNsLjAxMyAyOS4wNTlabTAtNDEuNDYyaDExLjgwM2ExNS4wMDQgMTUuMDA0IDAgMCAwIDUuNjY0LS45ODhhMTEuNTUzIDExLjU1MyAwIDAgMCA0LjAyNi0yLjY2M2ExMS4xNzggMTEuMTc4IDAgMCAwIDIuMzY0LTMuODg5Yy41My0xLjQ3Ni44LTMuMDMzLjgtNC42MDFhMTYuMzY3IDE2LjM2NyAwIDAgMC0uOC01LjE2NGExMS45NjYgMTEuOTY2IDAgMCAwLTIuMzY0LTQuMjAyYTExLjU5IDExLjU5IDAgMCAwLTQuMDI2LTIuODI1YTE0LjI2NyAxNC4yNjcgMCAwIDAtNS42NjQtMS4wMzhoLTExLjgwM3YyNS4zN1ptMTAzLjA0MiAyNy40MmEyNS4zMDcgMjUuMzA3IDAgMCAxLTUuOTAyIDguMTY1YTI2LjA0NSAyNi4wNDUgMCAwIDEtOC44MTUgNS4yMDJhMzMuNjQ3IDMzLjY0NyAwIDAgMS0xMC41NTggMS44MTRsLS43Ny0uMDAxYTMwLjc1OSAzMC43NTkgMCAwIDEtOS4wNTMtMS4yNWEyNS4zNDUgMjUuMzQ1IDAgMCAxLTcuNTAyLTMuNjc3YTI1LjcwNyAyNS43MDcgMCAwIDEtNS40MTQtNS4zODlhMzMuNjcyIDMzLjY3MiAwIDAgMS00LjAwMS02Ljk2NGE0MS41NzUgNDEuNTc1IDAgMCAxLTIuNDEzLTguMzc4YTUzLjQwOCA1My40MDggMCAwIDEtLjg1MS05LjY5di0xMC42NjZhNTMuNDMgNTMuNDMgMCAwIDEgLjc2My05LjExNWEzOS40MTEgMzkuNDExIDAgMCAxIDEuOTUtNy4xNjFsLjMzOC0uODY2YTMwLjQwOSAzMC40MDkgMCAwIDEgNC41NzctOC4wNTNhMjkuMjcxIDI5LjI3MSAwIDAgMSA2LjQxNC01Ljk3NmEyNi4xNTggMjYuMTU4IDAgMCAxIDcuMDUyLTMuMTg5YTI5LjEwOCAyOS4xMDggMCAwIDEgNy40OC0xLjExbC43Ni0uMDAzYTMzLjc2IDMzLjc2IDAgMCAxIDExLjYxNiAxLjg1YTIzLjc1NyAyMy43NTcgMCAwIDEgMTQuMzQyIDEzLjY1NWEzNy40MTEgMzcuNDExIDAgMCAxIDIuNjEzIDExLjE1M2gtMTUuMjNjLS4wOS0yLjEyLS40NDItNC4yMi0xLjA1LTYuMjUyYTEyLjM1NCAxMi4zNTQgMCAwIDAtMi40MjUtNC40NjNhMTAuNDE2IDEwLjQxNiAwIDAgMC00LjA1Mi0yLjYzOWExNi43MyAxNi43MyAwIDAgMC01LjgwMS0uOWExNC4yNDIgMTQuMjQyIDAgMCAwLTMuMzUxLjM4OGMtMSAuMjQzLTEuOTU5LjYyNi0yLjg1MSAxLjEzN2ExMS4zMjggMTEuMzI4IDAgMCAwLTMuNzUxIDMuNzUyYTIxLjk2OSAyMS45NjkgMCAwIDAtMi41MDEgNS42MzlhMzQuMDEgMzQuMDEgMCAwIDAtMS4wMjUgNS41MjZhNTguNzY3IDU4Ljc2NyAwIDAgMC0uMzI1IDYuNTAydjEwLjc2NmE2MS4yOCA2MS4yOCAwIDAgMCAuNTEyIDguNDY1YTI4LjkyIDI4LjkyIDAgMCAwIDEuNiA2LjUwMmExNS45OTIgMTUuOTkyIDAgMCAwIDEuODI2IDMuMzc2Yy42NjcuOTYgMS40ODcgMS44MDQgMi40MjYgMi41YTEwLjAwMyAxMC4wMDMgMCAwIDAgMy4yODggMS42YTE0LjU2IDE0LjU2IDAgMCAwIDQuMDUyLjUyNmExNy45MTggMTcuOTE4IDAgMCAwIDUuMzg5LS43NjNhMTAuMzAzIDEwLjMwMyAwIDAgMCA0LjA4OC0yLjRhMTEuMjUzIDExLjI1MyAwIDAgMCAyLjY2NC00LjE5YTIwLjk2OSAyMC45NjkgMCAwIDAgMS4yNS02LjE1SDI1NmEzMC4zOTYgMzAuMzk2IDAgMCAxLTIuNjUgMTAuNzI3Wk0xODYuMzggOTIuNDAybDM4LjQ4NiAyMi4yMnY0NC40NjJsLTM4LjQ4NiAyMi4yMmwtMTcuMDg1LTkuODgxbC00MS41NDUgMjMuOTg0bC00MS4yOTYtMjMuODQ3bC0xNi44NDYgOS43NDNsLTM4LjQ4Ni0yMi4yNTZWMTE0LjYybDM4LjQ4Ni0yMi4yMTlsMzguNDg2IDIyLjIydjQ0LjQyNWwtMTEuNjQzIDYuNzMzbDMxLjI5OSAxOC4wNzRsMzEuNTQ4LTE4LjIxMmwtMTEuNDA1LTYuNTk1VjExNC42MmwzOC40ODctMjIuMjE5Wk0xNTcuODk2IDEyNi4ydjI3LjEybDIzLjQ4MiAxMy41NTV2LTI3LjEyTDE1Ny44OTYgMTI2LjJabTU2Ljk2Ny0uMDM3bC0yMy40ODIgMTMuNTU0djI3LjE1OGwyMy40ODItMTMuNTkydi0yNy4xMlptLTE3My43MzggMHYyNy4xMmwyMy40ODEgMTMuNTU0di0yNy4xMmwtMjMuNDgxLTEzLjU1NFptNTYuOTY2IDBMNzQuNjEgMTM5LjcxNnYyNy4xMmwyMy40ODItMTMuNTU0di0yNy4xMlptODguMjg5LTIyLjE4MmwtMjMuNDgyIDEzLjU1NGwyMy40ODIgMTMuNTY3bDIzLjQ4MS0xMy41NjdsLTIzLjQ4MS0xMy41NTRabS0xMTYuNzcyLS4wMzdsLTIzLjQ4MiAxMy41OTFsMjMuNDgyIDEzLjUzbDIzLjQ4Mi0xMy41M2wtMjMuNDgyLTEzLjU5MVptMTkuMTQzLTY4LjkydjExLjU0bC0zNS42MSAyMC41N3YzNC43NzJsLTEwLjAwMyA1Ljc3N1Y2MS4zNTVMODguNzUgMzUuMDIzWk0xMjcuMjM3IDBsMzguNTEyIDIyLjIxOXYxMi4yMTlsNDYuNjEzIDI2LjkxN3Y0Ni4wMzlsLTEwLjAwMy01Ljc3N1Y2Ny4xMzJsLTM2LjYxLTIxLjE0MXYyMC42NjZsLTM4LjQ4NyAyMi4yMTlsLTM4LjQ4Ni0yMi4yMTlWMjIuMjE5TDEyNy4yMzcgMFpNOTguNzggMzMuNzZ2MjcuMTJsMjMuNDU3IDEzLjU1NFY0Ny4zMjZMOTguNzc5IDMzLjc2Wm01Ni45NDIgMGwtMjMuNDU3IDEzLjU2NnYyNy4wOTZMMTU1LjcyIDYwLjg4VjMzLjc2Wm0tMjguNDg0LTIyLjIwN0wxMDMuNzggMjUuMTA3bDIzLjQ1NyAxMy41NTRsMjMuNDgyLTEzLjU1NGwtMjMuNDgyLTEzLjU1NFoiLz48L3N2Zz4=",url:"https://trpc.io",spectrum:"beaten_path",tagline:"End-to-end typesafe APIs made easy",repo:"trpc/trpc",links:[{label:"Getting started",href:"https://trpc.io/docs/getting-started"},{label:"Docs",href:"https://trpc.io/docs"}]},{category:"Data fetching",label:"ts-rest",flag:"ts-rest",image:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTE2JyBoZWlnaHQ9JzExNScgdmlld0JveD0nMCAwIDExNiAxMTUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGcgY2xpcC1wYXRoPSd1cmwoI2NsaXAwXzEzXzIwKSc+PHJlY3Qgd2lkdGg9JzExNicgaGVpZ2h0PScxMTYnIHJ4PScyNicgZmlsbD0nIzkzMzNFQScvPjxwYXRoIGQ9J002Mi40ODcgNTkuOTU2Nkw5NS4xMTY2IDYwLjEyNjJMOTUuMTQ5MyA1My44MjEyTDYyLjUxOTggNTMuNjUxN0w2Mi40ODcgNTkuOTU2NlpNNjIuNTg2MyA0MC44NDY5TDk1LjIxNTkgNDEuMDE2NEw5NS4yNDkzIDM0LjU4MTVMNjIuNjE5NyAzNC40MTJMNjIuNTg2MyA0MC44NDY5Wk02Mi40MTY4IDczLjQ3NjVMOTUuMDQ2MyA3My42NDZMOTUuMDEyOSA4MC4wODA5TDYyLjM4MzMgNzkuOTExNEw2Mi40MTY4IDczLjQ3NjVaJyBmaWxsPSd3aGl0ZScvPjxwYXRoIGQ9J000Ni4wNiA2NC45MkM1Mi4zIDYyLjU4IDU1Ljg3NSA1Ny41MSA1NS44NzUgNTAuNTU1QzU1Ljg3NSA0MC41NDUgNDguNTk1IDM0LjUgMzYuNyAzNC41SDE4LjVWNDAuOTM1SDM2LjQ0QzQ0LjMwNSA0MC45MzUgNDguNCA0NC40NDUgNDguNCA1MC41NTVDNDguNCA1Ni42IDQ0LjMwNSA2MC4xNzUgMzYuNDQgNjAuMTc1SDE4LjVWODBIMjUuOTFWNjYuNDhIMzYuN0MzNy40OCA2Ni40OCAzOC4zMjUgNjYuNDggMzkuMDQgNjYuNDE1TDQ4LjU5NSA4MEg1Ni42NTVMNDYuMDYgNjQuOTJaJyBmaWxsPSd3aGl0ZScvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9J2NsaXAwXzEzXzIwJz48cmVjdCB3aWR0aD0nMTE2JyBoZWlnaHQ9JzExNScgZmlsbD0nd2hpdGUnLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=",url:"https://ts-rest.com",tagline:"Incrementally adoptable type-safety for your new and existing APIs",repo:"ts-rest/ts-rest",links:[{label:"Quickstart",href:"https://ts-rest.com/docs/quickstart"},{label:"Docs",href:"https://ts-rest.com/docs/intro"}]},{category:"Server",label:"Hono",flag:"hono",image:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgd2lkdGg9IjUwMHB4IiBoZWlnaHQ9IjUwMHB4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjAuOTkzIiBmaWxsPSIjZmY1YjExIiBkPSJNIDI1Ny41LDAuNSBDIDI1OC44MjIsMC4zMzAwMzQgMjU5Ljk4OSwwLjY2MzM2OCAyNjEsMS41QyAyOTguMTkzLDQ2Ljg5MzYgMzMzLjE5Myw5My44OTM2IDM2NiwxNDIuNUMgMzkwLjI4OSwxNzkuMDY5IDQxMC45NTUsMjE3LjczNSA0MjgsMjU4LjVDIDQ1NS4yMjEsMzMxLjEwNCA0NDEuMDU0LDM5NC4yNzEgMzg1LjUsNDQ4QyAzMzYuODkyLDQ4OS4wODIgMjgwLjg5Miw1MDUuMDgyIDIxNy41LDQ5NkMgMTQxLjcyNyw0ODAuNTUxIDkwLjIyNjUsNDM2LjcxOCA2MywzNjQuNUMgNTUuOTA4MSwzNDAuOTg5IDUzLjU3NDgsMzE2Ljk4OSA1NiwyOTIuNUMgNjAuMDM4NCwyNTAuMzQ3IDcwLjAzODQsMjA5LjY4IDg2LDE3MC41QyA5Mi42NTA5LDE1NC41MTQgMTAxLjMxOCwxMzkuODQ4IDExMiwxMjYuNUMgMTIwLjcxNSwxMzYuODggMTI5LjA0OCwxNDcuNTQ3IDEzNywxNTguNUMgMTQwLjY4MiwxNjIuMzQ5IDE0NC41MTUsMTY2LjAxNiAxNDguNSwxNjkuNUMgMTc4LjkxNywxMDkuMTM2IDIxNS4yNTEsNTIuODAyOCAyNTcuNSwwLjUgWiIvPjwvZz4KPGc+PHBhdGggc3R5bGU9Im9wYWNpdHk6MSIgZmlsbD0iI2ZmOTc1OCIgZD0iTSAyNTAuNSw4MS41IEMgMjg3LjE5MywxMjQuMDYgMzIwLjM2LDE2OS4zOTMgMzUwLDIxNy41QyAzNTkuMjkzLDIzMy40MTggMzY2Ljk1OSwyNTAuMDg1IDM3MywyNjcuNUMgMzg1LjU4NCwzMTcuMDA4IDM3Mi4wODQsMzU3Ljg0MiAzMzIuNSwzOTBDIDI5NC4yMTYsNDE2LjkzOSAyNTIuMjE2LDQyNC45MzkgMjA2LjUsNDE0QyAxNTcuMjAxLDM5OC43MDIgMTI4LjcwMSwzNjUuNTM1IDEyMSwzMTQuNUMgMTE5LjEzMSwyOTguNDA5IDEyMC43OTgsMjgyLjc0MiAxMjYsMjY3LjVDIDEzMy40MTgsMjQ4LjY2MyAxNDIuNDE4LDIzMC42NjMgMTUzLDIxMy41QyAxNjMsMTk4LjgzMyAxNzMsMTg0LjE2NyAxODMsMTY5LjVDIDIwNS43MTYsMTQwLjI5IDIyOC4yMTYsMTEwLjk1NyAyNTAuNSw4MS41IFoiLz48L2c+Cjwvc3ZnPgo=",url:"https://hono.dev",tagline:"Fast, lightweight, built on web standards. Support for any JavaScript runtime.",repo:"honojs/hono",links:[{label:"Getting started",href:"https://hono.dev/top"},{label:"API",href:"https://hono.dev/api/hono"}]},{category:"Server",label:"h3",flag:"h3",image:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjQyIDEzLjUxQzE3LjQyIDEzLjUxIDI0LjY2MjUgMS45MDc0OCAyNC44Mjc1IDEuNjE3NDhDMjQuOTkyNSAxLjMyNzQ4IDI1LjAyNzUgMC43OTQ5ODMgMjQuNTcyNSAwLjc5NDk4M0MyNC4xMTc1IDAuNzk0OTgzIDEyLjgzNSAxMi4zMTI1IDEyLjgzNSAxMi4zMTI1TDQuODIyNSAxNy4wNjI1QzQuODIyNSAxNy4wNjI1IDQuMjg1IDE3LjM5MjUgNC4zNjc1IDE3LjgwNUM0LjQ1IDE4LjIxNzUgNC44MSAxOC4yMzUgNC45NzUgMTguMjM1QzUuMTQgMTguMjM1IDEzLjY4NzUgMTguMTkgMTQuMTg1IDE4LjE3NUMxNC44MDI1IDE4LjE1NzUgMTQuNjUgMTkuMDM1IDE0LjY1IDE5LjAzNUw5LjI0IDI3LjU0QzkuMjQgMjcuNTQgNi44Nzc1IDMwLjgxIDYuODc3NSAzMS4wMzI1QzYuODc3NSAzMS4zNiA3LjI3MjUgMzEuNTIyNSA3LjY0IDMxLjMwMjVDNy45MjUgMzEuMTMyNSAyNi4zNSAxNS41MiAyNy4xNjI1IDE0LjQ0NzVDMjcuMzgyNSAxNC4xNTUgMjcuNDk1IDEzLjM4NSAyNi41ODc1IDEzLjM4NUMyNS42OCAxMy4zODUgMTguNDUyNSAxNS40OSAxOC40NTI1IDE1LjQ5TDE3LjQyIDEzLjUxWiIgZmlsbD0iI0ZFQjgwNCIvPgo8cGF0aCBkPSJNMTYuMTUyNSAxMi41ODc1QzE1LjkzIDEyLjg5MjUgMTUuODcgMTMuNDAyNSAxNi4zNSAxMy40MzI1QzE2LjgyNzUgMTMuNDYgMjYuNTg3NSAxMy4zODc1IDI2LjU4NzUgMTMuMzg3NUMyNi41ODc1IDEzLjM4NzUgMTkuNjE1IDE5Ljc5NSAxNy41MDUgMjEuNzA3NUMxNS4zOTUgMjMuNjIgOC40MDc1MSAyOS44MTUgNy45Mzc1MSAzMC4yNTI1QzcuNDc3NTEgMzAuNjgyNSA3LjA2MDAxIDMxLjA3NzUgNi44OTAwMSAzMS4wMjI1QzYuODYyNTEgMzEuMDE1IDYuODI3NTEgMzAuODY3NSA3LjQ4NTAxIDI5Ljc4NUM4LjA4NTAxIDI4Ljc5NzUgMTMuODQ1IDE5LjE0NSAxNC4wNyAxOC43OEMxNC4yOTUgMTguNDE1IDE0LjQ5MjUgMTguMTA1IDE0LjYwNSAxNy45MzVDMTQuNzE3NSAxNy43NjUgMTUuMDgyNSAxNi44Mzc1IDE0LjMyMjUgMTYuODM3NUMxMy41NjI1IDE2LjgzNzUgNC44MjI1MSAxNy4wNjI1IDQuODIyNTEgMTcuMDYyNUM0LjgyMjUxIDE3LjA2MjUgMTAuODYgMTEuOTQgMTIuNjA1IDEwLjU2MjVDMTQuMzUgOS4xODQ5OCAyNC4yNCAwLjc5NDk4MyAyNC41NzI1IDAuNzk0OTgzQzI0LjkwNSAwLjc5NDk4MyAxNi4zNzc1IDEyLjI4IDE2LjE1MjUgMTIuNTg3NVoiIGZpbGw9IiNGRkM5MjciLz4KPHBhdGggZD0iTTE1Ljg2MjUgMTcuNjg3NUMxNi4zMTI1IDE3LjA0IDE2Ljc1NSAxNi45OTI1IDE3LjAyMjUgMTcuMTUyNUMxNy4zNjc1IDE3LjM2IDE3LjQwMjUgMTcuODM3NSAxNi45Njc1IDE4LjQxNUMxNi4yODI1IDE5LjMzIDExLjI0NzUgMjYuMDY3NSAxMS4wNTUgMjYuMzA1QzEwLjY5IDI2Ljc1NSAxMC4xNTI1IDI2LjU1NzUgMTAuNTAyNSAyNS45MDVDMTAuNzk1IDI1LjM2NSAxNS4zOTc1IDE4LjM1NzUgMTUuODYyNSAxNy42ODc1Wk04LjcwNzQ5IDE2LjM3MjVDNy44NDQ5OSAxNi45NSA3LjA0MjQ5IDE2LjA4NzUgNy42MTk5OSAxNS40NTVDOC4xOTc0OSAxNC44MjI1IDExLjk4NzUgMTEuNjY3NSAxMi43NTUgMTEuMDE1QzEzLjUyMjUgMTAuMzYyNSAxOC4wMDI1IDYuNDY1IDE4LjM1IDYuMTg1QzE4LjgxIDUuODE1IDE5LjA5NSA2LjE5IDE4LjgwNSA2LjU3NUMxOC41MTc1IDYuOTYgMTUuMzUgMTAuMTI1IDEzLjk1MjUgMTEuNDFDMTIuODcyNSAxMi40MDUgOS41Mjc0OSAxNS44MjI1IDguNzA3NDkgMTYuMzcyNVoiIGZpbGw9IiNGRkU1NjciLz4KPC9zdmc+",url:"https://github.com/unjs/h3",tagline:"Minimal H(TTP) framework built for high performance and portability",repo:"unjs/h3"},{category:"Server",label:"Express",flag:"express",url:"https://expressjs.com",spectrum:"beaten_path",tagline:"Fast, unopinionated, minimalist web framework for Node.js",repo:"expressjs/express",links:[{label:"Getting started",href:"https://expressjs.com/en/starter/installing.html"},{label:"API",href:"https://expressjs.com/en/4x/api.html"}]},{category:"Server",label:"Fastify",flag:"fastify",image:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nODQ5JyBoZWlnaHQ9JzU0NScgdmlld0JveD0nMCAwIDg0OSA1NDUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTTgyMi4xOCA3Ny4zMkw4NDguOSA4LjExTDg0Ny43NSAzLjgzTDU4My40MSA3My40OEM2MTEuNTUgMzIuNyA2MDEuOSAwIDYwMS45IDBDNjAxLjkgMCA1MTcuNDkgNTMuOTEgNDUzLjY0IDUyLjQ5QzM4OS43OSA1MS4wNyAzNjkuMjMgMzQuMDUgMjcxLjMzIDY1LjI2QzE3My40MyA5Ni40NyAxNDUuNzcgMTkyLjI2IDExNy40IDIxMi44MUM4OS4wMyAyMzMuMzYgMCAzMDAuNDIgMCAzMDAuNDJMMC4xOTAwMDIgMzAxLjYyTDgwLjQ1IDI3Ni4wNkM4MC40NSAyNzYuMDYgNTguNDUgMjk2LjgxIDExLjY4IDM1OS44M0MxMS42OCAzNTkuODMgMTAuODYgMzU5LjA4IDkuNSAzNTcuODNMOS41NyAzNTguMjZDOS41NyAzNTguMjYgNDcuMTcgNDE1LjcyIDg0LjA2IDQwNS4wOEM4OC4zNzQ0IDQwMy43MzkgOTIuNTU1NSA0MDIuMDAxIDk2LjU1IDM5OS44OUMxMTEuNCA0MDguMTYgMTMwLjc5IDQxNi4yOSAxNTIuMiA0MTguNTNDMTQyLjU2OCA0MDcuMTIgMTMzLjY4OSAzOTUuMDk0IDEyNS42MiAzODIuNTNMMTM1LjYyIDM3Ni4wMkwxMzQuMDYgMzc3LjE0TDE2NC42MyAzODguMzZMMTYxLjIzIDM1OS42TDE2MS41MyAzNTkuNDFMMTkxLjUzIDM3MC40MUwxODcuNzkgMzQ0LjI4QzE5MS41OSAzNDIuMjggMTk1LjQgMzQwLjQxIDE5OS4xOSAzMzguNjVMMjMwLjU1IDIyMC4yNkwzNjAuMDEgMTMxLjk0TDM0OS43MyAxNTcuODNDMzIzLjQ3IDIyMi4zOSAyNzQuMTcgMjM3LjYgMjc0LjE3IDIzNy42TDI1My42IDI0NS40QzIzOC4yOSAyNjMuNDkgMjMxLjg2IDI2Ny45NCAyMjYuNiAzMjguNjVDMjM4LjkzIDMyNS41NCAyNTAuNzIgMzI0LjgyIDI2MS40IDMyNy42NUMzMTYuNzMgMzQyLjU1IDMzNS44OSA0MDkuMjMgMzIwLjk5IDQyNy42NUMzMTcuMjYgNDMyLjI3IDMwOC4zOCA0NDAuMTcgMjk3LjE3IDQ0OS40MkgyNzQuNzJMMjc0LjQzIDQ2Ny42MUwyNzIuMTIgNDY5LjQxSDI0OS4yOEwyNDguOTkgNDg3LjE2QzI0Ni45OSA0ODguNyAyNDQuOTkgNDkwLjIxIDI0Mi45OSA0OTEuNjhDMjIxLjUyIDQ5Mi4xMyAxOTQuMzQgNDczLjQxIDE5NC4zNCA0NzMuNDFDMTk0LjM0IDQ5MC40MSAyMDguNTMgNTE2LjY4IDIwOC41MyA1MTYuNjhMMjExLjA0IDUxNS40NkwyMDguODkgNTE3LjAzQzIwOC44OSA1MTcuMDMgMjY2LjM1IDU1NS4zNCAzMDIuNTIgNTQxLjE1QzMzNC43MiA1MjguNiA0MTcuOTkgNDYyLjk3IDQ4OS44OCA0MzEuOUw3MDcuNDIgMzc0LjZMNzM2LjExIDMwMC4yOUw1NzAuMzMgMzQzLjk1VjI3Ny4xOUw3NjQuOCAyMjUuOTVMNzkzLjQ5IDE1MS42TDU3MC4zMyAyMTAuNFYxNDMuNjhMODIyLjE4IDc3LjMyWk00MjcuMzYgMjE4Ljc5TDQ3OC45OCAyMDUuMTlMNDc5LjY3IDIwNy43OEw0NjMuNTUgMjQ5LjVMNDEwLjA3IDI2My42TDQyNy4zNiAyMTguNzlaTTQ0NS4xOCAzMDguMDlMMzkxLjY4IDMyMi4xOUw0MDguOTcgMjc3LjM4TDQ2MC41NSAyNjMuNzhMNDYxLjI0IDI2Ni4zN0w0NDUuMTggMzA4LjA5Wk01MTQuODkgMjkzLjA5TDQ2MS4zOCAzMDcuMTlMNDc4LjY4IDI2Mi4zOUw1MzAuMyAyNDguNzhMNTMwLjk5IDI1MS4zN0w1MTQuODkgMjkzLjA5WicgZmlsbD0nIzIxNUZGNicvPjwvc3ZnPgo=",url:"https://fastify.dev",tagline:"Fast and low overhead web framework, for Node.js",repo:"fastify/fastify",links:[{label:"Getting started",href:"https://fastify.dev/docs/latest/Guides/Getting-Started/"},{label:"API",href:"https://fastify.dev/docs/latest/Reference/"}]},{category:"Database",label:"Drizzle",flag:"drizzle",image:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgd2lkdGg9IjI4MHB4IiBoZWlnaHQ9IjI4MHB4IiBzdHlsZT0ic2hhcGUtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbjsgdGV4dC1yZW5kZXJpbmc6Z2VvbWV0cmljUHJlY2lzaW9uOyBpbWFnZS1yZW5kZXJpbmc6b3B0aW1pemVRdWFsaXR5OyBmaWxsLXJ1bGU6ZXZlbm9kZDsgY2xpcC1ydWxlOmV2ZW5vZGQiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KPGc+PHBhdGggc3R5bGU9Im9wYWNpdHk6MSIgZmlsbD0iIzAwMDAwMCIgZD0iTSAtMC41LC0wLjUgQyA5Mi44MzMzLC0wLjUgMTg2LjE2NywtMC41IDI3OS41LC0wLjVDIDI3OS41LDkyLjgzMzMgMjc5LjUsMTg2LjE2NyAyNzkuNSwyNzkuNUMgMTg2LjE2NywyNzkuNSA5Mi44MzMzLDI3OS41IC0wLjUsMjc5LjVDIC0wLjUsMTg2LjE2NyAtMC41LDkyLjgzMzMgLTAuNSwtMC41IFoiLz48L2c+CjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjEiIGZpbGw9IiNjMWYyNGQiIGQ9Ik0gMTMzLjUsODQuNSBDIDE0Mi44MTQsODIuNzI2OSAxNDYuNjQ3LDg2LjM5MzUgMTQ1LDk1LjVDIDEzNS45MDYsMTEyLjAyOCAxMjYuNTcyLDEyOC4zNjIgMTE3LDE0NC41QyAxMTEuMjQ5LDE0OS45ODQgMTA2LjI0OSwxNDkuMzE3IDEwMiwxNDIuNUMgMTAxLjMzMywxNDAuODMzIDEwMS4zMzMsMTM5LjE2NyAxMDIsMTM3LjVDIDExMS41NDcsMTE5LjA0MSAxMjIuMDQ3LDEwMS4zNzUgMTMzLjUsODQuNSBaIi8+PC9nPgo8Zz48cGF0aCBzdHlsZT0ib3BhY2l0eToxIiBmaWxsPSIjYzBmMTRkIiBkPSJNIDIyMy41LDg0LjUgQyAyMzMuNTM5LDgzLjY5NzIgMjM3LjAzOSw4OC4wMzA1IDIzNCw5Ny41QyAyMjUuMzQ3LDExMi44MDEgMjE2LjY4MSwxMjguMTM1IDIwOCwxNDMuNUMgMjAzLjM4NywxNDkuNzM3IDE5OC4zODcsMTUwLjA3MSAxOTMsMTQ0LjVDIDE5MS41NzgsMTQxLjk3IDE5MS4yNDUsMTM5LjMwMyAxOTIsMTM2LjVDIDIwMC41MiwxMjIuNzk0IDIwOC41MiwxMDguNzk0IDIxNiw5NC41QyAyMTguMjg5LDkwLjg4MTIgMjIwLjc4OSw4Ny41NDc5IDIyMy41LDg0LjUgWiIvPjwvZz4KPGc+PHBhdGggc3R5bGU9Im9wYWNpdHk6MSIgZmlsbD0iI2MwZjE0ZCIgZD0iTSA3NS41LDEyMC41IEMgODMuOTg4NSwxMTkuNjE4IDg3LjgyMTgsMTIzLjI4NSA4NywxMzEuNUMgNzcuOTA1NywxNDguMDI4IDY4LjU3MjQsMTY0LjM2MiA1OSwxODAuNUMgNTYuMDQ1MywxODQuMjc3IDUyLjIxMiwxODUuNDQzIDQ3LjUsMTg0QyA0My44Njk3LDE4MC45NSA0Mi43MDMsMTc3LjExNyA0NCwxNzIuNUMgNTMsMTU2LjUgNjIsMTQwLjUgNzEsMTI0LjVDIDcyLjM5NjgsMTIyLjkzIDczLjg5NjgsMTIxLjU5NiA3NS41LDEyMC41IFoiLz48L2c+CjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjEiIGZpbGw9IiNjMWYyNGQiIGQ9Ik0gMTY1LjUsMTIwLjUgQyAxNzQuMTY0LDExOS4zMzIgMTc3Ljk5NywxMjIuOTk5IDE3NywxMzEuNUMgMTY3LjQxNCwxNDcuNjcxIDE1OC4wOCwxNjQuMDA0IDE0OSwxODAuNUMgMTQ2LjM5OCwxODQuMjEyIDE0Mi44OTgsMTg1LjM3OCAxMzguNSwxODRDIDEzMy45MzEsMTgxLjQ1OSAxMzIuNDMxLDE3Ny42MjUgMTM0LDE3Mi41QyAxNDMuNTcyLDE1Ni4zNjIgMTUyLjkwNiwxNDAuMDI4IDE2MiwxMjMuNUMgMTYzLjE0NSwxMjIuMzY0IDE2NC4zMTIsMTIxLjM2NCAxNjUuNSwxMjAuNSBaIi8+PC9nPgo8L3N2Zz4K",url:"https://orm.drizzle.team/",tagline:"Headless TypeScript ORM that feels like SPA with SSR",repo:"drizzle-team/drizzle-orm",links:[{label:"Docs & Getting started",href:"https://orm.drizzle.team/docs/overview"}]},{category:"Database",label:"SQLite",flag:"sqlite",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+Cgk8ZGVmcz4KCQk8bGluZWFyR3JhZGllbnQgaWQ9ImRldmljb25TcWxpdGUwIiB4MT0iLTE1LjYxNSIgeDI9Ii02Ljc0MSIgeTE9Ii05LjEwOCIgeTI9Ii05LjEwOCIgZ3JhZGllbnRUcmFuc2Zvcm09InJvdGF0ZSg5MCAtOTAuNDg2IDY0LjYzNClzY2FsZSg5LjI3MTIpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CgkJCTxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzk1ZDdmNCIgLz4KCQkJPHN0b3Agb2Zmc2V0PSIuOTIiIHN0b3AtY29sb3I9IiMwZjdmY2MiIC8+CgkJCTxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzBmN2ZjYyIgLz4KCQk8L2xpbmVhckdyYWRpZW50PgoJPC9kZWZzPgoJPHBhdGggZmlsbD0iIzBiN2ZjYyIgZD0iTTY5LjUgOTkuMTc2Yy0uMDU5LS43My0uMDk0LTEuMi0uMDk0LTEuMlM2Ny4yIDgzLjA4NyA2NC41NyA3OC42NDJjLS40MTQtLjcwNy4wNDMtMy41OTQgMS4yMDctNy44OGMuNjggMS4xNjkgMy41NCA2LjE5MiA0LjExOCA3LjgxYy42NDggMS44MjQuNzggMi4zNDcuNzggMi4zNDdzLTEuNTctOC4wODItNC4xNDQtMTIuNzk3YTE2MiAxNjIgMCAwIDEgMi4wMDQtNi4yNjVjLjk3MyAxLjcxIDMuMzEzIDUuODU5IDMuODI4IDcuM2MuMTAyLjI5My4xOTIuNTQzLjI3Ljc3NGwuMDc0LS40MTRjLS41OS0yLjUwNC0xLjc1LTYuODYtMy4zMzYtMTAuMDgyYzMuNTItMTguMzI4IDE1LjUzMS00Mi44MjQgMjcuODQtNTMuNzU0SDE2LjljLTUuMzg3IDAtOS43ODkgNC40MDYtOS43ODkgOS43ODl2ODguNTdjMCA1LjM4MyA0LjQwNiA5Ljc4OSA5Ljc5IDkuNzg5aDUyLjg5N2ExMTkgMTE5IDAgMCAxLS4yOTctMTQuNjUyIiAvPgoJPHBhdGggZmlsbD0idXJsKCNkZXZpY29uU3FsaXRlMCkiIGQ9Ik02NS43NzcgNzAuNzYyYy42OCAxLjE2OCAzLjU0IDYuMTg4IDQuMTE3IDcuODA5Yy42NDkgMS44MjQuNzgxIDIuMzQ3Ljc4MSAyLjM0N3MtMS41Ny04LjA4Mi00LjE0NC0xMi43OTdhMTY1IDE2NSAwIDAgMSAyLjAwNC02LjI3Yy44ODcgMS41NjcgMi45MjIgNS4xNjkgMy42NTIgNi44NzJsLjA4Mi0uOTYxYy0uNjQ4LTIuNDk2LTEuNjMzLTUuNzY2LTIuODk4LTguMzI4YzMuMjQyLTE2Ljg3MSAxMy42OC0zOC45NyAyNC45MjYtNTAuODk4SDE2Ljg5OWE2Ljk0IDYuOTQgMCAwIDAtNi45MzQgNi45MzN2ODIuMTFjMTcuNTI3LTYuNzMxIDM4LjY2NC0xMi44OCA1Ni44NTUtMTIuNjE0Yy0uNjcyLTIuNjA1LTEuNDQxLTQuOTYtMi4yNS02LjMyNGMtLjQxNC0uNzA3LjA0My0zLjU5NyAxLjIwNy03Ljg3OSIgLz4KCTxwYXRoIGZpbGw9IiMwMDM5NTYiIGQ9Ik0xMTUuOTUgMi43ODFjLTUuNS00LjkwNi0xMi4xNjQtMi45MzMtMTguNzM0IDIuODk5YTQ0IDQ0IDAgMCAwLTIuOTE0IDIuODU5Yy0xMS4yNSAxMS45MjYtMjEuNjg0IDM0LjAyMy0yNC45MjYgNTAuODk1YzEuMjYyIDIuNTYzIDIuMjUgNS44MzIgMi44OTQgOC4zMjhjLjE2OC42NC4zMiAxLjI0Mi40NDIgMS43NTRjLjI4NSAxLjIwNy40MzcgMS45OTYuNDM3IDEuOTk2cy0uMTAxLS4zODMtLjUxNS0xLjU4MmMtLjA3OC0uMjMtLjE2OC0uNDg0LS4yNy0uNzczYTggOCAwIDAgMC0uMTcyLS40MzRjLS43MzQtMS43MDMtMi43NjUtNS4zMDUtMy42NTYtNi44NjdjLS43NjIgMi4yNS0xLjQzNyA0LjM2LTIuMDA0IDYuMjY1YzIuNTc4IDQuNzE1IDQuMTQ5IDEyLjc5NyA0LjE0OSAxMi43OTdzLS4xMzctLjUyMy0uNzgyLTIuMzQ3Yy0uNTc4LTEuNjIxLTMuNDQxLTYuNjQtNC4xMTctNy44MDljLTEuMTY0IDQuMjgxLTEuNjI1IDcuMTcyLTEuMjA3IDcuODhjLjgwOSAxLjM2MiAxLjU3NCAzLjcyMiAyLjI1IDYuMzIzYzEuNTI0IDUuODY3IDIuNTg2IDEzLjAxMiAyLjU4NiAxMy4wMTJzLjAzMS40NjkuMDk0IDEuMmExMTkgMTE5IDAgMCAwIC4yOTcgMTQuNjUxYy41MDQgNi4xMSAxLjQ1MyAxMS4zNjMgMi42NjQgMTQuMTcybC44MjgtLjQ0OWMtMS43ODEtNS41MzUtMi41MDQtMTIuNzkzLTIuMTg4LTIxLjE1NmMuNDgtMTIuNzkzIDMuNDIyLTI4LjIxNSA4Ljg1Ni00NC4yODljOS4xOTEtMjQuMjcgMjEuOTM4LTQzLjczOCAzMy42MDItNTMuMDM1Yy0xMC42MzMgOS42MDItMjUuMDIzIDQwLjY4NC0yOS4zMzIgNTIuMTk1Yy00LjgyIDEyLjg5MS04LjIzOCAyNC45ODQtMTAuMzAxIDM2LjU3NGMzLjU1LTEwLjg2MyAxNS4wNDctMTUuNTMgMTUuMDQ3LTE1LjUzczUuNjM3LTYuOTU4IDEyLjIyNy0xNi44ODhjLTMuOTUuOTAzLTEwLjQzIDIuNDQyLTEyLjU5OCAzLjM1MmMtMy4yIDEuMzQ0LTQuMDY3IDEuOC00LjA2NyAxLjhzMTAuMzcxLTYuMzEyIDE5LjI3LTkuMTcxYzEyLjIzNC0xOS4yNyAyNS41NjItNDYuNjQ4IDEyLjE0MS01OC42MjEiIC8+Cjwvc3ZnPg==",url:"https://www.sqlite.org/",tagline:"SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine",repo:"sqlite/sqlite",links:[{label:"better-sqlite3: API",href:"https://github.com/WiseLibs/better-sqlite3/blob/master/docs/api.md"},{label:"D1: Getting started",href:"https://developers.cloudflare.com/d1/get-started/"}]},{category:"Database",label:"Kysely",flag:"kysely",image:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTMyJyBoZWlnaHQ9JzEzMicgdmlld0JveD0nMCAwIDEzMiAxMzInIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGcgY2xpcC1wYXRoPSd1cmwoI2NsaXAwXzhfMyknPjxyZWN0IHg9JzInIHk9JzInIHdpZHRoPScxMjgnIGhlaWdodD0nMTI4JyByeD0nMTYnIGZpbGw9J3doaXRlJy8+PHBhdGggZD0nTTQxLjI5ODMgMTA5VjIzLjkwOTFINDYuNDkxOFY3My4zMUg0Ny4wNzM1TDkxLjk0NTcgMjMuOTA5MUg5OC44NDI3TDYxLjkwNjIgNjQuMTY5NEw5OC41MTAzIDEwOUg5Mi4wMjg4TDU4LjU4MjQgNjcuOTA4N0w0Ni40OTE4IDgxLjI4NzNWMTA5SDQxLjI5ODNaJyBmaWxsPSdibGFjaycvPjwvZz48cmVjdCB4PScyJyB5PScyJyB3aWR0aD0nMTI4JyBoZWlnaHQ9JzEyOCcgcng9JzE2JyBzdHJva2U9JyMxMjEyMTInIHN0cm9rZS13aWR0aD0nNCcvPjxkZWZzPjxjbGlwUGF0aCBpZD0nY2xpcDBfOF8zJz48cmVjdCB4PScyJyB5PScyJyB3aWR0aD0nMTI4JyBoZWlnaHQ9JzEyOCcgcng9JzE2JyBmaWxsPSd3aGl0ZScvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPgo=",url:"https://kysely.dev/",tagline:"The type-safe SQL query builder for TypeScript",repo:"kysely-org/kysely",links:[{label:"Docs & Getting started",href:"https://kysely.dev/docs/getting-started"}]},{category:"Database",label:"Prisma",flag:"prisma",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjgzZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDMxMCI+PHBhdGggZD0iTTI1NC4zMTMgMjM1LjUxOUwxNDggOS43NDlBMTcuMDYzIDE3LjA2MyAwIDAgMCAxMzMuNDczLjAzN2ExNi44NyAxNi44NyAwIDAgMC0xNS41MzMgOC4wNTJMMi42MzMgMTk0Ljg0OGExNy40NjUgMTcuNDY1IDAgMCAwIC4xOTMgMTguNzQ3TDU5LjIgMzAwLjg5NmExOC4xMyAxOC4xMyAwIDAgMCAyMC4zNjMgNy40ODlsMTYzLjU5OS00OC4zOTJhMTcuOTI5IDE3LjkyOSAwIDAgMCAxMS4yNi05LjcyMmExNy41NDIgMTcuNTQyIDAgMCAwLS4xMDEtMTQuNzZsLS4wMDguMDA4Wm0tMjMuODAyIDkuNjgzbC0xMzguODIzIDQxLjA1Yy00LjIzNSAxLjI2LTguMy0yLjQxMS03LjQxOS02LjY4NWw0OS41OTgtMjM3LjQ4NGMuOTI3LTQuNDQzIDcuMDYzLTUuMTQ3IDkuMDAzLTEuMDM1bDkxLjgxNCAxOTQuOTczYTYuNjMgNi42MyAwIDAgMS00LjE4IDkuMThoLjAwN1oiLz48L3N2Zz4=",url:"https://www.prisma.io",spectrum:"beaten_path",tagline:"Next-generation Node.js and TypeScript ORM",repo:"prisma/prisma",links:[{label:"Getting started",href:"https://www.prisma.io/docs/getting-started"},{label:"Docs",href:"https://www.prisma.io/docs"}]},{category:"Analytics",label:"Plausible.io",flag:"plausible.io",image:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bG9nbzwvdGl0bGU+CiAgICA8ZGVmcz4KICAgICAgICA8cmFkaWFsR3JhZGllbnQgY3g9Ijc5LjEzMDUyNjMlIiBjeT0iODcuNjQ0ODE1OCUiIGZ4PSI3OS4xMzA1MjYzJSIgZnk9Ijg3LjY0NDgxNTglIiByPSI5Ni45ODk3NzYzJSIgaWQ9InJhZGlhbEdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjQ0MEU2IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1NjYxQjMiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICAgICAgPHJhZGlhbEdyYWRpZW50IGN4PSIxLjUwNjEwNDU3ZS0wNSUiIGN5PSIzMC4yMTk4OTQxJSIgZng9IjEuNTA2MTA0NTdlLTA1JSIgZnk9IjMwLjIxOTg5NDElIiByPSI2Mi4yNjg4NzczJSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwwLjMwMjE5OSksc2NhbGUoMS4wMDAwMDAsMC43MjI1MTkpLHJvdGF0ZSg2MS43MzQ1MjIpLHRyYW5zbGF0ZSgtMC4wMDAwMDAsLTAuMzAyMTk5KSIgaWQ9InJhZGlhbEdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNjU3NENEIiBzdG9wLW9wYWNpdHk9IjAuNSIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNjU3NENEIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImxvZ28iPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjwvcmVjdD4KICAgICAgICAgICAgPGcgaWQ9IkJpdG1hcCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi41MzEwMTcsIDAuMDQ5NjI4KSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy40Njg5ODMsIDkuOTY3NTIzKSBzY2FsZSgtMSwgMSkgcm90YXRlKC0xODAuMDAwMDAwKSB0cmFuc2xhdGUoLTcuNDY4OTgzLCAtOS45Njc1MjMpIHRyYW5zbGF0ZSgwLjAwMDAwMCwgMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsPSJ1cmwoI3JhZGlhbEdyYWRpZW50LTEpIiBjeD0iNy40Njg5ODI2NCIgY3k9IjEyLjQ2NjA2MjciIHI9IjcuNDY4OTgyNjQiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02LjE4ODU4NTYyLDE5Ljg1MTExNjYgQzQuNjQ1MTYxMywxOS41ODMxMjY2IDMuMzQ0OTEzMTgsMTguOTI4MDM5NyAyLjI2Nzk5MDEsMTcuODc1OTMwNSBDMS4xNjEyOTAzNCwxNi43OTQwNDQ3IDAuNDc2NDI2ODE4LDE1LjUzMzQ5ODggMC4xNDM5MjA2MTUsMTMuOTYwMjk3OCBMMC4wMjk3NzY2OTQsMTMuNDI0MzE3NiBMMC4wMTQ4ODgzNTY2LDYuNzE0NjQwMTkgTDEuOTE2MDAwMDNlLTA4LC00LjkyOTM5MDIzZS0xNiBMMC4xMzg5NTc4MzYsLTQuOTI5MzkwMjNlLTE2IEMwLjIxODM2MjMwMiwtNC45MjkzOTAyM2UtMTYgMC40NzE0NjQwNCwwLjAyNDgxMzg5NTggMC42OTk3NTE4OCwwLjA0OTYyNzc5MTYgQzIuNjUwMTI0MDgsMC4yODc4NDExOTEgNC4zMDc2OTIzMiwxLjQ2ODk4MjYzIDUuMjEwOTE4MTQsMy4yNjA1NDU5MSBDNS40MzkyMDU5OCwzLjcxNzEyMTU5IDUuNjAyOTc3NjgsNC4yNDMxNzYxNyA1LjcxNzEyMTYsNC44OTgyNjMwMyBDNS44MTE0MTQ0Miw1LjQ1NDA5NDI5IDUuODE2Mzc3Miw1LjYzNzcxNzEzIDUuODAxNDg4ODYsOC41MzU5ODAxNSBMNS43ODY2MDA1MiwxMS41ODgwODkzIEw1LjkwNTcwNzIyLDExLjg4NTg1NjEgQzYuMDY5NDc4OTIsMTIuMjkyODA0IDYuNTIxMDkxODQsMTIuNzQ0NDE2OSA2LjkyODAzOTcyLDEyLjkwODE4ODYgTDcuMjI1ODA2NDgsMTMuMDI3Mjk1MyBMMTAuMDA0OTYyOCwxMy4wMzIyNTgxIEMxMS41MzM0OTg4LDEzLjAzMjI1ODEgMTIuODczNDQ5MiwxMy4wNTIxMDkyIDEyLjk3NzY2NzUsMTMuMDcxOTYwMyBDMTMuNDY0MDE5OSwxMy4xNjYyNTMxIDEzLjk4NTExMTcsMTMuNTczMjAxIDE0LjE5MzU0ODQsMTQuMDI0ODEzOSBDMTQuMjUzMTAxOCwxNC4xNDg4ODM0IDE0LjMzMjUwNjIsMTQuMzkyMDU5NiAxNC4zNjcyNDU3LDE0LjU1NTgzMTMgQzE0LjQyMTgzNjIsMTQuODI4Nzg0MSAxNC40MTY4NzM1LDE0LjkwMzIyNTggMTQuMzM3NDY5LDE1LjIxMDkxODEgQzE0LjA4OTMzLDE2LjEyNDA2OTUgMTMuMjE1ODgwOSwxNy4zODk1NzgyIDEyLjMyMjU4MDcsMTguMTI5MDMyMyBDMTEuMzEwMTczNywxOC45Njc3NDE5IDEwLjE5MzU0ODQsMTkuNTI4NTM2IDguOTg3NTkzMDgsMTkuODExNDE0NCBDOC4zNTIzNTczNCwxOS45NTUzMzUgNi45MTMxNTEzOCwxOS45ODAxNDg5IDYuMTg4NTg1NjIsMTkuODUxMTE2NiBaIiBpZD0iUGF0aCIgZmlsbD0idXJsKCNyYWRpYWxHcmFkaWVudC0yKSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",url:"https://plausible.io",tagline:"Easy to use and privacy-friendly Google Analytics alternative",repo:"plausible/analytics"},{category:"Analytics",label:"Google Analytics",flag:"google-analytics",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjkxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDI4NCI+PHBhdGggZmlsbD0iI0Y5QUIwMCIgZD0iTTI1Ni4wMDMgMjQ3LjkzM2EzNS4yMjQgMzUuMjI0IDAgMCAxLTM5LjM3NiAzNS4xNjFjLTE4LjA0NC0yLjY3LTMxLjI2Ni0xOC4zNzEtMzAuODI2LTM2LjYwNlYzNi44NDVDMTg1LjM2NSAxOC41OTEgMTk4LjYyIDIuODgxIDIxNi42ODcuMjRhMzUuMjIxIDM1LjIyMSAwIDAgMSAzOS4zMTYgMzUuMTZ2MjEyLjUzM1oiLz48cGF0aCBmaWxsPSIjRTM3NDAwIiBkPSJNMzUuMTAxIDIxMy4xOTNjMTkuMzg2IDAgMzUuMTAxIDE1LjcxNiAzNS4xMDEgMzUuMTAxYzAgMTkuMzg2LTE1LjcxNSAzNS4xMDEtMzUuMTAxIDM1LjEwMVMwIDI2Ny42OCAwIDI0OC4yOTVjMC0xOS4zODYgMTUuNzE1LTM1LjEwMiAzNS4xMDEtMzUuMTAyWm05Mi4zNTgtMTA2LjM4N2MtMTkuNDc3IDEuMDY4LTM0LjU5IDE3LjQwNi0zNC4xMzcgMzYuOTA4djk0LjI4NWMwIDI1LjU4OCAxMS4yNTkgNDEuMTIyIDI3Ljc1NSA0NC40MzNhMzUuMTYxIDM1LjE2MSAwIDAgMCA0Mi4xNDYtMzQuNTZWMTQyLjA4OWEzNS4yMjIgMzUuMjIyIDAgMCAwLTM1Ljc2NC0zNS4yODJaIi8+PC9zdmc+",url:"https://analytics.google.com/"},{category:"Analytics",label:"Segment",flag:"segment",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjk3ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDI2NSI+PHBhdGggZmlsbD0iIzRGQjU4QiIgZD0ibTIzMy41NiAxNDEuOTI3bC4xNy4wMTNsMTcuODkyIDEuODdhNC45MjcgNC45MjcgMCAwIDEgMy4yMjUgMS43MDdsLjEzMy4xNjNsLS4xNy4wODVhNC45MyA0LjkzIDAgMCAxIDEuMDIgMy43NGExMzMuMjcyIDEzMy4yNzIgMCAwIDEtNDEuNjA0IDgxLjA4M2ExMjguODYgMTI4Ljg2IDAgMCAxLTg3LjYyOSAzNC4zOGExMjcuNDg4IDEyNy40ODggMCAwIDEtNDYuMTU2LTguNTdsLS44MDItLjMxMmE0LjcxNiA0LjcxNiAwIDAgMS0yLjY4Ni0yLjUzM2wtLjA3Ny0uMTg3YTQuODkxIDQuODkxIDAgMCAxLS4wODMtMy42Nmw3LjA2Mi0xNy4yM2E0Ljg0NiA0Ljg0NiAwIDAgMSA2LjExOC0yLjc5OWwuMTYzLjA2YzM2LjA5NyAxMy45MzkgNzYuOTggNi4wODkgMTA1LjM0OS0yMC4yMjdhMTA0LjQ1NSAxMDQuNDU1IDAgMCAwIDMyLjg5MS02My4zMmE0LjkzIDQuOTMgMCAwIDEgNS4wMTMtNC4yN2wuMTcuMDA3Wm0tMTkwLjA4IDY0LjMxbC4yNTEtLjAwMmwuMjUzLjAwMmM4LjEyLjA5MyAxNC42NTggNi42NTkgMTQuNzQ2IDE0Ljc0OXYuMjUzYzAgLjA4NCAwIC4xNjgtLjAwMi4yNTJjLS4xNDEgOC4yODQtNi45NyAxNC44ODYtMTUuMjU0IDE0Ljc0NWMtOC4yODQtLjE0MS0xNC44ODUtNi45Ny0xNC43NDUtMTUuMjU0Yy4xMzktOC4xMTUgNi42OTUtMTQuNjE1IDE0Ljc1LTE0Ljc0NVpNNC45MyAxNDcuMDgyaDE0Ni4zMTZhNC45NzMgNC45NzMgMCAwIDEgNC45MjggNC44NDRsLjAwMi4xNzF2MTguMzE2YTQuOTc0IDQuOTc0IDAgMCAxLTQuNzYgNS4wMWwtLjE3LjAwNUg0LjkzQTQuOTc1IDQuOTc1IDAgMCAxIDAgMTcwLjU4NHYtMTguNjU5YTQuOTc1IDQuOTc1IDAgMCAxIDQuNzU1LTQuODM4bC4xNzUtLjAwNVpNMTY5LjU2IDcuMzExYTQuOTc0IDQuOTc0IDAgMCAxIDIuODQ4IDIuNjM1YTUuMDk2IDUuMDk2IDAgMCAxIDAgMy44NjdsLTYuMzc1IDE2Ljk5OWE0Ljg0NSA0Ljg0NSAwIDAgMS02LjE2MiAyLjk3NEExMDEuMjI4IDEwMS4yMjggMCAwIDAgNjIuMTMgNTEuMjUyYTEwNS4yNjcgMTA1LjI2NyAwIDAgMC0zNC41MDcgNTQuOTlhNC45MyA0LjkzIDAgMCAxLTQuNzYgMy42OThoLTEuMTA1TDQuMjUgMTA1LjczM2E0Ljg4NiA0Ljg4NiAwIDAgMS0zLjEwMy0yLjI5NWgtLjA4NUE0LjkyOSA0LjkyOSAwIDAgMSAuNTEgOTkuNTdhMTMzLjM5MyAxMzMuMzkzIDAgMCAxIDQ0LjQxLTcwLjIwNEM3OS43MzkuNyAxMjcuMDE5LTcuNjY2IDE2OS41NiA3LjMxMVptLTY0LjgwNyA3My40MzRIMjUxLjA3YTQuOTcyIDQuOTcyIDAgMCAxIDQuOTIyIDQuNjdsLjAwOC4xNzR2MTguMzE3YTQuOTczIDQuOTczIDAgMCAxLTQuNzYgNS4wMWwtLjE3LjAwNUgxMDQuNzU0YTQuOTcyIDQuOTcyIDAgMCAxLTQuODg2LTQuODQybC0uMDAyLS4xNzNWODUuNzU5YTQuOTcyIDQuOTcyIDAgMCAxIDQuNzE1LTUuMDA4bC4xNzMtLjAwNlptMTAxLjU3Mi01NS44ODNsLjI1Mi0uMDAybC4yNTMuMDAyYzguMTIuMDkzIDE0LjY1OCA2LjY1OSAxNC43NDYgMTQuNzQ4di4yNTNjMCAuMDg1IDAgLjE3LS4wMDIuMjUzYy0uMTQgOC4yODQtNi45NyAxNC44ODUtMTUuMjU0IDE0Ljc0NGMtOC4yODQtLjE0LTE0Ljg4NS02Ljk3LTE0Ljc0NC0xNS4yNTNjLjEzOC04LjExNiA2LjY5NC0xNC42MTYgMTQuNzQ5LTE0Ljc0NVoiLz48L3N2Zz4=",url:"https://segment.com",disabled:!0},{category:"Hosting",label:"Cloudflare",flag:"cloudflare",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyLjE5ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDExNyI+PHBhdGggZmlsbD0iI2ZiYWQ0MSIgZD0iTTIwNS41MiA1MC44MTNjLS44NTggMC0xLjcwNS4wMy0yLjU1MS4wNThxLS4yMDcuMDEyLS4zOTguMDk0YTEuNDIgMS40MiAwIDAgMC0uOTIuOTk0bC0zLjYyOCAxMi42NzJjLTEuNTY1IDUuNDQ5LS45ODMgMTAuNDggMS42NDYgMTQuMTc0YzIuNDEgMy40MTYgNi40MiA1LjQyMSAxMS4yODkgNS42NTVsMTkuNjc5IDEuMTk0Yy41ODUuMDMgMS4wOTIuMzEyIDEuNC43NzZhMS45MiAxLjkyIDAgMCAxIC4yIDEuNjkyYTIuNSAyLjUgMCAwIDEtMi4xMzQgMS42NjJsLTIwLjQ0OCAxLjE5M2MtMTEuMTEuNTE1LTIzLjA2MiA5LjU4LTI3LjI1NSAyMC42MzNsLTEuNDc0IDMuOWExLjA5MiAxLjA5MiAwIDAgMCAuOTY3IDEuNDloNzAuNDI1YTEuODcgMS44NyAwIDAgMCAxLjgxLTEuMzY1QTUxLjIgNTEuMiAwIDAgMCAyNTYgMTAxLjgyOGMwLTI4LjE2LTIyLjU4Mi01MC45ODQtNTAuNDQ5LTUwLjk4NCIvPjxwYXRoIGZpbGw9IiNmNjgyMWYiIGQ9Im0xNzQuNzgyIDExNS4zNjJsMS4zMDMtNC41ODNjMS41NjgtNS40NDkuOTg3LTEwLjQ4LTEuNjM5LTE0LjE3M2MtMi40MTgtMy40MTctNi40MjQtNS40MjItMTEuMjk2LTUuNjU2bC05Mi4zMTItMS4xOTNhMS44MiAxLjgyIDAgMCAxLTEuNDU5LS43NzZhMS45MiAxLjkyIDAgMCAxLS4yMDMtMS42OTNhMi41IDIuNSAwIDAgMSAyLjE1NC0xLjY2Mmw5My4xNzMtMS4xOTNjMTEuMDYzLS41MTEgMjMuMDE1LTkuNTggMjcuMjA4LTIwLjYzM2w1LjMxMy0xNC4wNGMuMjE0LS41OTYuMjctMS4yMzguMTU2LTEuODZDMTkxLjEyNiAyMC41MSAxNjYuOTEgMCAxMzcuOTYgMEMxMTEuMjY5IDAgODguNjI2IDE3LjQwMyA4MC41IDQxLjU5NmEyNyAyNyAwIDAgMC0xOS4xNTYtNS4zNTlDNDguNTQ5IDM3LjUyNCAzOC4yNSA0Ny45NDYgMzYuOTc5IDYwLjg4YTI3LjkgMjcuOSAwIDAgMCAuNzAyIDkuNjQyQzE2Ljc3MyA3MS4xNDUgMCA4OC40NTQgMCAxMDkuNzI2YzAgMS45MjMuMTM3IDMuODE4LjQxMyA1LjY2N2MuMTE1Ljg5Ny44NzkgMS41NyAxLjc4MyAxLjU2OGgxNzAuNDhhMi4yMiAyLjIyIDAgMCAwIDIuMTA2LTEuNjMiLz48L3N2Zz4=",url:"https://developers.cloudflare.com/",tagline:"Create full-stack applications that are instantly deployed to the Cloudflare global network",repo:"cloudflare/workers-sdk",links:[{label:"Docs",href:"https://developers.cloudflare.com/workers/"},{label:"Vike integration",href:"https://vike.dev/cloudflare"}]},{category:"Hosting",label:"EdgeOne Pages",flag:"edgeone",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyOCAyOCI+CiAgPHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTI3Ljc3OCAxNi40OTRhMTQuMSAxNC4xIDAgMCAwIC4wNjMtNC42MTEuNTQ1LjU0NSAwIDAgMC0uNTQzLS40NTloLTkuMDA0YS40NDguNDQ4IDAgMCAxLS40MzMtLjU2NGwxLjA2Ni0zLjk3OGEuNjcuNjcgMCAwIDEgLjY0OS0uNDk4aDUuMzQ4Yy4zNTUgMCAuNTY2LS4zOTIuMzU1LS42NzhBMTMuOTggMTMuOTggMCAwIDAgMTQgMEM2LjI2OCAwIDAgNi4yNjggMCAxNGMwIDMuNTIgMS4zIDYuNzM3IDMuNDQ0IDkuMTk3LjIyOS4yNjIuNjQ4LjE1My43MzgtLjE4MmwzLjA5Ny0xMS42MTZhLjMzNi4zMzYgMCAwIDAtLjMyNC0uNDIzaC0yLjY5YS40NDguNDQ4IDAgMCAxLS40MzQtLjU2M2wuODc0LTMuMjc2YS41Ny41NyAwIDAgMSAuNTQzLS40MiAxOC40IDE4LjQgMCAwIDAgOC4zOTktMi4yMzNjLjI2Ni0uMTQ1LjU4Ny4wOTguNTEuMzlsLTUuNyAyMS4zNjlhLjY1LjY1IDAgMCAwIC4zOC43NzZjMS41OTguNjM0IDMuMzQuOTgyIDUuMTYyLjk4MiA0LjQyIDAgOC4zNi0yLjA0NyAxMC45MjYtNS4yNDUuMjI3LS4yODQuMDE4LS42OTEtLjM0NS0uNjkxaC05LjEzOGEuNDQ4LjQ0OCAwIDAgMS0uNDMzLS41NjRsMS4wNjYtMy45NzhhLjY3LjY3IDAgMCAxIC42NDktLjQ5OGgxMC40MDdhLjY1LjY1IDAgMCAwIC42NDYtLjUzIi8+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSI0LjgxNiIgeDI9IjIyLjI4OCIgeTE9IjIuMzUyIiB5Mj0iMjMuMTg0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwZGYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMGM2MGYyIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KPC9zdmc+Cg==",url:"https://pages.edgeone.ai",tagline:"A better way to build full-stack Web",links:[{label:"Docs",href:"https://pages.edgeone.ai/document/framework-vike"},{label:"Vike integration",href:"https://vike.dev/edgeone-pages"}]},{category:"Hosting",label:"Vercel",flag:"vercel",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE2ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyMiI+PHBhdGggZD0ibTEyOCAwbDEyOCAyMjEuNzA1SDB6Ii8+PC9zdmc+",url:"https://vercel.com",tagline:"Develop with your favorite tools. Launch globally, instantly. Keep pushing",repo:"vercel/vercel",links:[{label:"Guides",href:"https://vercel.com/guides"},{label:"Docs",href:"https://vercel.com/docs"}]},{category:"Hosting",label:"Netlify",flag:"netlify",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE0ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyNiI+PHBhdGggZmlsbD0iIzA1QkRCQSIgZD0iTTY5LjE4MSAxODguMDg3aC0yLjQxN2wtMTIuMDY1LTEyLjA2NXYtMi40MTdsMTguNDQ0LTE4LjQ0NGgxMi43NzhsMS43MDQgMS43MDR2MTIuNzc4ek01NC42OTkgNTEuNjI4di0yLjQxN2wxMi4wNjUtMTIuMDY1aDIuNDE3TDg3LjYyNSA1NS41OXYxMi43NzhsLTEuNzA0IDEuNzA0SDczLjE0M3oiLz48cGF0aCBmaWxsPSIjMDE0ODQ3IiBkPSJNMTYwLjkwNiAxNDkuMTk4aC0xNy41NTJsLTEuNDY2LTEuNDY2di00MS4wODljMC03LjMxLTIuODczLTEyLjk3Ni0xMS42ODktMTMuMTc0Yy00LjUzNy0uMTE5LTkuNzI3IDAtMTUuMjc0LjIxOGwtLjgzMy44NTJ2NTMuMTczbC0xLjQ2NiAxLjQ2Nkg5NS4wNzRsLTEuNDY2LTEuNDY2di03MC4xOWwxLjQ2Ni0xLjQ2N2gzOS41MDNjMTUuMzU0IDAgMjcuNzk1IDEyLjQ0MSAyNy43OTUgMjcuNzk1djQzLjg4MmwtMS40NjYgMS40NjZaIi8+PHBhdGggZmlsbD0iIzA1QkRCQSIgZD0iTTcxLjY3NyAxMjIuODg5SDEuNDY2TDAgMTIxLjQyM1YxMDMuODNsMS40NjYtMS40NjZoNzAuMjExbDEuNDY2IDEuNDY2djE3LjU5M3ptMTgyLjg1NyAwaC03MC4yMTFsLTEuNDY2LTEuNDY2VjEwMy44M2wxLjQ2Ni0xLjQ2Nmg3MC4yMTFMMjU2IDEwMy44M3YxNy41OTN6TTExNy44NzYgNTQuMTI0VjEuNDY2TDExOS4zNDIgMGgxNy41OTNsMS40NjYgMS40NjZ2NTIuNjU4bC0xLjQ2NiAxLjQ2NmgtMTcuNTkzem0wIDE2OS42NjN2LTUyLjY1OGwxLjQ2Ni0xLjQ2NmgxNy41OTNsMS40NjYgMS40NjZ2NTIuNjU4bC0xLjQ2NiAxLjQ2NWgtMTcuNTkzeiIvPjwvc3ZnPg==",url:"https://www.netlify.com",tagline:"Push your ideas to the web",repo:"netlify/primitives",links:[{label:"Docs",href:"https://docs.netlify.com/build/frameworks/framework-setup-guides/vite/"}]},{category:"Hosting",label:"AWS",flag:"aws",image:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iODBweCIgaGVpZ2h0PSI4MHB4IiB2aWV3Qm94PSIwIDAgODAgODAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDY0ICg5MzUzNykgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+SWNvbi1BcmNoaXRlY3R1cmUvNjQvQXJjaF9BV1MtQ2xvdWQtRGV2ZWxvcG1lbnQtS2l0XzY0PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjEwMCUiIHgyPSIxMDAlIiB5Mj0iMCUiIGlkPSJsaW5lYXJHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzJFMjdBRCIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNTI3RkZGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGcgaWQ9Ikljb24tQXJjaGl0ZWN0dXJlLzY0L0FyY2hfQVdTLUNsb3VkLURldmVsb3BtZW50LUtpdF82NCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Ikljb24tQXJjaGl0ZWN0dXJlLUJHLzY0L0RldmVsb3Blci1Ub29scyIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSI+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIHg9IjAiIHk9IjAiIHdpZHRoPSI4MCIgaGVpZ2h0PSI4MCI+PC9yZWN0PgogICAgICAgIDwvZz4KICAgICAgICA8cGF0aCBkPSJNNjgsMzkuMzA1NTI0OSBDNjgsNDYuMjM0NzA3OCA2My4yNjYyNDk1LDQ4Ljc3NjA0MTMgNjAuNDQ1MjU1OSw0OS42NzQ4MDU2IEw1OS44NDU3MjAzLDQ3Ljc2ODMwNTYgQzYyLjY1OTc2NTcsNDYuODcyNTQwNSA2Ni4wMTQ3ODI4LDQ0LjY3NzExNjIgNjYuMDE0NzgyOCwzOS4zMDU1MjQ5IEM2Ni4wMTQ3ODI4LDMyLjUxNDMwNTggNjAuNDU2MTc0NiwzMC44MTg3NTA1IDU4LjA2Njk2NTYsMzAuNDA0ODU5IEM1Ny41MzM5MzQ4LDMwLjMxMjg4MzEgNTcuMTczNjE3OSwyOS44MDgwMTU1IDU3LjI1MzAyNjYsMjkuMjcwMTU2NiBMNTcuMjUzMDI2NiwyOS4yNzAxNTY2IEM1Ny4wMTY3ODU3LDI2LjE3NTk2OCA1NS41Nzc1MDMyLDIzLjk1MDU1MTYgNTMuMzkwNzg2NSwyMy4zMDY3MjA0IEM1MS41NzQzMTI3LDIyLjc3Mjg2MDQgNDkuNjIyODQ0MiwyMy40ODA2NzQ4IDQ4LjQyNTc1ODIsMjUuMTE0MjQ2NCBDNDguMjA4Mzc2OSwyNS40MTExNjg2IDQ3Ljg0MTExMTcsMjUuNTYyMTI5IDQ3LjQ4MDc5NDgsMjUuNTA5MTQyOSBDNDcuMTE3NSwyNS40NTUxNTcgNDYuODEzNzYxOCwyNS4yMDIyMjM0IDQ2LjY5MTY3MSwyNC44NTMzMTQ5IEM0NS44NjY4MTMyLDIyLjUwMzkzMSA0NC42NzE3MTI0LDIwLjUyNzQ0OTMgNDMuMTQwMTE3MywxOC45Nzg4NTU0IEM0MS4yNjAxMTY2LDE3LjA3OTM1MzUgMzYuMTAyNTIyMywxMi45OTQ0MjQ4IDI4LjgxMjgwNDcsMTYuMTAxNjA5OSBDMjQuNjAzMTUxNSwxNy44OTcxMzkxIDIxLjMwNTcwNTcsMjMuMDY5NzgyNiAyMS4zMDU3MDU3LDI3Ljg3NjUyMjEgQzIxLjMwNTcwNTcsMjguNDExMzgxOCAyMS4zMzc0NjkyLDI4Ljk1MDI0MDUgMjEuNDAwOTk2MiwyOS40NzkxMDE4IEMyMS40NTk1NjAxLDI5Ljk3Njk3MTIgMjEuMTQyOTE3OSwzMC40NDE4NDkzIDIwLjY2MDUxMDEsMzAuNTY1ODE2OCBDMTguMTY3MDc3MywzMS4yMDY2NDg4IDEzLjk4NTIxNzIsMzMuMTgyMTMwNyAxMy45ODUyMTcyLDM5LjIyMTU0NjkgQzEzLjk4NTIxNzIsMzkuNDE3NDk1NSAxMy45OTAxODAzLDM5LjYwOTQ0NTIgMTQuMDAwMTA2NCwzOS43OTgzOTU2IEMxNC4xODY3MTY4LDQzLjY4NjM3NiAxNy4wMjc1NjI2LDQ3LjAyNjUwMDEgMjAuOTEwNjQ3NSw0Ny45MjMyNjUgTDIwLjQ2NTk1ODgsNDkuODcxNzU0IEMxNS43MjEyODk3LDQ4Ljc3NTA0MTYgMTIuMjQ2MTY2OSw0NC42NzQxMTcgMTIuMDE2ODc0MywzOS44OTgzNjk0IEMxMi4wMDQ5NjMsMzkuNjgwNDI2NiAxMiwzOS40NTI0ODY0IDEyLDM5LjIyMTU0NjkgQzEyLDMyLjMxNDM1ODMgMTYuNjM3NDY3NCwyOS43NjcwMjYzIDE5LjM1MjI1MiwyOC44NjkyNjE3IEMxOS4zMzE0MDcyLDI4LjUzODM0ODUgMTkuMzIwNDg4NSwyOC4yMDY0MzU1IDE5LjMyMDQ4ODUsMjcuODc2NTIyMSBDMTkuMzIwNDg4NSwyMi4yMzQwMDE4IDIzLjA2ODU3ODYsMTYuMzgwNTM2OCAyOC4wMzk1NjI1LDE0LjI2MDA5MjkgQzMzLjg2NDE4OTksMTEuNzc0NzQ0NiA0MC4wMzYyMzAyLDEzLjAxMTQyMDMgNDQuNTQ1NjUxMSwxNy41NjcyMjU2IEM0NS45NDgyMDcxLDE4Ljk4NDg1MzggNDcuMDk3NjQ3OSwyMC43MDQ0MDI5IDQ3Ljk3NDEyMTMsMjIuNjk0ODgwOSBDNDkuNjQyNjk2NCwyMS4yODIyNTEzIDUxLjg0OTI2NTMsMjAuNzcwMzg1NiA1My45NDc2Mzk5LDIxLjM4ODIyMzYgQzU2LjgyNjIwNDksMjIuMjM1MDAxNSA1OC43NTI4NTgyLDI0LjkwNjMwMSA1OS4xODI2NTc3LDI4LjU5NDMzMzggQzYxLjk5ODY4ODMsMjkuMjU3MTYgNjgsMzEuNTgwNTUwNyA2OCwzOS4zMDU1MjQ5IEw2OCwzOS4zMDU1MjQ5IFogTTU2Ljg5ODY2NTMsNjEuMzEzNzUzNCBMNDkuOTYzMzA4OSw2NS4xOTk3MzQzIEw0OS45NjMzMDg5LDU2LjU1NDAwMTYgTDU2Ljg5ODY2NTMsNTIuNjEyMDM1NCBMNTYuODk4NjY1Myw2MS4zMTM3NTM0IFogTTM5LjAwNzg4NzcsNjEuMjg4NzYgTDMyLjA4NzQyMDUsNjUuMjc2NzE0MiBMMzIuMDg3NDIwNSw1Ni41MjAwMTA1IEwzOS4wMDc4ODc3LDUyLjU5MDA0MTEgTDM5LjAwNzg4NzcsNjEuMjg4NzYgWiBNMzEuMDkxODM0LDU0Ljc5MDQ2NDEgTDI0LjE2OTM4MTYsNTAuOTA1NDgyOSBMMzEuMTAzNzQ1Myw0Ny4wMjA1MDE3IEwzNy45NzE2MDQzLDUwLjg4MjQ4ODkgTDMxLjA5MTgzNCw1NC43OTA0NjQxIFogTTIzLjEyMTE4NjksNTIuNjA2MDM2OSBMMzAuMTAyMjAzMiw1Ni41MjQwMDk1IEwzMC4xMDIyMDMyLDY1LjI4MTcxMjggTDIzLjEyMTE4NjksNjEuMjg2NzYwNSBMMjMuMTIxMTg2OSw1Mi42MDYwMzY5IFogTTQwLjAyOTI4MiwzMi4wNTM0MjY3IEw0Ni45MTEwMzc1LDM1Ljg5ODQxODQgTDQwLjAwMDQ5NjMsMzkuNzYzNDA0OCBMMzMuMTQ0NTQ4NiwzNS45MTg0MTMxIEw0MC4wMjkyODIsMzIuMDUzNDI2NyBaIE00Mi4wMzIzNjYxLDUwLjg4NDQ4ODQgTDQ4Ljk1NDgxODYsNDcuMDA0NTA1OSBMNTUuODY1MzU5Nyw1MC45MDM0ODM0IEw0OC45NzA3MDAzLDU0LjgyMjQ1NTcgTDQyLjAzMjM2NjEsNTAuODg0NDg4NCBaIE00MC45OTMxMDQ5LDUyLjU4OTA0MTQgTDQ3Ljk3ODA5MTcsNTYuNTU0MDAxNiBMNDcuOTc4MDkxNyw2NS4xOTk3MzQzIEw0MC45OTMxMDQ5LDYxLjI4MDc2MjEgTDQwLjk5MzEwNDksNTIuNTg5MDQxNCBaIE00Ny45NjQxOTUyLDQ1LjI3MTk2MDIgTDQwLjk5MzEwNDksNDkuMTc3OTM1OSBMNDAuOTkzMTA0OSw0MS40OTQ5NTA3IEw0Ny45NjQxOTUyLDM3LjU5Njk3MjkgTDQ3Ljk2NDE5NTIsNDUuMjcxOTYwMiBaIE0zMi4wOTczNDY1LDM3LjYxODk2NzIgTDM5LjAwNzg4NzcsNDEuNDkzOTUxIEwzOS4wMDc4ODc3LDQ5LjE3NDkzNjcgTDMyLjA5NzM0NjUsNDUuMjg4OTU1OCBMMzIuMDk3MzQ2NSwzNy42MTg5NjcyIFogTTU4LjM5MTU0ODYsNTAuMDM2NzEwNyBDNTguMzg2NTg1Niw1MC4wMzM3MTE1IDU4LjM4MDYzLDUwLjAzMjcxMTggNTguMzc1NjY2OSw1MC4wMjk3MTI2IEw1OC4zNzY2NTk1LDUwLjAyNzcxMzEgTDQ5Ljk0OTQxMjQsNDUuMjczOTU5NyBMNDkuOTQ5NDEyNCwzNS44OTg0MTg0IEM0OS45NDk0MTI0LDM1LjU0MzUxMTQgNDkuNzYzNzk0NiwzNS4yMTY1OTcyIDQ5LjQ2MDA1NjQsMzUuMDM2NjQ0NCBDNDkuNDUyMTE1NSwzNS4wMzI2NDU0IDQ5LjQ0NTE2NzIsMzUuMDMwNjQ1OSA0OS40MzcyMjY0LDM1LjAyNjY0NyBMNDkuNDM5MjExNiwzNS4wMjM2NDc4IEw0MC41MTA2OTcxLDMwLjAzNTk1NTggQzQwLjIwODk0NDEsMjkuODY4OTk5NSAzOS44NDM2NjQxLDI5Ljg2ODk5OTUgMzkuNTQ1ODgxNiwzMC4wMzY5NTU1IEwzMC42MjIzMzAxLDM1LjA0NTY0MiBMMzAuNjIzMzIyOCwzNS4wNDc2NDE1IEMzMC42MTYzNzQ1LDM1LjA1MTY0MDQgMzAuNjA4NDMzNiwzNS4wNTI2NDAyIDMwLjYwMTQ4NTQsMzUuMDU2NjM5MSBDMzAuMjk4NzM5NywzNS4yMzY1OTE5IDMwLjExMjEyOTMsMzUuNTY0NTA1OSAzMC4xMTIxMjkzLDM1LjkxODQxMzEgTDMwLjExMjEyOTMsNDUuMjg2OTU2MyBMMjEuNjQ2MTcwNSw1MC4wMzA3MTIzIEwyMS42NDgxNTU3LDUwLjAzMjcxMTggQzIxLjY0MDIxNDgsNTAuMDM2NzEwNyAyMS42MzIyNzQsNTAuMDM4NzEwMiAyMS42MjUzMjU3LDUwLjA0MjcwOTIgQzIxLjMyMjU4MDEsNTAuMjIxNjYyMiAyMS4xMzU5Njk3LDUwLjU1MDU3NiAyMS4xMzU5Njk3LDUwLjkwNDQ4MzIgTDIxLjEzNTk2OTcsNjEuODY4NjA3OSBDMjEuMTM1OTY5Nyw2Mi4yMjg1MTM1IDIxLjMyNzU0MzEsNjIuNTYwNDI2NSAyMS42MzgyMjk2LDYyLjczNzM4MDEgTDMwLjU5NjUyMjMsNjcuODY1MDM1NCBMMzAuNjA0NDYzMiw2Ny44NzAwMzQxIEwzMC42MDQ0NjMyLDY3Ljg2OTAzNDMgQzMwLjc1NzMyNDksNjcuOTU2MDExNSAzMC45MjYwNjg0LDY4IDMxLjA5NDgxMTgsNjggQzMxLjI2NDU0NzksNjggMzEuNDM1Mjc2Niw2Ny45NTYwMTE1IDMxLjU4ODEzODMsNjcuODY4MDM0NiBMNDAuMDA3NDQ0Niw2My4wMTYzMDY5IEw0OC40ODgyOTI1LDY3Ljc3NDA1OTMgTDQ4LjQ4OTI4NTEsNjcuNzcxMDYgQzQ4LjYzOTE2OSw2Ny44NTUwMzggNDguODAzOTQyMSw2Ny45MDAwMjYyIDQ4Ljk3MDcwMDMsNjcuOTAwMDI2MiBDNDkuMTM2NDY2LDY3LjkwMDAyNjIgNDkuMzAzMjI0Miw2Ny44NTgwMzcyIDQ5LjQ1MzEwODEsNjcuNzc0MDU5MyBMNTguMzc0Njc0Myw2Mi43NzUzNzAxIEM1OC42ODkzMzEyLDYyLjU5ODQxNjUgNTguODgzODgyNSw2Mi4yNjQ1MDQxIDU4Ljg4Mzg4MjUsNjEuOTAxNTk5MyBMNTguODgzODgyNSw1MC45MDA0ODQyIEM1OC44ODM4ODI1LDUwLjU0NDU3NzUgNTguNjk3MjcyMSw1MC4yMTY2NjM1IDU4LjM5MTU0ODYsNTAuMDM2NzEwNyBMNTguMzkxNTQ4Niw1MC4wMzY3MTA3IFoiIGlkPSJBV1MtQ2xvdWQtRGV2ZWxvcG1lbnQtS2l0X0ljb25fNjRfU3F1aWQiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+",url:"https://aws.amazon.com",tagline:"Deploy to AWS Lambda with Infrastructure as Code with the AWS CDK",repo:"aws/aws-cdk",links:[{label:"Docs",href:"https://github.com/aws/aws-cdk"}]},{category:"Linter",label:"ESLint",flag:"eslint",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE0ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyNSI+PHBhdGggZmlsbD0iIzgwODBGMiIgZD0ibTc3Ljk2NSA4MC41NjhsNDguNTctMjguMDQyYTMuOTI5IDMuOTI5IDAgMCAxIDMuOTMgMGw0OC41NyAyOC4wNDJBMy45MzIgMy45MzIgMCAwIDEgMTgxIDgzLjk3MXY1Ni4wODRjMCAxLjQwMy0uNzUgMi43LTEuOTY1IDMuNDAzbC00OC41NyAyOC4wNDJhMy45MjkgMy45MjkgMCAwIDEtMy45MyAwbC00OC41Ny0yOC4wNDJBMy45MzEgMy45MzEgMCAwIDEgNzYgMTQwLjA1NVY4My45N2MuMDAxLTEuNDA0Ljc1LTIuNyAxLjk2NS0zLjQwMyIvPjxwYXRoIGZpbGw9IiM0QjMyQzMiIGQ9Ik0yNTQuNDE3IDEwNy40MTdMMTk2LjMyMyA2LjM1QzE5NC4yMTMgMi42OTYgMTkwLjMxNSAwIDE4Ni4wOTUgMEg2OS45MDZjLTQuMjIgMC04LjEyIDIuNjk2LTEwLjIzIDYuMzVMMS41ODMgMTA3LjE5NGMtMi4xMSAzLjY1NS0yLjExIDguMjY4IDAgMTEuOTIzbDU4LjA5MyAxMDAuMjM5YzIuMTEgMy42NTQgNi4wMSA1LjUyMiAxMC4yMyA1LjUyMmgxMTYuMTg4YzQuMjIgMCA4LjExOS0xLjgxMiAxMC4yMjgtNS40NjdsNTguMDk0LTEwMC40MDJjMi4xMTItMy42NTMgMi4xMTItNy45MzggMC0xMS41OTJabS00OC4xMDUgNDguNmMwIDEuNDg1LS44OTQgMi44Ni0yLjE4MiAzLjYwNGwtNzMuOTk5IDQyLjY5M2E0LjIxIDQuMjEgMCAwIDEtNC4xODYgMGwtNzQuMDU2LTQyLjY5M2MtMS4yODctLjc0NC0yLjE4OC0yLjExOC0yLjE4OC0zLjYwNVY3MC42MjhjMC0xLjQ4Ny44ODgtMi44NiAyLjE3Ni0zLjYwNGw3My45OTUtNDIuNjk0YTQuMjAyIDQuMjAyIDAgMCAxIDQuMTg1IDBsNzQuMDYgNDIuNjk0YzEuMjg5Ljc0NCAyLjE5NSAyLjExNyAyLjE5NSAzLjYwNHY4NS4zODhaIi8+PC9zdmc+",url:"https://eslint.org",tagline:"Find and fix problems in your JavaScript code",repo:"eslint/eslint",links:[{label:"Docs",href:"https://eslint.org/docs/latest/"}]},{category:"Linter",label:"Prettier",flag:"prettier",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDI1NiI+PHJlY3Qgd2lkdGg9IjI0LjM4MSIgaGVpZ2h0PSIxMi4xOSIgeD0iMTgyLjg1NyIgeT0iNDguNzYyIiBmaWxsPSIjNTZCM0I0IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI3My4xNDMiIGhlaWdodD0iMTIuMTkiIHk9IjI0My44MSIgZmlsbD0iI0VBNUU1RSIgcng9IjUiLz48cmVjdCB3aWR0aD0iNDguNzYyIiBoZWlnaHQ9IjEyLjE5IiB4PSIxNDYuMjg2IiB5PSIxNDYuMjg2IiBmaWxsPSIjQkY4NUJGIiByeD0iNSIvPjxyZWN0IHdpZHRoPSI2MC45NTIiIGhlaWdodD0iMTIuMTkiIHg9IjczLjE0MyIgeT0iMTQ2LjI4NiIgZmlsbD0iI0VBNUU1RSIgcng9IjUiLz48cmVjdCB3aWR0aD0iNjAuOTUyIiBoZWlnaHQ9IjEyLjE5IiB5PSIxNDYuMjg2IiBmaWxsPSIjNTZCM0I0IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI3My4xNDMiIGhlaWdodD0iMTIuMTkiIHk9IjE5NS4wNDgiIGZpbGw9IiNCRjg1QkYiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjczLjE0MyIgaGVpZ2h0PSIxMi4xOSIgeT0iOTcuNTI0IiBmaWxsPSIjQkY4NUJGIiByeD0iNSIvPjxyZWN0IHdpZHRoPSIxMzQuMDk1IiBoZWlnaHQ9IjEyLjE5IiB4PSI2MC45NTIiIHk9IjI0LjM4MSIgZmlsbD0iI0Y3QkEzRSIgcng9IjUiLz48cmVjdCB3aWR0aD0iNDguNzYyIiBoZWlnaHQ9IjEyLjE5IiB5PSIyNC4zODEiIGZpbGw9IiNFQTVFNUUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjI0LjM4MSIgaGVpZ2h0PSIxMi4xOSIgeD0iNDguNzYyIiB5PSIyMTkuNDI5IiBmaWxsPSIjRjdCQTNFIiByeD0iNSIvPjxyZWN0IHdpZHRoPSIyNC4zODEiIGhlaWdodD0iMTIuMTkiIHg9IjQ4Ljc2MiIgeT0iNzMuMTQzIiBmaWxsPSIjNTZCM0I0IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIzNi41NzEiIGhlaWdodD0iMTIuMTkiIHk9IjIxOS40MjkiIGZpbGw9IiM1NkIzQjQiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjM2LjU3MSIgaGVpZ2h0PSIxMi4xOSIgeT0iNzMuMTQzIiBmaWxsPSIjRjdCQTNFIiByeD0iNSIvPjxyZWN0IHdpZHRoPSIyNC4zODEiIGhlaWdodD0iMTIuMTkiIHg9IjE1OC40NzYiIHk9IjIxOS40MjkiIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI2MC45NTIiIGhlaWdodD0iMTIuMTkiIHg9Ijg1LjMzMyIgeT0iMjE5LjQyOSIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjYwLjk1MiIgaGVpZ2h0PSIxMi4xOSIgeD0iMTk1LjA0OCIgeT0iMjE5LjQyOSIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjEwOS43MTQiIGhlaWdodD0iMTIuMTkiIHg9Ijk3LjUyNCIgeT0iMTIxLjkwNSIgZmlsbD0iIzU2QjNCNCIgcng9IjUiLz48cmVjdCB3aWR0aD0iNDguNzYyIiBoZWlnaHQ9IjEyLjE5IiB4PSIzNi41NzEiIHk9IjEyMS45MDUiIGZpbGw9IiNGN0JBM0UiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjI0LjM4MSIgaGVpZ2h0PSIxMi4xOSIgeT0iMTIxLjkwNSIgZmlsbD0iI0VBNUU1RSIgcng9IjUiLz48cmVjdCB3aWR0aD0iNjAuOTUyIiBoZWlnaHQ9IjEyLjE5IiB4PSIxMDkuNzE0IiB5PSI0OC43NjIiIGZpbGw9IiNCRjg1QkYiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9Ijk3LjUyNCIgaGVpZ2h0PSIxMi4xOSIgeT0iNDguNzYyIiBmaWxsPSIjNTZCM0I0IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIxMjEuOTA1IiBoZWlnaHQ9IjEyLjE5IiB4PSIzNi41NzEiIHk9IjE3MC42NjciIGZpbGw9IiNGN0JBM0UiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjI0LjM4MSIgaGVpZ2h0PSIxMi4xOSIgeT0iMTcwLjY2NyIgZmlsbD0iI0JGODVCRiIgcng9IjUiLz48cmVjdCB3aWR0aD0iNzMuMTQzIiBoZWlnaHQ9IjEyLjE5IiB4PSIxNDYuMjg2IiB5PSI3My4xNDMiIGZpbGw9IiNFQTVFNUUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjczLjE0MyIgaGVpZ2h0PSIxMi4xOSIgeD0iMTQ2LjI4NiIgeT0iOTcuNTI0IiBmaWxsPSIjRjdCQTNFIiByeD0iNSIvPjxyZWN0IHdpZHRoPSIxNTguNDc2IiBoZWlnaHQ9IjEyLjE5IiBmaWxsPSIjNTZCM0I0IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI4NS4zMzMiIGhlaWdodD0iMTIuMTkiIHg9IjE3MC42NjciIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIzNi41NzEiIGhlaWdodD0iMTIuMTkiIHg9IjE3MC42NjciIHk9IjE3MC42NjciIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIzNi41NzEiIGhlaWdodD0iMTIuMTkiIHg9IjIxOS40MjkiIHk9IjE3MC42NjciIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI0OC43NjIiIGhlaWdodD0iMTIuMTkiIHg9IjIwNy4yMzgiIHk9IjE0Ni4yODYiIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI0OC43NjIiIGhlaWdodD0iMTIuMTkiIHg9IjIwNy4yMzgiIHk9IjI0LjM4MSIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjM2LjU3MSIgaGVpZ2h0PSIxMi4xOSIgeD0iMjE5LjQyOSIgeT0iMTIxLjkwNSIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjM2LjU3MSIgaGVpZ2h0PSIxMi4xOSIgeD0iMjE5LjQyOSIgeT0iNDguNzYyIiBmaWxsPSIjRDBENEQ4IiBvcGFjaXR5PSIuNSIgcng9IjUiLz48cmVjdCB3aWR0aD0iMjQuMzgxIiBoZWlnaHQ9IjEyLjE5IiB4PSIyMzEuNjE5IiB5PSI3My4xNDMiIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIyNC4zODEiIGhlaWdodD0iMTIuMTkiIHg9IjIzMS42MTkiIHk9Ijk3LjUyNCIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjEyMS45MDUiIGhlaWdodD0iMTIuMTkiIHg9IjEzNC4wOTUiIHk9IjE5NS4wNDgiIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIzNi41NzEiIGhlaWdodD0iMTIuMTkiIHg9Ijg1LjMzMyIgeT0iMTk1LjA0OCIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjczLjE0MyIgaGVpZ2h0PSIxMi4xOSIgeD0iMTgyLjg1NyIgeT0iMjQzLjgxIiBmaWxsPSIjRDBENEQ4IiBvcGFjaXR5PSIuNSIgcng9IjUiLz48cmVjdCB3aWR0aD0iODUuMzMzIiBoZWlnaHQ9IjEyLjE5IiB4PSI4NS4zMzMiIHk9IjI0My44MSIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjQ4Ljc2MiIgaGVpZ2h0PSIxMi4xOSIgeD0iODUuMzMzIiB5PSI3My4xNDMiIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI0OC43NjIiIGhlaWdodD0iMTIuMTkiIHg9Ijg1LjMzMyIgeT0iOTcuNTI0IiBmaWxsPSIjRDBENEQ4IiBvcGFjaXR5PSIuNSIgcng9IjUiLz48L3N2Zz4=",url:"https://prettier.io",tagline:"An opinionated code formatter",repo:"prettier/prettier",links:[{label:"Docs",href:"https://prettier.io/docs/en/"}]},{category:"Linter",label:"Biome",flag:"biome",image:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICdodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQnPjxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSc0OHB4JyBoZWlnaHQ9JzQ4cHgnIHN0eWxlPSdzaGFwZS1yZW5kZXJpbmc6Z2VvbWV0cmljUHJlY2lzaW9uOyB0ZXh0LXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb247IGltYWdlLXJlbmRlcmluZzpvcHRpbWl6ZVF1YWxpdHk7IGZpbGwtcnVsZTpldmVub2RkOyBjbGlwLXJ1bGU6ZXZlbm9kZCcgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjxnPjxwYXRoIHN0eWxlPSdvcGFjaXR5OjEnIGZpbGw9JyNlNWIxMWMnIGQ9J00gMzEuNSw0MS41IEMgMjguODMzMyw0MS41IDI2LjE2NjcsNDEuNSAyMy41LDQxLjVDIDIzLjUsMzguODMzMyAyMy41LDM2LjE2NjcgMjMuNSwzMy41QyAyNS4yNjQ2LDMyLjUzODYgMjcuMjY0NiwzMi4yMDUzIDI5LjUsMzIuNUMgMjkuNzczMywzMC41NDkgMjkuMTA2NiwyOS4wNDkgMjcuNSwyOEMgMjMuODQ4NCwyNy41MDE0IDIwLjE4MTcsMjcuMzM0NyAxNi41LDI3LjVDIDE2LjUsMzIuNSAxNi41LDM3LjUgMTYuNSw0Mi41QyAxMy4xNjY3LDQyLjUgOS44MzMzMyw0Mi41IDYuNSw0Mi41QyA2LjUsMzQuNSA2LjUsMjYuNSA2LjUsMTguNUMgMTMuNSwxOC41IDIwLjUsMTguNSAyNy41LDE4LjVDIDI4LjU4NjIsMTguMzggMjkuMjUyOCwxNy43MTMzIDI5LjUsMTYuNUMgMjkuNDU3MywxNS41ODM2IDI5LjEyMzksMTQuOTE2OSAyOC41LDE0LjVDIDIxLjQ5MjEsMTQuNjY2MyAxNC40OTIxLDE0LjQ5OTYgNy41LDE0QyA2LjU0OTQ4LDEwLjk0MzMgNi4yMTYxNCw3Ljc3NjU5IDYuNSw0LjVDIDE0Ljg0LDQuMzMzNiAyMy4xNzMzLDQuNTAwMjcgMzEuNSw1QyAzOS44NjA5LDkuMjUxNDYgNDEuNTI3NSwxNS4yNTE1IDM2LjUsMjNDIDQxLjc1NiwyOC41OTM1IDQxLjc1NiwzNC4yNjAyIDM2LjUsNDBDIDM0Ljk3NTEsNDEuMDA4NiAzMy4zMDg0LDQxLjUwODYgMzEuNSw0MS41IFonLz48L2c+PGc+PHBhdGggc3R5bGU9J29wYWNpdHk6MC42ODInIGZpbGw9JyM5MjhlMzYnIGQ9J00gMjguNSwxNC41IEMgMjkuMTIzOSwxNC45MTY5IDI5LjQ1NzMsMTUuNTgzNiAyOS41LDE2LjVDIDI5LjI1MjgsMTcuNzEzMyAyOC41ODYyLDE4LjM4IDI3LjUsMTguNUMgMjguMjM0MSwxNy4yOTIxIDI4LjU2NzQsMTUuOTU4NyAyOC41LDE0LjUgWicvPjwvZz48Zz48cGF0aCBzdHlsZT0nb3BhY2l0eTowLjc1OCcgZmlsbD0nI2M0YTMyMycgZD0nTSAyMy41LDMzLjUgQyAyMy41LDM2LjE2NjcgMjMuNSwzOC44MzMzIDIzLjUsNDEuNUMgMjYuMTY2Nyw0MS41IDI4LjgzMzMsNDEuNSAzMS41LDQxLjVDIDI4LjcxMzEsNDIuNDc2NyAyNS43MTMxLDQyLjgxIDIyLjUsNDIuNUMgMjIuMTksMzkuMjg2OSAyMi41MjMzLDM2LjI4NjkgMjMuNSwzMy41IFonLz48L2c+PC9zdmc+Cg==",url:"https://biomejs.dev",spectrum:"bleeding_edge"},{category:"Linter",label:"Oxlint",flag:"oxlint",image:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQwIDI0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj4KPHBhdGggZD0iTTIwIDIwaDIwMHYyMDBIMjB6IiBmaWxsPSIjOTFFREU5Ii8+CjxwYXRoIGQ9Ik0yMjkgMjIzSDEzdi00My41czE5LjE4LTE1LjggMjguNS0xNi41YzExLjg0LS44OSAxNC43OCAzLjYgMjYuNSA1LjUgMTIuMzMgMiAyMC4yNS0xMC45IDMyLjUtOC41IDEyLjUgMi40NCAyOC42NyAxMS44NiAzOSAxMS41IDIxLjg0LS43NiAyMC41NS00Ljg3IDM4LjUtMSA3LjYzIDEuNjUgMTUuNzctMTQuNDIgMjguNS0xMiA2LjQ1IDEuMjIgMjIuNSAyLjUgMjIuNSAyLjV2NjJaIiBmaWxsPSIjNDhBQ0JBIi8+CjxwYXRoIGQ9Ik0yMjIgMjIzSDEwdi00MHMxOS42OC0xMC44IDI5LTExLjVjMTEuODQtLjg5IDE0LjI4IDcuOTMgMjYgOS44NCAxMi4zMyAyIDE2Ljc1LTEwLjI0IDI5LTcuODQgMTIuNSAyLjQ0IDIyLjY3IDE0LjM2IDMzIDE0IDIxLjg0LS43NiAyMy4wNS0xMS4zNyA0MS03LjUgNy42MyAxLjY1IDkuNSA1LjUgMjcuNSAxLjM0UzIyMiAxODMgMjIyIDE4M3Y0MFoiIGZpbGw9IiMyQjNDNUEiLz4KPC9nPgo8cGF0aCBkPSJNMTI3LjAyIDQyLjQ5YTE3IDE3IDAgMSAwLTE0LjA0IDBMMTEyLjU1IDU1aC0uMDVsLTIzLjczIDEuNzlhMyAzIDAgMCAwLTIuNzcgM3Y2LjQzYTMgMyAwIDAgMCAyLjc3IDNMMTEyIDcxbC0xLjEgNDEuNzdjLS4zNCAxMi42MS0yLjQgMjguMDctMTQuNzEgMzAuNzctMS4zNy4zLTIuNzcuNDYtNC4xOS40Ni03LjM5IDAtMTUuOTEtOS4xLTIxLjM3LTE4LjQyYTYyLjcgNjIuNyAwIDAgMSA2LjY0LTIuNDRjMS4zLS40IDEuNTUtMi4yMi40Mi0yLjk3LTguMTgtNS40LTE0LjY3LTEyLjY3LTE4LjY1LTIxLjA2LS41NS0xLjE2LTIuMi0xLjI0LTIuNzUtLjA5YTY1LjA3IDY1LjA3IDAgMCAwLTMuNTIgOSA2Mi40IDYyLjQgMCAwIDAtMi4wOCAyNy42NGwuMS42Yy4yIDEuMiAxLjY4IDEuNjMgMi41Ni43OGE1NS40MyA1NS40MyAwIDAgMSA1LjIzLTQuNDdDNjguNjMgMTY0LjIgMTAyLjIyIDE4MCAxMjAgMTgwYzE3Ljc5IDAgNTEuMzktMTUuODIgNjEuNDItNDcuNDVhNTUuMzggNTUuMzggMCAwIDEgNS4yNCA0LjQ4Yy44Ny44NSAyLjM3LjQyIDIuNTYtLjc4bC4wNS0uMzIuMDQtLjI3YTYyLjU3IDYyLjU3IDAgMCAwLTIuMDctMjcuNjMgNjUuMjEgNjUuMjEgMCAwIDAtMy41LTljLS41NC0xLjE1LTIuMi0xLjA2LTIuNzQuMS0zLjk3IDguMzgtMTAuNDMgMTUuNjQtMTguNTcgMjEuMDQtMS4xMy43NS0uODcgMi41Ny40MyAyLjk3YTYxLjk4IDYxLjk4IDAgMCAxIDYuNTMgMi40MWMtNS40NiA5LjM0LTE0IDE4LjQ1LTIxLjM5IDE4LjQ1YTE5LjQgMTkuNCAwIDAgMS00LjE4LS40NmMtMTIuMzMtMi43LTE0LjM4LTE4LjE2LTE0LjcyLTMwLjc3TDEyOCA3MWwyMy4yMy0xLjc5YTMgMyAwIDAgMCAyLjc3LTIuOTl2LTYuNDRhMyAzIDAgMCAwLTIuNzctMi45OUwxMjcuNSA1NWgtLjA1bC0uNDMtMTIuNTFaTTEzMCAyN2ExMCAxMCAwIDEgMS0yMCAwIDEwIDEwIDAgMCAxIDIwIDBaIiBmaWxsPSIjRkY5MTVDIiBzdHJva2U9IiMyQjNDNUEiIHN0cm9rZS13aWR0aD0iOCIgcGFpbnQtb3JkZXI9InN0cm9rZSIvPgo8cGF0aCBkPSJNODYgNjcuMTVhMiAyIDAgMCAwIDEuODUgMkwxMTIgNzFsNi42My02LjYzYS44LjggMCAwIDAtLjU2LTEuMzdIODZ2NC4xNVpNMTgyLjEyIDk4LjgxYS45LjkgMCAwIDEgMS41Ny4xIDY1LjI2IDY1LjI2IDAgMCAxIDMuNTUgOS4xMiA2Mi41NyA2Mi41NyAwIDAgMSAxLjk4IDI4LjIyYy0uMiAxLjItMS42OSAxLjYzLTIuNTcuNzhhNTYuNjkgNTYuNjkgMCAwIDAtMTEuMDktOC4zNiAxLjU1IDEuNTUgMCAwIDEtLjY0LTEuOThjMy4zNy03LjU4IDUuODUtMTYuNjcgNy4wNS0yNy40N2EuOTQuOTQgMCAwIDEgLjE1LS40WiIgZmlsbD0iIzhBMzgwRiIvPgo8cGF0aCBkPSJtMTI3IDQyIC41IDEzLTUuODIgNS40M2ExIDEgMCAwIDEtMS42OC0uNzNWNDJoN1ptNTcgNzhjLTQgNDAtNDQgNjAtNjQgNjBWNjQuNWExLjUgMS41IDAgMCAxIDEuNS0xLjVIMTU0djMuMjlhMyAzIDAgMCAxLTIuNyAyLjk4TDEyOCA3MWwxLjEgNDEuNzdjLjM0IDEyLjYxIDIuMzcgMjguMSAxNC43IDMwLjc4YTE5IDE5IDAgMCAwIDQuMTMuNDUgNSA1IDAgMCAwLTMuNjUgMS42MmMtNC44NyA1LjgtMTAuNCAxMS42NC0xOC41NyAxNC4yOCAyMS41IDEgNTEuMS0xMy42MyA1Ni4yOS02MC45bDIgMjFaIiBmaWxsPSIjOEEzODBGIi8+CjxwYXRoIGQ9Ik0xMjIgMzkuOWMtMS4xLjExLTIgMS0yIDIuMXMuOSAyLjAxIDIgMS44OGExNyAxNyAwIDAgMCAxMC4wMi00Ljg2QTE3IDE3IDAgMCAwIDEzNyAyNy4wOGEuMDguMDggMCAwIDAtLjA4LS4wOC4wOC4wOCAwIDAgMC0uMDguMDdDMTM1Ljc5IDMzLjggMTI5LjY3IDM5LjEgMTIyIDM5LjlaIiBmaWxsPSIjOEEzODBGIi8+CjxjbGlwUGF0aCBpZD0iYSI+CjxyZWN0IHg9IjIwIiB5PSIyMCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHJ4PSIxMDAiLz4KPC9jbGlwUGF0aD4KPC9zdmc+Cg==",url:"https://oxc.rs/docs/guide/usage/linter.html",spectrum:"bleeding_edge"},{category:"Error tracking",label:"Sentry",flag:"sentry",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjEzZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyNyI+PHBhdGggZmlsbD0iIzM2MkQ1OSIgZD0iTTE0OC4zNjggMTIuNDAzYTIzLjkzNSAyMy45MzUgMCAwIDAtNDEuMDAzIDBMNzMuNjQgNzAuMTY1YzUyLjQyNiAyNi4xNzQgODcuMDUgNzguMTc3IDkwLjk3NSAxMzYuNjQyaC0yMy42NzljLTMuOTE4LTUwLjExMy0zNC4wNjEtOTQuNDEtNzkuMjM4LTExNi40NDhsLTMxLjIxMyA1My45N2E4MS41OTUgODEuNTk1IDAgMCAxIDQ3LjMwNyA2Mi4zNzVoLTU0LjM4YTMuODk1IDMuODk1IDAgMCAxLTMuMTc4LTUuNjlsMTUuMDY5LTI1LjYyNmE1NS4wNDYgNTUuMDQ2IDAgMCAwLTE3LjIyMS05LjczOEwzLjE2NyAxOTEuMjc3YTIzLjI2OSAyMy4yNjkgMCAwIDAgOC42NjIgMzEuOTgyYTIzLjg4NCAyMy44ODQgMCAwIDAgMTEuNTgzIDMuMDc1aDc0LjQ3MWE5OS40MzIgOTkuNDMyIDAgMCAwLTQxLjAwMy04OC43MmwxMS44NC0yMC41YzM1LjY3OSAyNC41MDQgNTUuNzU0IDY2LjAzOCA1Mi43OSAxMDkuMjJoNjMuMDk0YzIuOTktNjUuNDMtMjkuMDQ3LTEyNy41MTItODQuMTA3LTE2Mi45ODZsMjMuOTM1LTQxLjAwMmEzLjk0NyAzLjk0NyAwIDAgMSA1LjM4Mi0xLjM4NGMyLjcxNiAxLjQ4NiAxMDMuOTkzIDE3OC4yMDggMTA1Ljg5IDE4MC4yNThhMy44OTUgMy44OTUgMCAwIDEtMy40ODYgNS43OTJoLTI0LjM5NmMuMzA3IDYuNTI2LjMwNyAxMy4wMzUgMCAxOS41MjhoMjQuNDk5QTIzLjUyOCAyMy41MjggMCAwIDAgMjU2IDIwMi45MWEyMy4wMTUgMjMuMDE1IDAgMCAwLTMuMTc4LTExLjY4NUwxNDguMzY4IDEyLjQwM1oiLz48L3N2Zz4=",url:"https://sentry.io"},{category:"Error tracking",label:"Logrocket",flag:"logrocket",image:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAuMDAgMC4wMCAxMTQ2LjAwIDE3ODMuMDAiPgo8cGF0aCBmaWxsPSIjNzE1MmExIiBkPSIKICBNIDM3Mi4yNCAxMjc5Ljc3CiAgUSAzNDYuNTQgMTI5OC44OCAzMjIuMTggMTMxOS42OAogIEMgMjkyLjkwIDEzNDQuNjYgMjYzLjgwIDEzNjkuNzYgMjM0LjEzIDEzOTQuMjkKICBDIDIwMi45MyAxNDIwLjA5IDE3NS40MyAxNDU1LjExIDEzMC4zNCAxNDQ3LjYyCiAgQyAxMDEuNDYgMTQ0Mi44MyA3NS4xMCAxNDIzLjM2IDY4LjE3IDEzOTMuOTYKICBDIDQ3LjM2IDEzMDUuNzggMjYuNDMgMTIxNy42MiA2LjQ0IDExMjkuMjUKICBRIDMuNjAgMTExNi42OCAyLjU1IDExMDkuNjQKICBDIC04Ljg3IDEwMzIuNDMgMjMuMTAgOTU1LjU1IDgzLjQ3IDkwNi44OQogIFEgMTM0Ljk3IDg2NS4zOCAxODcuNTMgODI1LjIxCiAgQyAxOTEuNDkgODIyLjE4IDE5My4yMSA4MTkuMDYgMTkyLjkxIDgxNC4yNQogIEMgMTc5LjY3IDYwMy40MyAyNDguMjYgMzk5LjYwIDM2MS40NiAyMjQuMjAKICBDIDM4My43MiAxODkuNjkgNDA4LjY2IDE1Ni40NyA0MzUuMDcgMTIzLjU3CiAgQyA0NzMuODUgNzUuMjQgNTE3LjU1IDMyLjM2IDU3MC42NiAwLjYwCiAgQSAwLjgxIDAuODAgLTQ1LjMgMCAxIDU3MS41MCAwLjU5CiAgQyA2NDguNjkgNDYuMTcgNzA1LjA0IDExNi4wMCA3NTYuNzcgMTg4LjU0CiAgUSA3NjIuODYgMTk3LjA3IDc2OC4yMSAyMDQuOTUKICBDIDg4OS44MiAzODQuMTEgOTY0LjI0IDYwMC4xNyA5NDkuNTkgODE4LjczCiAgQSAwLjk5IDAuOTggMjEuNSAwIDAgOTQ5Ljk1IDgxOS41NQogIEMgOTkyLjA4IDg1My4zOSAxMDM4LjgyIDg4OC43OSAxMDcyLjIxIDkxNy4wMwogIFEgMTA4OC4xMCA5MzAuNDYgMTEwMy42MyA5NTIuMzQKICBRIDExNDYuNzYgMTAxMy4wOSAxMTQ1LjI5IDEwODcuMjQKICBDIDExNDUuMDIgMTEwMS4wNiAxMTQyLjgyIDExMTQuMTUgMTEzOS42OCAxMTI5LjQ4CiAgQyAxMTIxLjQzIDEyMTguNzMgMTEwMi4yMSAxMzE1LjQ2IDEwODMuOTMgMTM5Ni45MwogIEMgMTA3My41NCAxNDQzLjIwIDEwMTMuNzMgMTQ2My4wMiA5NzQuNjAgMTQ0Mi4xMwogIFEgOTY4LjY2IDE0MzguOTYgOTU4LjcwIDE0MzAuODMKICBDIDg5Ni40OCAxMzc5Ljk2IDgzNC42MiAxMzI4LjcwIDc3Mi40OSAxMjc3Ljg5CiAgQSAwLjg1IDAuODQgNDMuMyAwIDAgNzcxLjM4IDEyNzcuOTIKICBDIDcxOS4xMSAxMzI1LjgyIDY1Mi4zMyAxMzU0Ljg4IDU4MS40NSAxMzU3LjY4CiAgQyA1MDUuMTMgMTM2MC42OSA0MzAuMjkgMTMzMC43MyAzNzMuMTQgMTI3OS44MQogIEEgMC43MSAwLjcxIDAuMCAwIDAgMzcyLjI0IDEyNzkuNzcKICBaCiAgTSA0MDkuOTcgNTkyLjcwCiAgQyA0MjEuNDggNjg1LjIxIDUwNy45OSA3NDIuODggNTk5LjI0IDcyOC40NgogIEMgNjM1LjgyIDcyMi42OCA2NjguMDcgNzA1LjQ4IDY5Mi45NCA2NzguNDQKICBDIDc1MC40OCA2MTUuODUgNzQ2LjQ4IDUyMC4yNiA2ODQuMTkgNDYyLjU1CiAgUSA2MzkuMjEgNDIwLjg5IDU3Ni4wMSA0MTguNjEKICBDIDQ4MC42NyA0MTUuMTggMzk3Ljg4IDQ5NS40NSA0MDkuOTcgNTkyLjcwCiAgWiIKLz4KPGVsbGlwc2UgZmlsbD0iIzcxNTJhMSIgY3g9IjAuMDAiIGN5PSIwLjAwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NjkuODYsNTc2LjU1KSByb3RhdGUoLTAuMSkiIHJ4PSI3OS41MCIgcnk9Ijc2LjQ1Ii8+CjxwYXRoIGZpbGw9IiM3MTUyYTEiIGQ9IgogIE0gNDYyLjgzIDE2MTkuNzkKICBBIDAuNzAgMC43MCAwLjAgMCAwIDQ2MS43MiAxNjE5LjYyCiAgUSA0NDguMTIgMTYzMy4wMCA0MzQuMzYgMTY0Ni4zNgogIFEgNDIwLjc0IDE2NTkuNTcgNDEzLjQ0IDE2NjUuMTkKICBDIDM5NC4yMCAxNjc5Ljk5IDM1OS43NCAxNjY3LjIxIDM1NC43NyAxNjQzLjI1CiAgUSAzNTQuMDYgMTYzOS44MyAzNTQuMDIgMTYzMy4yMQogIFEgMzUzLjUwIDE1NTIuNTQgMzU0LjA4IDE0NzEuODcKICBRIDM1NC4xNCAxNDYyLjk2IDM1NS41NiAxNDU4LjQzCiAgUSAzNTguMzEgMTQ0OS42OSAzNjUuMTYgMTQ0My45MAogIFEgMzg3LjA4IDE0MjUuMzggNDEyLjEyIDE0MzguMDgKICBDIDUwOS4xMSAxNDg3LjI5IDYzMi4zMyAxNDg2LjE0IDcyOS41MyAxNDM4LjUzCiAgUSA3MzYuNjkgMTQzNS4wMiA3NDEuMDEgMTQzNC4xMAogIEMgNzU4Ljk2IDE0MzAuMjcgNzgwLjcyIDE0MzkuNTggNzg2LjY1IDE0NTguMTQKICBRIDc4OC4yMCAxNDYzLjAwIDc4OC4yOCAxNDc0LjUzCiAgUSA3ODkuMDMgMTU5Mi4yMyA3ODguMzAgMTYzOS43NQogIFEgNzg4LjI2IDE2NDIuNjIgNzg2LjQ4IDE2NDcuMzkKICBDIDc3OS4xOCAxNjY3LjA2IDc1Mi4wNSAxNjc3LjQwIDczMy4zNyAxNjY3Ljc4CiAgQyA3MjguMTkgMTY2NS4xMSA3MjEuNTYgMTY1OS4wMCA3MTcuNjkgMTY1NS4zMQogIFEgNjk4Ljg2IDE2MzcuMzkgNjgwLjI4IDE2MTkuMzYKICBBIDAuNTAgMC41MCAwLjAgMCAwIDY3OS40OSAxNjE5LjQ5CiAgQyA2NTUuODUgMTY2NC42MSA2MzIuODkgMTcxMC4yMCA2MDguNzcgMTc1NS4xMwogIFEgNjAyLjU0IDE3NjYuNzQgNjAyLjM3IDE3NjYuOTkKICBDIDU5MC4yNCAxNzg1LjQzIDU1OS41NiAxNzg2LjkyIDU0NC4yNSAxNzcxLjg5CiAgUSA1NDAuODcgMTc2OC41OCA1MzYuNDIgMTc2MC4yNwogIEMgNTExLjQ0IDE3MTMuNjUgNDg3LjU5IDE2NjYuNDQgNDYyLjgzIDE2MTkuNzkKICBaIgovPgo8L3N2Zz4K",url:"https://logrocket.com",disabled:!0},{category:"Tooling",label:"Storybook",flag:"storybook",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDY0IDY0Ij48dGl0bGU+aWNvbi1zdG9yeWJvb2stc3F1YXJlPC90aXRsZT48ZGVmcz48cGF0aCBpZD0icGF0aC0xIiBkPSJNMS45NDY0OTk1NSw1Ny4xMzA5NDcyIEwwLjAwMjI1OTczMTE2LDUuOTU0NzY2NjMgQy0wLjA2MTk1MDg4MzMsNC4yNjQ2MTgxNCAxLjI0OTkyMjg4LDIuODMyMjM2OTcgMi45NTg3MTUxOSwyLjcyNjczNDE4IEw0Ny4wMjI2NTM4LDAuMDA2MTc2Mjg0OTEgQzQ4Ljc2MjAwMDUsLTAuMTAxMjEyOTYgNTAuMjYwMTQ1OCwxLjIwNDYyOTggNTAuMzY4ODU1LDIuOTIyODU3NzEgQzUwLjM3Mjk1MDUsMi45ODc1OTM5MSA1MC4zNzUsMy4wNTI0NDA2MyA1MC4zNzUsMy4xMTczMDMxNSBMNTAuMzc1LDU4Ljg4MjgwMjggQzUwLjM3NSw2MC42MDQzODMxIDQ4Ljk2MjIyOTYsNjIgNDcuMjE5NDg5NCw2MiBDNDcuMTcyMjc3Niw2MiA0Ny4xMjUwNzIxLDYxLjk5ODk1MzQgNDcuMDc3OTA4LDYxLjk5Njg2MDYgTDQuOTU4MjA5MDQsNjAuMTI4MDk5NyBDMy4zMTc4MTMzMyw2MC4wNTUzMTg5IDIuMDA4MDgyMDMsNTguNzUxOTE4IDEuOTQ2NDk5NTUsNTcuMTMwOTQ3MiBaIi8+PC9kZWZzPjxnIGlkPSJpY29uLXN0b3J5Ym9vay1zcXVhcmUiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiPjxnIGlkPSJpY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAwMDAwMCwgMS4wMDAwMDApIj48cGF0aCBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiNGRjQ3ODUiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTUwLjM2ODg1NSwyLjkyMjg1NzcxIEM1MC4zNzI5NTA1LDIuOTg3NTkzOTEgNTAuMzc1LDMuMDUyNDQwNjMgNTAuMzc1LDMuMTE3MzAzMTUgTDUwLjM3NSw1OC44ODI4MDI4IEM1MC4zNzUsNjAuNjA0MzgzMSA0OC45NjIyMjk2LDYyIDQ3LjIxOTQ4OTQsNjIgQzQ3LjE3MjI3NzYsNjIgNDcuMTI1MDcyMSw2MS45OTg5NTM0IDQ3LjA3NzkwOCw2MS45OTY4NjA2IEw0Ljk1ODIwOTA0LDYwLjEyODA5OTcgQzMuMzE3ODEzMzMsNjAuMDU1MzE4OSAyLjAwODA4MjAzLDU4Ljc1MTkxOCAxLjk0NjQ5OTU1LDU3LjEzMDk0NzIgTDAuMDAyMjU5NzMxMTYsNS45NTQ3NjY2MyBDLTAuMDYxOTUwODgzMyw0LjI2NDYxODE0IDEuMjQ5OTIyODgsMi44MzIyMzY5NyAyLjk1ODcxNTE5LDIuNzI2NzM0MTggTDM3LjQ5OSwwLjU5NCBMMzcuMTk4MTMyNCw3LjYyMDc4NzY2IEMzNy4xOTQ3MjI3LDcuNzAxNzk2NjQgMzcuMjEyODIyNCw3Ljc4MTc4NzMxIDM3LjI0OTk4NjksNy44NTMwNTUyNSBMMzcuMjkzNDE1OCw3LjkyMTEzMDI2IEMzNy40NTA1Mjk2LDguMTI1NzM2MzcgMzcuNzQ1ODAwMiw4LjE2NTc4Mjg4IDM3Ljk1MjkyMDksOC4wMTA1NzY3IEwzNy45NTI5MjA5LDguMDEwNTc2NyBMNDAuNzE1ODE5NSw1Ljk0MDE5Njc4IEw0My4wNDkzOTY1LDcuNzU2MTg1MzcgQzQzLjEzNjgzODgsNy44MjQyMzI3OSA0My4yNDU4NjM0LDcuODU5NDY1ODQgNDMuMzU3MTEwNiw3Ljg1NTYyODEzIEM0My42MTY5MjEzLDcuODQ2NjY1NTMgNDMuODIwMTg0NCw3LjYzMTMzOTEgNDMuODExMTExNSw3LjM3NDY4MzE2IEw0My44MTExMTE1LDcuMzc0NjgzMTYgTDQzLjU1LDAuMjIgTDQ3LjAyMjY1MzgsMC4wMDYxNzYyODQ5MSBDNDguNzYyMDAwNSwtMC4xMDEyMTI5NiA1MC4yNjAxNDU4LDEuMjA0NjI5OCA1MC4zNjg4NTUsMi45MjI4NTc3MSBaIi8+PG1hc2sgaWQ9Im1hc2stMiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjcGF0aC0xIi8+PC9tYXNrPjxwYXRoIGlkPSJTIiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0yOC45MzM4Mzc0LDIzLjQ4MTQzMzEgQzI4LjkzMzgzNzQsMjQuNjk0ODAyOCAzNy4xMzAwNTExLDI0LjExMzI2NjQgMzguMjMwMzIwNiwyMy4yNjA5NTc4IEMzOC4yMzAzMjA2LDE0Ljk5ODE5OTUgMzMuNzg0MTc2NCwxMC42NTYyNSAyNS42NDI1MzU5LDEwLjY1NjI1IEMxNy41MDA4OTUyLDEwLjY1NjI1IDEyLjkzOTI2NjgsMTUuMDY1NzU0MiAxMi45MzkyNjY4LDIxLjY4MDAxNCBDMTIuOTM5MjY2OCwzMy4xOTk4NDk5IDI4LjUyOTY0MjQsMzMuNDIwMzI1MSAyOC41Mjk2NDI0LDM5LjcwMzg3MiBDMjguNTI5NjQyNCw0MS40Njc2NzQ1IDI3LjY2MzUxMDUsNDIuNTE0OTMyMyAyNS43NTgwMjAxLDQyLjUxNDkzMjMgQzIzLjI3NTEwODQsNDIuNTE0OTMyMyAyMi4yOTM0OTIyLDQxLjI1MDQ2OTIgMjIuNDA4OTc2NSwzNi45NTEyMDA0IEMyMi40MDg5NzY1LDM2LjAxODUzMDQgMTIuOTM5MjY2OCwzNS43Mjc3NjIxIDEyLjY1MDU1NjEsMzYuOTUxMjAwNCBDMTEuOTE1MzgxMiw0Ny4zNjk4NTkxIDE4LjQyNDc2OTMsNTAuMzc1IDI1Ljg3MzUwNDQsNTAuMzc1IEMzMy4wOTEyNzA5LDUwLjM3NSAzOC43NSw0Ni41Mzg2MDY5IDM4Ljc1LDM5LjU5MzYzNDEgQzM4Ljc1LDI3LjI0NzAxNTkgMjIuOTI4NjU1NiwyNy41Nzc3Mjg5IDIyLjkyODY1NTYsMjEuNDU5NTM4NyBDMjIuOTI4NjU1NiwxOC45NzkxOTEyIDI0Ljc3NjQwMzksMTguNjQ4NDc4MyAyNS44NzM1MDQ0LDE4LjY0ODQ3ODMgQzI3LjAyODM0NywxOC42NDg0NzgzIDI5LjEwNzA2MzgsMTguODUxNDUxMyAyOC45MzM4Mzc0LDIzLjQ4MTQzMzEgWiIgbWFzaz0idXJsKCNtYXNrLTIpIi8+PHBhdGggaWQ9ImJvb2ttYXJrIiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0zNi44MTI5MTY5LDcuMjc0MDYxMDYgTDM3LjEyMTUyMzMsMC4zNjY4MTQ5NzQgTDQzLjMyNjE1MDMsMCBMNDMuNTkzNDUwMyw3LjAzMjIyNjUzIEM0My42MDI3NTMxLDcuMjg0NDI5NDMgNDMuMzk0MzM5OSw3LjQ5NjAxOTkxIDQzLjEyNzk0NjQsNy41MDQ4MjcgQzQzLjAxMzg4MDQsNy41MDg1OTgxMiA0Mi45MDIwOTM1LDcuNDczOTc2MzcgNDIuODEyNDM1Niw3LjQwNzEwOTU5IEw0MC40MTk3MzIzLDUuNjIyNjI4ODEgTDM3LjU4NjgyOTYsNy42NTcwODcxOCBDMzcuMzc0NDYxMSw3LjgwOTYwMDUgMzcuMDcxNzA5Miw3Ljc3MDI0ODggMzYuOTEwNjE0Niw3LjU2OTE5MjY2IEMzNi44NDI4MDE4LDcuNDg0NTU4MDQgMzYuODA4MjU1NSw3LjM4MDE5OSAzNi44MTI5MTY5LDcuMjc0MDYxMDYgWiIgbWFzaz0idXJsKCNtYXNrLTIpIi8+PC9nPjwvZz48L3N2Zz4=",url:"https://storybook.js.org",tagline:"Build, test & document components",repo:"storybookjs/storybook",links:[{label:"Docs",href:"https://storybook.js.org/docs"}]}],Ht=Vt.map((e=>e.flag));Vt.filter((e=>!e.invisibleCli)).map((e=>e.flag));var U=function(e){return e.Frontend="Frontend",e.Data="Data",e.Deployment="Deployment",e.Utilities="Utilities",e}({}),Ut=[{label:"Frontend Framework",group:U.Frontend,description:"Flexible, robust, community-driven, and fast Vite-based frontend framework.",required:!0},{label:"UI Framework",group:U.Frontend,description:"It’s recommended to choose a frontend lib to kickstart a new Vike project,\nas they each come with a wide range of integrations. You can at any time eject and take control over integration code\nso that it doesn’t get in your way.",required:!0},{label:"CSS",group:U.Frontend,description:"These CSS libraries are deeply integrated with UI frameworks.\nThey showcase their respective recommended usage and how they integrate with Vite and Vike."},{label:"UI Component Libraries",group:U.Frontend,description:"These UI Component Libraries are deeply integrated with UI frameworks.\nThey showcase their respective recommended usage and how they integrate with Vite and Vike."},{label:"Auth",group:U.Data,description:"Ready to use self-hosted or cloud-based Auth solutions.\nRequires to also select a Server of your choosing."},{label:"Data fetching",group:U.Data,description:"Data fetching libraries to help you interact with your backend.\nSelecting one of those usually requires you to also choose a Server."},{label:"Server",group:U.Data,description:"Mostly required by other integrations such as Auth or RPC,\nit's recommended to only install a Server if you really need to, as Vike doesn't require one to operate."},{label:"Database",group:U.Data,description:"Helping you get started with a database solution."},{label:"Hosting",group:U.Deployment,description:"Quickly host your Vike project with a Serverless or VPS (coming soon) solution."},{label:"Linter",multiple:!0,group:U.Utilities,description:"Well known linting and formatting tools, pre-configured to match their recommended usage,\ntailored for Vike."},{label:"Analytics",group:U.Utilities,description:"Keep track of your website traffic with these ready-to-get-started Analytics solutions."},{label:"Error tracking",group:U.Utilities,description:"Coming soon: Error Tracking solution for frontend and backend"},{label:"Tooling",group:U.Utilities,description:"Additional tooling to improve your developer experience."}],W=function(e){return e[e.ERROR_AUTH_R_SERVER=0]="ERROR_AUTH_R_SERVER",e[e.ERROR_COMPILED_R_REACT=1]="ERROR_COMPILED_R_REACT",e[e.ERROR_DRIZZLE_R_SERVER=2]="ERROR_DRIZZLE_R_SERVER",e[e.ERROR_KYSELY_R_SERVER=3]="ERROR_KYSELY_R_SERVER",e[e.ERROR_DATA_R_SERVER=4]="ERROR_DATA_R_SERVER",e[e.ERROR_CLOUDFLARE_R_COMPAT_SERVER=5]="ERROR_CLOUDFLARE_R_COMPAT_SERVER",e[e.ERROR_AWS_R_COMPAT_SERVER=6]="ERROR_AWS_R_COMPAT_SERVER",e[e.ERROR_MANTINE_R_REACT=7]="ERROR_MANTINE_R_REACT",e[e.ERROR_SHADCN_R_REACT=8]="ERROR_SHADCN_R_REACT",e[e.WARN_SHADCN_R_TAILWINDCSS=9]="WARN_SHADCN_R_TAILWINDCSS",e[e.INFO_STACKBLITZ_COMPAT=10]="INFO_STACKBLITZ_COMPAT",e[e.ERROR_STORYBOOK_R_UI_FRAMEWORK=11]="ERROR_STORYBOOK_R_UI_FRAMEWORK",e}({});function Wt(e,t,i){let r=Array.from(Kt(i));return i=>i.has(t)&&!r.every((e=>i.has(e)))&&e}function Gt(e,t){return i=>t(i)&&e}function Kt(e){let t=new Set;for(let i of e)Ht.includes(i)&&t.add(Vt.find((e=>e.flag===i)).category),t.add(i);return t}var qt=[Wt(W.ERROR_AUTH_R_SERVER,"Auth",["Server"]),Wt(W.ERROR_COMPILED_R_REACT,"compiled-css",["react"]),Wt(W.ERROR_DRIZZLE_R_SERVER,"drizzle",["Server"]),Wt(W.ERROR_KYSELY_R_SERVER,"kysely",["Server"]),Wt(W.ERROR_DATA_R_SERVER,"Data fetching",["Server"]),Gt(W.ERROR_CLOUDFLARE_R_COMPAT_SERVER,(e=>!!e.has("cloudflare")&&(!e.has("hono")&&!e.has("h3")&&e.has("Server")))),Gt(W.ERROR_AWS_R_COMPAT_SERVER,(e=>!!e.has("aws")&&!e.has("hono"))),Gt(W.ERROR_MANTINE_R_REACT,(e=>!!e.has("mantine")&&(e.has("vue")||e.has("solid")))),Gt(W.ERROR_SHADCN_R_REACT,(e=>!!e.has("shadcn-ui")&&(e.has("vue")||e.has("solid")))),Gt(W.WARN_SHADCN_R_TAILWINDCSS,(e=>!!e.has("shadcn-ui")&&(e.has("daisyui")||e.has("compiled-css")))),Gt(W.INFO_STACKBLITZ_COMPAT,(e=>e.has("drizzle")||e.has("sqlite")||e.has("kysely")||e.has("cloudflare"))),Gt(W.ERROR_STORYBOOK_R_UI_FRAMEWORK,(e=>!!e.has("storybook")&&(!e.has("react")&&!e.has("vue")&&!e.has("solid"))))];function Jt(e,t){let i=Kt(e),r=[];for(let e of qt){let o=e(i);"number"==typeof o&&(o in t?r.push(t[o]):console.warn("No handler defined for rule",o))}return r}var Yt=Symbol("store-raw"),Xt=Symbol("store-node"),Zt=Symbol("store-has"),Qt=Symbol("store-self");function $t(e){let t=e[v];if(!t&&(Object.defineProperty(e,v,{value:t=new Proxy(e,cn)}),!Array.isArray(e))){let i=Object.keys(e),r=Object.getOwnPropertyDescriptors(e);for(let o=0,a=i.length;o<a;o++){let a=i[o];r[a].get&&Object.defineProperty(e,a,{enumerable:r[a].enumerable,get:r[a].get.bind(t)})}}return t}function en(e){let t;return"object"==typeof e&&!!e&&(e[v]||!(t=Object.getPrototypeOf(e))||t===Object.prototype||Array.isArray(e))}function tn(e,t=new Set){let i,r,o,a;if(i=null!=e&&e[Yt])return i;if(!en(e)||t.has(e))return e;if(Array.isArray(e)){Object.isFrozen(e)?e=e.slice(0):t.add(e);for(let i=0,a=e.length;i<a;i++)o=e[i],(r=tn(o,t))!==o&&(e[i]=r)}else{Object.isFrozen(e)?e=Object.assign({},e):t.add(e);let i=Object.keys(e),n=Object.getOwnPropertyDescriptors(e);for(let l=0,s=i.length;l<s;l++)a=i[l],!n[a].get&&(o=e[a],(r=tn(o,t))!==o&&(e[a]=r))}return e}function nn(e,t){let i=e[t];return i||Object.defineProperty(e,t,{value:i=Object.create(null)}),i}function rn(e,t,i){if(e[t])return e[t];let[r,o]=j(i,{equals:!1,internal:!0});return r.$=o,e[t]=r}function an(e,t){let i=Reflect.getOwnPropertyDescriptor(e,t);return i&&!i.get&&i.configurable&&t!==v&&t!==Xt?(delete i.value,delete i.writable,i.get=()=>e[v][t],i):i}function on(e){me()&&rn(nn(e,Xt),Qt)()}function sn(e){return on(e),Reflect.ownKeys(e)}var cn={get(e,t,i){if(t===Yt)return e;if(t===v)return i;if(t===b)return on(e),i;let r=nn(e,Xt),o=r[t],a=o?o():e[t];if(t===Xt||t===Zt||"__proto__"===t)return a;if(!o){let i=Object.getOwnPropertyDescriptor(e,t);me()&&("function"!=typeof a||e.hasOwnProperty(t))&&(!i||!i.get)&&(a=rn(r,t,a)())}return en(a)?$t(a):a},has:(e,t)=>t===Yt||t===v||t===b||t===Xt||t===Zt||"__proto__"===t||(me()&&rn(nn(e,Zt),t)(),t in e),set:()=>!0,deleteProperty:()=>!0,ownKeys:sn,getOwnPropertyDescriptor:an};function ln(e,t,i,r=!1){if(!r&&e[t]===i)return;let o=e[t],a=e.length;void 0===i?(delete e[t],e[Zt]&&e[Zt][t]&&void 0!==o&&e[Zt][t].$()):(e[t]=i,e[Zt]&&e[Zt][t]&&void 0===o&&e[Zt][t].$());let n,l=nn(e,Xt);if((n=rn(l,t,o))&&n.$((()=>i)),Array.isArray(e)&&e.length!==a){for(let t=e.length;t<a;t++)(n=l[t])&&n.$();(n=rn(l,"length",a))&&n.$(e.length)}(n=l[Qt])&&n.$()}function un(e,t){let i=Object.keys(t);for(let r=0;r<i.length;r+=1){let o=i[r];ln(e,o,t[o])}}function dn(e,t){if("function"==typeof t&&(t=t(e)),t=tn(t),Array.isArray(t)){if(e===t)return;let i=0,r=t.length;for(;i<r;i++){let r=t[i];e[i]!==r&&ln(e,i,r)}ln(e,"length",r)}else un(e,t)}function fn(e,t,i=[]){let r,o=e;if(t.length>1){r=t.shift();let a=typeof r,n=Array.isArray(e);if(Array.isArray(r)){for(let o=0;o<r.length;o++)fn(e,[r[o]].concat(t),i);return}if(n&&"function"===a){for(let o=0;o<e.length;o++)r(e[o],o)&&fn(e,[o].concat(t),i);return}if(n&&"object"===a){let{from:o=0,to:a=e.length-1,by:n=1}=r;for(let r=o;r<=a;r+=n)fn(e,[r].concat(t),i);return}if(t.length>1)return void fn(e[r],t,[r].concat(i));o=e[r],i=[r].concat(i)}let a=t[0];"function"==typeof a&&(a=a(o,i),a===o)||void 0===r&&null==a||(a=tn(a),void 0===r||en(o)&&en(a)&&!Array.isArray(a)?un(o,a):ln(e,r,a))}function pn(...[e,t]){let i=tn(e||{}),r=Array.isArray(i);return[$t(i),function(...e){ue((()=>{r&&1===e.length?dn(i,e[0]):fn(i,e)}))}]}var mn=z("<div style=display:contents>"),hn=ye();function gn(e){let t;fe((()=>{t&&r(vn(t))}));let[i,r]=j(document);return L(hn.Provider,{value:i,get children(){var i=mn();return"function"==typeof t?bt(t,i):t=i,H(i,(()=>e.children)),i}})}function _n(){return F(hn)}function vn(e){let t=e;for(;t;){if(t instanceof ShadowRoot)return t;if(t=t.parentNode,!t||t===document)break}return document}var yn=z('<span class=inline-block>A <span class=font-bold>Server</span> is required when using <span class=font-bold>Auth</span>. Check <a class=link href=https://vike.dev/integration#server-side-tools target=_blank rel=noopener>Vike documentation.</a><ul class="list-custom list-dot"><li>Either pick a server (Express.js / H3 / ...) or unselect <span class=font-bold>'),bn=z('<span class=inline-block><span class=font-bold>React</span> is required when using <span class=font-bold>Compiled</span>.<ul class="list-custom list-dot"><li>Either pick React or unselect <span class=font-bold>Compiled'),xn=z('<span class=inline-block><span class=font-bold>React</span> is required when using <span class=font-bold>Mantine</span>.<ul class="list-custom list-dot"><li>Either pick React or unselect <span class=font-bold>Mantine'),Sn=z('<span class=inline-block>A <span class=font-bold>Server</span> is required when using <span class=font-bold>Drizzle</span>.<ul class="list-custom list-dot"><li>Either pick a server (Express.js / H3 / ...) or unselect <span class=font-bold>Drizzle'),Cn=z('<span class=inline-block>A <span class=font-bold>Server</span> is required when using <span class=font-bold>Kysely</span>.<ul class="list-custom list-dot"><li>Either pick a server (Express.js / H3 / ...) or unselect <span class=font-bold>Kysely'),wn=z('<span class=inline-block>A <span class=font-bold>Server</span> is required when using <span class=font-bold>Data fetching</span>.<ul class="list-custom list-dot"><li>Either pick a server (Express.js / H3 / ...) or unselect <span class=font-bold>'),Tn=z('<span class=inline-block><span class=font-bold>Cloudflare</span> is not compatible with <span class=font-bold></span>.<ul class="list-custom list-dot"><li>Either pick <span class=font-bold>Hono</span>, <span class=font-bold>H3</span>, or unselect <span class=font-bold>'),En=z('<span class=inline-block><ul class="list-custom list-dot"><li>Compatible servers: <span class=font-bold>Hono'),Dn=z("<span class=font-bold>AWS"),On=z("<span class=font-bold>"),kn=z('<span class=inline-block><span class=font-bold>React</span> is required with <span class=font-bold>shadcn/ui</span>.<ul class="list-custom list-dot"><li>Either pick a <span class=font-bold>React</span> or unselect <span class=font-bold>shadcn/ui'),An=z("<span class=inline-block><span class=font-bold>shadcn/ui</span> integration is tied to <span class=font-bold>TailwindCSS</span>. Using another CSS library with it may have unpredictable behaviour."),jn=z('<span class=inline-block><span class=font-bold>Storybook</span> is only supported with <span class=font-bold>React</span>, <span class=font-bold>Vue</span>, or <span class=font-bold>Solid</span>.<ul class="list-custom list-dot"><li>Either pick one of these UI frameworks or unselect <span class=font-bold>Storybook');function G(e){return{type:"error",value:e}}function Mn(e){return{type:"warning",value:e}}function Nn(e){return{type:"invisible",value:e}}var Pn={[W.ERROR_AUTH_R_SERVER]:G((()=>{let{selectedFeatures:e}=F(K),t=N((()=>e().filter((e=>"Auth"===e.category))?.[0].label));return(()=>{var e=yn();return H(e.firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.firstChild.nextSibling,t),e})()})),[W.ERROR_COMPILED_R_REACT]:G((()=>bn())),[W.ERROR_MANTINE_R_REACT]:G((()=>xn())),[W.ERROR_DRIZZLE_R_SERVER]:G((()=>Sn())),[W.ERROR_KYSELY_R_SERVER]:G((()=>Cn())),[W.ERROR_DATA_R_SERVER]:G((()=>{let{selectedFeatures:e}=F(K),t=N((()=>e().filter((e=>"Data fetching"===e.category))?.[0].label));return(()=>{var e=wn();return H(e.firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.firstChild.nextSibling,t),e})()})),[W.ERROR_CLOUDFLARE_R_COMPAT_SERVER]:G((()=>{let{selectedFeatures:e}=F(K),t=N((()=>e().filter((e=>"Server"===e.category))?.[0].label));return(()=>{var e=Tn(),i=e.firstChild.nextSibling.nextSibling,r=i.nextSibling.nextSibling.firstChild.firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling;return H(i,t),H(r,t),e})()})),[W.ERROR_AWS_R_COMPAT_SERVER]:G((()=>{let{selectedFeatures:e}=F(K),t=N((()=>e().filter((e=>"Server"===e.category))?.[0]?.label));return(()=>{var e=En(),i=e.firstChild;return H(e,(()=>{var e=lt((()=>!!t()));return()=>e()&&[Dn()," deployment is not compatible with"," ",(()=>{var e=On();return H(e,t),e})(),"."]})(),i),H(e,(()=>{var e=lt((()=>!t()));return()=>e()&&[Dn()," deployment requires a compatible server."]})(),i),e})()})),[W.ERROR_SHADCN_R_REACT]:G((()=>kn())),[W.WARN_SHADCN_R_TAILWINDCSS]:Mn((()=>An())),[W.INFO_STACKBLITZ_COMPAT]:Nn((()=>{let e=_n(),{selectedFeatures:t}=F(K),i=N((()=>t().filter((e=>"drizzle"===e.flag||"sqlite"===e.flag||"kysely"===e.flag||"cloudflare"===e.flag))));function r(){e?.()?.querySelectorAll(".stackblitz-cta").forEach((e=>{e.classList.add("tooltip"),e.setAttribute("data-tip","Stackblitz does not support the following features: "+i().map((e=>e.label)).join(", "))}))}return se(de(i,r)),fe(r),pe((()=>{e?.()?.querySelectorAll(".stackblitz-cta").forEach((e=>{e.classList.remove("tooltip"),e.removeAttribute("data-tip")}))})),[]})),[W.ERROR_STORYBOOK_R_UI_FRAMEWORK]:G((()=>jn()))};function Fn(){let e=Vt.map((e=>({...e,alt:e.disabled?"Coming soon":void 0,selected:!!(e.selected??e.readonly)}))),[t,i]=pn(e);let r=N((()=>t.filter((e=>e.selected)))),o=N((()=>r().filter((e=>!e.invisibleCli)).map((e=>({flag:e.flag,category:e.category.toLowerCase().replaceAll(" ","_")})))));let a=N((()=>r().map((e=>e.flag))));return{selectedFeaturesFlags:o,selectFeature:function(e,t,r){let o=Ut.find((t=>t.label===e));o?.multiple||ue((()=>i((t=>t.category===e&&!t.readonly),"selected",!1))),i((e=>e.flag===t),"selected",o?.required??r)},selectedFeatures:r,currentFeatures:t,selectPreset:function(t){ue((()=>{for(let r of e)if(t.includes(r.category)){let t=e.findIndex((e=>e.category===r.category));i((e=>e.category===r.category&&!e.readonly),"selected",((e,[i,r])=>r===t))}else t.includes(r.flag)?i((e=>e.flag===r.flag&&!e.readonly),"selected",!0):i((e=>e.flag===r.flag&&!e.readonly),"selected",!1)}))},selectedFlags:a,rules:N((()=>{let e=Jt(a(),Pn);return{size:e.length,error:e.filter((e=>"error"===e.type)).map((e=>e.value)),warning:e.filter((e=>"warning"===e.type)).map((e=>e.value)),info:e.filter((e=>"info"===e.type)).map((e=>e.value)),invisible:e.filter((e=>"invisible"===e.type)).map((e=>e.value))}}))}}var K=ye(void 0);function In(e){let t=Fn();return L(K.Provider,{value:t,get children(){return e.children}})}function Ln(e){var t,i,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(i=Ln(e[t]))&&(r&&(r+=" "),r+=i)}else for(i in e)e[i]&&(r&&(r+=" "),r+=i);return r}function q(){for(var e,t,i=0,r="",o=arguments.length;i<o;i++)(e=arguments[i])&&(t=Ln(e))&&(r&&(r+=" "),r+=t);return r}var Rn=z("<a target=_blank rel=noopener><span>"),zn=z("<span>"),Bn=z("<span class=text-lg>Scaffolds a web app using <!>."),Vn=new Intl.ListFormat("en");function Hn(e){return e.feature.url?(()=>{var t=Rn(),i=t.firstChild;return H(i,(()=>e.feature.label)),M((r=>{var o=e.feature.url,a=q("text-primary link link-hover","Vike"===e.feature.label&&"font-semibold");return o!==r.e&&B(t,"href",r.e=o),a!==r.t&&V(i,r.t=a),r}),{e:void 0,t:void 0}),t})():(()=>{var t=zn();return H(t,(()=>e.feature.label)),M((()=>V(t,q("text-primary","Vike"===e.feature.label&&"font-semibold")))),t})()}function Un(){let{selectedFeatures:e}=F(K),t=N((()=>Vn.formatToParts(e().map((e=>e.label))).map((t=>"literal"===t.type?t.value:L(Hn,{get feature(){return e().find((e=>e.label===t.value))}})))));return(()=>{var e=Bn(),i=e.firstChild.nextSibling;return i.nextSibling,H(e,t,i),e})()}var Wn=/((?:--)?(?:\w+-?)+)\s*:\s*([^;]*)/g;function Gn(e){let t,i={};for(;t=Wn.exec(e);)i[t[1]]=t[2];return i}function Kn(e,t){if("string"==typeof e){if("string"==typeof t)return`${e};${t}`;e=Gn(e)}else"string"==typeof t&&(t=Gn(t));return{...e,...t}}function qn(e,t){-1===e.indexOf(t)&&e.push(t)}function Jn(e,t){let i=e.indexOf(t);i>-1&&e.splice(i,1)}var Yn=(e,t,i)=>Math.min(Math.max(i,e),t),J={duration:.3,delay:0,endDelay:0,repeat:0,easing:"ease"},Xn=e=>"number"==typeof e,Zn=e=>Array.isArray(e)&&!Xn(e[0]),Qn=(e,t,i)=>{let r=t-e;return((i-e)%r+r)%r+e};function $n(e,t){return Zn(e)?e[Qn(0,e.length,t)]:e}var er=(e,t,i)=>-i*e+i*t+e,tr=()=>{},nr=e=>e,rr=(e,t,i)=>t-e==0?1:(i-e)/(t-e);function ir(e,t){let i=e[e.length-1];for(let r=1;r<=t;r++){let o=rr(0,t,r);e.push(er(i,1,o))}}function ar(e){let t=[0];return ir(t,e-1),t}function or(e,t=ar(e.length),i=nr){let r=e.length,o=r-t.length;return o>0&&ir(t,o),o=>{let a=0;for(;a<r-2&&!(o<t[a+1]);a++);let n=Yn(0,1,rr(t[a],t[a+1],o));return n=$n(i,a)(n),er(e[a],e[a+1],n)}}var sr=e=>Array.isArray(e)&&Xn(e[0]),cr=e=>"object"==typeof e&&!!e.createAnimation,lr=e=>"function"==typeof e,ur=e=>"string"==typeof e,dr={ms:e=>1e3*e,s:e=>e/1e3},fr=(e,t,i)=>(((1-3*i+3*t)*e+(3*i-6*t))*e+3*t)*e,pr=1e-7,mr=12;function hr(e,t,i,r,o){let a,n,l=0;do{n=t+(i-t)/2,a=fr(n,r,o)-e,a>0?i=n:t=n}while(Math.abs(a)>pr&&++l<mr);return n}function gr(e,t,i,r){if(e===t&&i===r)return nr;let o=t=>hr(t,0,1,e,i);return e=>0===e||1===e?e:fr(o(e),t,r)}var _r=(e,t="end")=>i=>{let r=(i="end"===t?Math.min(i,.999):Math.max(i,.001))*e;return Yn(0,1,("end"===t?Math.floor(r):Math.ceil(r))/e)},vr={ease:gr(.25,.1,.25,1),"ease-in":gr(.42,0,1,1),"ease-in-out":gr(.42,0,.58,1),"ease-out":gr(0,0,.58,1)},yr=/\((.*?)\)/;function br(e){if(lr(e))return e;if(sr(e))return gr(...e);let t=vr[e];if(t)return t;if(e.startsWith("steps")){let t=yr.exec(e);if(t){let e=t[1].split(",");return _r(parseFloat(e[0]),e[1].trim())}}return nr}var xr=class{constructor(e,t=[0,1],{easing:i,duration:r=J.duration,delay:o=J.delay,endDelay:a=J.endDelay,repeat:n=J.repeat,offset:l,direction:s="normal",autoplay:c=!0}={}){if(this.startTime=null,this.rate=1,this.t=0,this.cancelTimestamp=null,this.easing=nr,this.duration=0,this.totalDuration=0,this.repeat=0,this.playState="idle",this.finished=new Promise(((e,t)=>{this.resolve=e,this.reject=t})),i||=J.easing,cr(i)){let e=i.createAnimation(t);i=e.easing,t=e.keyframes||t,r=e.duration||r}this.repeat=n,this.easing=Zn(i)?nr:br(i),this.updateDuration(r);let M=or(t,l,Zn(i)?i.map(br):nr);this.tick=t=>{var i;let r=0;r=void 0===this.pauseTime?(t-this.startTime)*this.rate:this.pauseTime,this.t=r,r/=1e3,r=Math.max(r-o,0),"finished"===this.playState&&void 0===this.pauseTime&&(r=this.totalDuration);let n=r/this.duration,l=Math.floor(n),c=n%1;!c&&n>=1&&(c=1),1===c&&l--;let u=l%2;("reverse"===s||"alternate"===s&&u||"alternate-reverse"===s&&!u)&&(c=1-c);let g=r>=this.totalDuration?1:Math.min(c,1),d=M(this.easing(g));e(d),void 0===this.pauseTime&&("finished"===this.playState||r>=this.totalDuration+a)?(this.playState="finished",null==(i=this.resolve)||i.call(this,d)):"idle"!==this.playState&&(this.frameRequestId=requestAnimationFrame(this.tick))},c&&this.play()}play(){let e=performance.now();this.playState="running",void 0===this.pauseTime?this.startTime||=e:this.startTime=e-this.pauseTime,this.cancelTimestamp=this.startTime,this.pauseTime=void 0,this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState="paused",this.pauseTime=this.t}finish(){this.playState="finished",this.tick(0)}stop(){var e;this.playState="idle",void 0!==this.frameRequestId&&cancelAnimationFrame(this.frameRequestId),null==(e=this.reject)||e.call(this,!1)}cancel(){this.stop(),this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(e){this.duration=e,this.totalDuration=e*(this.repeat+1)}get currentTime(){return this.t}set currentTime(e){void 0!==this.pauseTime||0===this.rate?this.pauseTime=e:this.startTime=performance.now()-e/this.rate}get playbackRate(){return this.rate}set playbackRate(e){this.rate=e}},Sr=class{setAnimation(e){this.animation=e,e?.finished.then((()=>this.clearAnimation())).catch((()=>{}))}clearAnimation(){this.animation=this.generator=void 0}},Cr=new WeakMap;function wr(e){return Cr.has(e)||Cr.set(e,{transforms:[],values:new Map}),Cr.get(e)}function Tr(e,t){return e.has(t)||e.set(t,new Sr),e.get(t)}var Er=["","X","Y","Z"],Dr=["translate","scale","rotate","skew"],Or={x:"translateX",y:"translateY",z:"translateZ"},kr={syntax:"<angle>",initialValue:"0deg",toDefaultUnit:e=>e+"deg"},Ar={translate:{syntax:"<length-percentage>",initialValue:"0px",toDefaultUnit:e=>e+"px"},rotate:kr,scale:{syntax:"<number>",initialValue:1,toDefaultUnit:nr},skew:kr},jr=new Map,Mr=e=>`--motion-${e}`,Nr=["x","y","z"];Dr.forEach((e=>{Er.forEach((t=>{Nr.push(e+t),jr.set(Mr(e+t),Ar[e])}))}));var Pr=(e,t)=>Nr.indexOf(e)-Nr.indexOf(t),Fr=new Set(Nr),Ir=e=>Fr.has(e),Lr=(e,t)=>{Or[t]&&(t=Or[t]);let{transforms:i}=wr(e);qn(i,t),e.style.transform=Rr(i)},Rr=e=>e.sort(Pr).reduce(zr,"").trim(),zr=(e,t)=>`${e} ${t}(var(${Mr(t)}))`,Br=e=>e.startsWith("--"),Vr=new Set;function Hr(e){if(!Vr.has(e)){Vr.add(e);try{let{syntax:t,initialValue:i}=jr.has(e)?jr.get(e):{};CSS.registerProperty({name:e,inherits:!1,syntax:t,initialValue:i})}catch{}}}var Ur=(e,t)=>document.createElement("div").animate(e,t),Wr={cssRegisterProperty:()=>typeof CSS<"u"&&Object.hasOwnProperty.call(CSS,"registerProperty"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate"),partialKeyframes:()=>{try{Ur({opacity:[1]})}catch{return!1}return!0},finished:()=>!!Ur({opacity:[0,1]},{duration:.001}).finished,linearEasing:()=>{try{Ur({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0}},Gr={},Kr={};for(let e in Wr)Kr[e]=()=>(void 0===Gr[e]&&(Gr[e]=Wr[e]()),Gr[e]);var qr=.015,Jr=(e,t)=>{let i="",r=Math.round(t/qr);for(let t=0;t<r;t++)i+=e(rr(0,r-1,t))+", ";return i.substring(0,i.length-2)},Yr=(e,t)=>lr(e)?Kr.linearEasing()?`linear(${Jr(e,t)})`:J.easing:sr(e)?Xr(e):e,Xr=([e,t,i,r])=>`cubic-bezier(${e}, ${t}, ${i}, ${r})`;function Zr(e,t){for(let i=0;i<e.length;i++)null===e[i]&&(e[i]=i?e[i-1]:t());return e}var Qr=e=>Array.isArray(e)?e:[e];function $r(e){return Or[e]&&(e=Or[e]),Ir(e)?Mr(e):e}var ei={get:(e,t)=>{t=$r(t);let i=Br(t)?e.style.getPropertyValue(t):getComputedStyle(e)[t];if(!i&&0!==i){let e=jr.get(t);e&&(i=e.initialValue)}return i},set:(e,t,i)=>{t=$r(t),Br(t)?e.style.setProperty(t,i):e.style[t]=i}};function ti(e,t=!0){if(e&&"finished"!==e.playState)try{e.stop?e.stop():(t&&e.commitStyles(),e.cancel())}catch{}}function ni(e,t){let i=t?.toDefaultUnit||nr,r=e[e.length-1];if(ur(r)){let e=r.match(/(-?[\d.]+)([a-z%]*)/)?.[2]||"";e&&(i=t=>t+e)}return i}function ri(){return window.__MOTION_DEV_TOOLS_RECORD}function ii(e,t,i,r={},o){let a,n=ri(),l=!1!==r.record&&n,{duration:s=J.duration,delay:c=J.delay,endDelay:M=J.endDelay,repeat:u=J.repeat,easing:g=J.easing,persist:d=!1,direction:N,offset:I,allowWebkitAcceleration:j=!1,autoplay:D=!0}=r,y=wr(e),b=Ir(t),p=Kr.waapi();b&&Lr(e,t);let L=$r(t),w=Tr(y.values,L),x=jr.get(L);return ti(w.animation,!(cr(g)&&w.generator)&&!1!==r.record),()=>{let y=()=>ei.get(e,L)??x?.initialValue??0,T=Zr(Qr(i),y),z=ni(T,x);if(cr(g)){let e=g.createAnimation(T,"opacity"!==t,y,L,w);g=e.easing,T=e.keyframes||T,s=e.duration||s}if(Br(L)&&(Kr.cssRegisterProperty()?Hr(L):p=!1),b&&!Kr.linearEasing()&&(lr(g)||Zn(g)&&g.some(lr))&&(p=!1),p){x&&(T=T.map((e=>Xn(e)?x.toDefaultUnit(e):e))),1===T.length&&(!Kr.partialKeyframes()||l)&&T.unshift(y());let t={delay:dr.ms(c),duration:dr.ms(s),endDelay:dr.ms(M),easing:Zn(g)?void 0:Yr(g,s),direction:N,iterations:u+1,fill:"both"};a=e.animate({[L]:T,offset:I,easing:Zn(g)?g.map((e=>Yr(e,s))):void 0},t),a.finished||=new Promise(((e,t)=>{a.onfinish=e,a.oncancel=t}));let i=T[T.length-1];a.finished.then((()=>{d||(ei.set(e,L,i),a.cancel())})).catch(tr),j||(a.playbackRate=1.000001)}else if(o&&b)T=T.map((e=>"string"==typeof e?parseFloat(e):e)),1===T.length&&T.unshift(parseFloat(y())),a=new o((t=>{ei.set(e,L,z?z(t):t)}),T,Object.assign(Object.assign({},r),{duration:s,easing:g}));else{let t=T[T.length-1];ei.set(e,L,x&&Xn(t)?x.toDefaultUnit(t):t)}return l&&n(e,t,T,{duration:s,delay:c,easing:g,repeat:u,offset:I},"motion-one"),w.setAnimation(a),a&&!D&&a.pause(),a}}var ai=(e,t)=>e[t]?Object.assign(Object.assign({},e),e[t]):Object.assign({},e);function oi(e,t){return"string"==typeof e?t?(t[e]??(t[e]=document.querySelectorAll(e)),e=t[e]):e=document.querySelectorAll(e):e instanceof Element&&(e=[e]),Array.from(e||[])}function si(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(i[r[o]]=e[r[o]])}return i}var ci={any:0,all:1};function li(e,t,{root:i,margin:r,amount:o="any"}={}){if(typeof IntersectionObserver>"u")return()=>{};let a=oi(e),n=new WeakMap,l=new IntersectionObserver((e=>{e.forEach((e=>{let i=n.get(e.target);if(e.isIntersecting!==!!i)if(e.isIntersecting){let i=t(e);lr(i)?n.set(e.target,i):l.unobserve(e.target)}else i&&(i(e),n.delete(e.target))}))}),{root:i,rootMargin:r,threshold:"number"==typeof o?o:ci[o]});return a.forEach((e=>l.observe(e))),()=>l.disconnect()}function ui(e,t){return typeof e!=typeof t||(Array.isArray(e)&&Array.isArray(t)?!di(e,t):e!==t)}function di(e,t){let i=t.length;if(i!==e.length)return!1;for(let r=0;r<i;r++)if(t[r]!==e[r])return!1;return!0}function fi(e){return"object"==typeof e}function pi(e,t){return fi(e)?e:e&&t?t[e]:void 0}var mi=void 0;function hi(){if(!mi)return;let e=mi.sort(vi).map(yi);e.forEach(bi),e.forEach(bi),mi=void 0}function gi(e){mi?qn(mi,e):(mi=[e],requestAnimationFrame(hi))}function _i(e){mi&&Jn(mi,e)}var vi=(e,t)=>e.getDepth()-t.getDepth(),yi=e=>e.animateUpdates(),bi=e=>e.next(),xi=(e,t)=>new CustomEvent(e,{detail:{target:t}});function Si(e,t,i){e.dispatchEvent(new CustomEvent(t,{detail:{originalEvent:i}}))}function Ci(e,t,i){e.dispatchEvent(new CustomEvent(t,{detail:{originalEntry:i}}))}var wi={isActive:e=>!!e.inView,subscribe:(e,{enable:t,disable:i},{inViewOptions:r={}})=>{let{once:o}=r;return li(e,(r=>{if(t(),Ci(e,"viewenter",r),!o)return t=>{i(),Ci(e,"viewleave",t)}}),si(r,["once"]))}},Ti=(e,t,i)=>r=>{r.pointerType&&"mouse"!==r.pointerType||(i(),Si(e,t,r))},Ei={inView:wi,hover:{isActive:e=>!!e.hover,subscribe:(e,{enable:t,disable:i})=>{let r=Ti(e,"hoverstart",t),o=Ti(e,"hoverend",i);return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",o),()=>{e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",o)}}},press:{isActive:e=>!!e.press,subscribe:(e,{enable:t,disable:i})=>{let r=t=>{i(),Si(e,"pressend",t),window.removeEventListener("pointerup",r)},o=i=>{t(),Si(e,"pressstart",i),window.addEventListener("pointerup",r)};return e.addEventListener("pointerdown",o),()=>{e.removeEventListener("pointerdown",o),window.removeEventListener("pointerup",r)}}}},Di=["initial","animate",...Object.keys(Ei),"exit"],Oi=new WeakMap;function ki(e={},t){let i,r=t?t.getDepth()+1:0,o={initial:!0,animate:!0},a={},n={};for(let i of Di)n[i]="string"==typeof e[i]?e[i]:t?.getContext()[i];let l=!1===e.initial?"animate":"initial",s=si(pi(e[l]||n[l],e.variants)||{},["transition"]),c=Object.assign({},s);let M=(e,t)=>()=>{o[e]=t,gi(g)},u=()=>{for(let t in Ei){let r=Ei[t].isActive(e),o=a[t];r&&!o?a[t]=Ei[t].subscribe(i,{enable:M(t,!0),disable:M(t,!1)},e):!r&&o&&(o(),delete a[t])}},g={update:t=>{i&&(e=t,u(),gi(g))},setActive:(e,t)=>{i&&(o[e]=t,gi(g))},animateUpdates:function*(){let t=s;s={};let r={};for(let t of Di){if(!o[t])continue;let i=pi(e[t]);if(i)for(let t in i)"transition"!==t&&(s[t]=i[t],r[t]=ai(i.transition??e.transition??{},t))}let a=new Set([...Object.keys(s),...Object.keys(t)]),n=[];a.forEach((e=>{void 0===s[e]&&(s[e]=c[e]),ui(t[e],s[e])&&(c[e]??(c[e]=ei.get(i,e)),n.push(ii(i,e,s[e],r[e],xr)))})),yield;let l=n.map((e=>e())).filter(Boolean);if(!l.length)return;let M=s;i.dispatchEvent(xi("motionstart",M)),Promise.all(l.map((e=>e.finished))).then((()=>{i.dispatchEvent(xi("motioncomplete",M))})).catch(tr)},getDepth:()=>r,getTarget:()=>s,getOptions:()=>e,getContext:()=>n,mount:e=>(i=e,Oi.set(i,g),u(),()=>{Oi.delete(i),_i(g);for(let e in a)a[e]()}),isMounted:()=>!!i};return g}function Ai(e){let t={},i=[];for(let r in e){let o=e[r];Ir(r)&&(Or[r]&&(r=Or[r]),i.push(r),r=Mr(r));let a=Array.isArray(o)?o[0]:o,n=jr.get(r);n&&(a=Xn(o)?n.toDefaultUnit(o):o),t[r]=a}return i.length&&(t.transform=Rr(i)),t}var ji=ye();function Mi(e,t,i,r){let o=ki(!1===i?.initial?{...t(),initial:!1}:t(),r);return se((()=>{if(i&&!i.mount())return;let r=e(),a=o.mount(r);se((()=>o.update(t()))),pe((()=>{i&&t().exit?(o.setActive("exit",!0),r.addEventListener("motioncomplete",a)):a()}))})),[o,Ai(o.getTarget())]}var Ni=["initial","animate","inView","inViewOptions","hover","press","variants","transition","exit"],Pi=["tag"],Fi=ye(),Ii=e=>{let t,[i,,r]=Xe(e,Ni,Pi),[o,a]=Mi((()=>t),(()=>({...i})),F(ji),F(Fi));return L(Fi.Provider,{value:o,get children(){return L(It,Ye(r,{ref:i=>{t=i,e.ref?.(i)},get component(){return e.tag||"div"},get style(){return Kn(e.style,a)}}))}})},Li=new Proxy(Ii,{get:(e,t)=>e=>L(Ii,Ye(e,{tag:t}))}),Ri=z('<div class="w-full rounded-md border-l-2"><ul class="flex flex-col gap-2 tracking-wide list-custom p-2 rounded-md">'),zi=z("<li>");function Bi(e){return(()=>{var t=Ri(),i=t.firstChild;return H(i,L(Qe,{get each(){return e.children},children:e=>(()=>{var t=zi();return H(t,L(It,{component:e})),t})()})),M((r=>{var o=!!e.info,a=!!e.warning,n=!!e.error,l={"bg-info/25 list-info":e.info,"bg-warning/25 list-warning":e.warning,"bg-error/25 list-error":e.error};return o!==r.e&&t.classList.toggle("border-info",r.e=o),a!==r.t&&t.classList.toggle("border-warning",r.t=a),n!==r.a&&t.classList.toggle("border-error",r.a=n),r.o=gt(i,l,r.o),r}),{e:void 0,t:void 0,a:void 0,o:void 0}),t})()}function Vi(e){return[L(R,{get when(){return e.info?.length},get children(){return L(Bi,{info:!0,get children(){return e.info}})}}),L(R,{get when(){return e.warning?.length},get children(){return L(Bi,{warning:!0,get children(){return e.warning}})}}),L(R,{get when(){return e.error?.length},get children(){return L(Bi,{error:!0,get children(){return e.error}})}}),L(R,{get when(){return e.invisible?.length},get children(){return L(Qe,{get each(){return e.invisible},children:e=>L(It,{component:e})})}})]}var Hi=Math.min,Y=Math.max,Ui=Math.round,Wi=Math.floor,X=e=>({x:e,y:e}),Gi={left:"right",right:"left",bottom:"top",top:"bottom"};function Ki(e,t){return"function"==typeof e?e(t):e}function qi(e){return e.split("-")[0]}function Ji(e){return e.split("-")[1]}function Yi(e){return"x"===e?"y":"x"}function Xi(e){return"y"===e?"height":"width"}function Zi(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function Qi(e){return Yi(Zi(e))}function $i(e,t,i){void 0===i&&(i=!1);let r=Ji(e),o=Qi(e),a=Xi(o),n="x"===o?r===(i?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[a]>t.floating[a]&&(n=ca(n)),[n,ca(n)]}function ea(e){let t=ca(e);return[ta(e),t,ta(t)]}function ta(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var na=["left","right"],ra=["right","left"],ia=["top","bottom"],aa=["bottom","top"];function oa(e,t,i){switch(e){case"top":case"bottom":return i?t?ra:na:t?na:ra;case"left":case"right":return t?ia:aa;default:return[]}}function sa(e,t,i,r){let o=Ji(e),a=oa(qi(e),"start"===i,r);return o&&(a=a.map((e=>e+"-"+o)),t&&(a=a.concat(a.map(ta)))),a}function ca(e){let t=qi(e);return Gi[t]+e.slice(t.length)}function la(e){return{top:0,right:0,bottom:0,left:0,...e}}function ua(e){return"number"==typeof e?{top:e,right:e,bottom:e,left:e}:la(e)}function da(e){let{x:t,y:i,width:r,height:o}=e;return{width:r,height:o,top:i,left:t,right:t+r,bottom:i+o,x:t,y:i}}function fa(e,t,i){let r,{reference:o,floating:a}=e,n=Zi(t),l=Qi(t),s=Xi(l),c=qi(t),M="y"===n,u=o.x+o.width/2-a.width/2,g=o.y+o.height/2-a.height/2,d=o[s]/2-a[s]/2;switch(c){case"top":r={x:u,y:o.y-a.height};break;case"bottom":r={x:u,y:o.y+o.height};break;case"right":r={x:o.x+o.width,y:g};break;case"left":r={x:o.x-a.width,y:g};break;default:r={x:o.x,y:o.y}}switch(Ji(t)){case"start":r[l]-=d*(i&&M?-1:1);break;case"end":r[l]+=d*(i&&M?-1:1)}return r}async function pa(e,t){void 0===t&&(t={});let{x:i,y:r,platform:o,rects:a,elements:n,strategy:l}=e,{boundary:s="clippingAncestors",rootBoundary:c="viewport",elementContext:M="floating",altBoundary:u=!1,padding:g=0}=Ki(t,e),d=ua(g),N=n[u?"floating"===M?"reference":"floating":M],I=da(await o.getClippingRect({element:await(null==o.isElement?void 0:o.isElement(N))??1?N:N.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(n.floating)),boundary:s,rootBoundary:c,strategy:l})),j="floating"===M?{x:i,y:r,width:a.floating.width,height:a.floating.height}:a.reference,D=await(null==o.getOffsetParent?void 0:o.getOffsetParent(n.floating)),y=await(null==o.isElement?void 0:o.isElement(D))&&await(null==o.getScale?void 0:o.getScale(D))||{x:1,y:1},b=da(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:n,rect:j,offsetParent:D,strategy:l}):j);return{top:(I.top-b.top+d.top)/y.y,bottom:(b.bottom-I.bottom+d.bottom)/y.y,left:(I.left-b.left+d.left)/y.x,right:(b.right-I.right+d.right)/y.x}}var ma=50,ha=async(e,t,i)=>{let{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:n}=i,l=n.detectOverflow?n:{...n,detectOverflow:pa},s=await(null==n.isRTL?void 0:n.isRTL(t)),c=await n.getElementRects({reference:e,floating:t,strategy:o}),{x:M,y:u}=fa(c,r,s),g=r,d=0,N={};for(let i=0;i<a.length;i++){let I=a[i];if(!I)continue;let{name:j,fn:D}=I,{x:y,y:b,data:p,reset:L}=await D({x:M,y:u,initialPlacement:r,placement:g,strategy:o,middlewareData:N,rects:c,platform:l,elements:{reference:e,floating:t}});M=y??M,u=b??u,N[j]={...N[j],...p},L&&d<ma&&(d++,"object"==typeof L&&(L.placement&&(g=L.placement),L.rects&&(c=!0===L.rects?await n.getElementRects({reference:e,floating:t,strategy:o}):L.rects),({x:M,y:u}=fa(c,g,s))),i=-1)}return{x:M,y:u,placement:g,strategy:o,middlewareData:N}},ga=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var i;let{placement:r,middlewareData:o,rects:a,initialPlacement:n,platform:l,elements:s}=t,{mainAxis:c=!0,crossAxis:M=!0,fallbackPlacements:u,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:d="none",flipAlignment:N=!0,...I}=Ki(e,t);if(null!=(i=o.arrow)&&i.alignmentOffset)return{};let j=qi(r),D=Zi(n),y=qi(n)===n,b=await(null==l.isRTL?void 0:l.isRTL(s.floating)),p=u||(y||!N?[ca(n)]:ea(n)),L="none"!==d;!u&&L&&p.push(...sa(n,N,d,b));let w=[n,...p],x=await l.detectOverflow(t,I),T=[],z=o.flip?.overflows||[];if(c&&T.push(x[j]),M){let e=$i(r,a,b);T.push(x[e[0]],x[e[1]])}if(z=[...z,{placement:r,overflows:T}],!T.every((e=>e<=0))){let e=(o.flip?.index||0)+1,t=w[e];if(t&&("alignment"!==M||D===Zi(t)||z.every((e=>Zi(e.placement)!==D||e.overflows[0]>0))))return{data:{index:e,overflows:z},reset:{placement:t}};let i=z.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0]?.placement;if(!i)switch(g){case"bestFit":{let e=z.filter((e=>{if(L){let t=Zi(e.placement);return t===D||"y"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0]?.[0];e&&(i=e);break}case"initialPlacement":i=n}if(r!==i)return{reset:{placement:i}}}return{}}}},_a=new Set(["left","top"]);async function va(e,t){let{placement:i,platform:r,elements:o}=e,a=await(null==r.isRTL?void 0:r.isRTL(o.floating)),n=qi(i),l=Ji(i),s="y"===Zi(i),c=_a.has(n)?-1:1,M=a&&s?-1:1,u=Ki(t,e),{mainAxis:g,crossAxis:d,alignmentAxis:N}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&"number"==typeof N&&(d="end"===l?-1*N:N),s?{x:d*M,y:g*c}:{x:g*c,y:d*M}}var ya=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var i;let{x:r,y:o,placement:a,middlewareData:n}=t,l=await va(t,e);return a===n.offset?.placement&&null!=(i=n.arrow)&&i.alignmentOffset?{}:{x:r+l.x,y:o+l.y,data:{...l,placement:a}}}}},ba=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var i,r;let o,a,{placement:n,rects:l,platform:s,elements:c}=t,{apply:M=()=>{},...u}=Ki(e,t),g=await s.detectOverflow(t,u),d=qi(n),N=Ji(n),I="y"===Zi(n),{width:j,height:D}=l.floating;"top"===d||"bottom"===d?(o=d,a=N===(await(null==s.isRTL?void 0:s.isRTL(c.floating))?"start":"end")?"left":"right"):(a=d,o="end"===N?"top":"bottom");let y=D-g.top-g.bottom,b=j-g.left-g.right,p=Hi(D-g[o],y),L=Hi(j-g[a],b),w=!t.middlewareData.shift,x=p,T=L;if(null!=(i=t.middlewareData.shift)&&i.enabled.x&&(T=b),null!=(r=t.middlewareData.shift)&&r.enabled.y&&(x=y),w&&!N){let e=Y(g.left,0),t=Y(g.right,0),i=Y(g.top,0),r=Y(g.bottom,0);I?T=j-2*(0!==e||0!==t?e+t:Y(g.left,g.right)):x=D-2*(0!==i||0!==r?i+r:Y(g.top,g.bottom))}await M({...t,availableWidth:T,availableHeight:x});let z=await s.getDimensions(c.floating);return j!==z.width||D!==z.height?{reset:{rects:!0}}:{}}}};function xa(){return typeof window<"u"}function Sa(e){return wa(e)?(e.nodeName||"").toLowerCase():"#document"}function Z(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Ca(e){return((wa(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function wa(e){return!!xa()&&(e instanceof Node||e instanceof Z(e).Node)}function Q(e){return!!xa()&&(e instanceof Element||e instanceof Z(e).Element)}function Ta(e){return!!xa()&&(e instanceof HTMLElement||e instanceof Z(e).HTMLElement)}function Ea(e){return!(!xa()||typeof ShadowRoot>"u")&&(e instanceof ShadowRoot||e instanceof Z(e).ShadowRoot)}function Da(e){let{overflow:t,overflowX:i,overflowY:r,display:o}=$(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+i)&&"inline"!==o&&"contents"!==o}function Oa(e){return/^(table|td|th)$/.test(Sa(e))}function ka(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var Na,Aa=/transform|translate|scale|rotate|perspective|filter/,ja=/paint|layout|strict|content/,Ma=e=>!!e&&"none"!==e;function Pa(e){let t=Q(e)?$(e):e;return Ma(t.transform)||Ma(t.translate)||Ma(t.scale)||Ma(t.rotate)||Ma(t.perspective)||!Ia()&&(Ma(t.backdropFilter)||Ma(t.filter))||Aa.test(t.willChange||"")||ja.test(t.contain||"")}function Fa(e){let t=za(e);for(;Ta(t)&&!La(t);){if(Pa(t))return t;if(ka(t))return null;t=za(t)}return null}function Ia(){return Na??=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none"),Na}function La(e){return/^(html|body|#document)$/.test(Sa(e))}function $(e){return Z(e).getComputedStyle(e)}function Ra(e){return Q(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function za(e){if("html"===Sa(e))return e;let t=e.assignedSlot||e.parentNode||Ea(e)&&e.host||Ca(e);return Ea(t)?t.host:t}function Ba(e){let t=za(e);return La(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ta(t)&&Da(t)?t:Ba(t)}function Va(e,t,i){void 0===t&&(t=[]),void 0===i&&(i=!0);let r=Ba(e),o=r===e.ownerDocument?.body,a=Z(r);if(o){let e=Ha(a);return t.concat(a,a.visualViewport||[],Da(r)?r:[],e&&i?Va(e):[])}return t.concat(r,Va(r,[],i))}function Ha(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ua(e){let t=$(e),i=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=Ta(e),a=o?e.offsetWidth:i,n=o?e.offsetHeight:r,l=Ui(i)!==a||Ui(r)!==n;return l&&(i=a,r=n),{width:i,height:r,$:l}}function Wa(e){return Q(e)?e:e.contextElement}function Ga(e){let t=Wa(e);if(!Ta(t))return X(1);let i=t.getBoundingClientRect(),{width:r,height:o,$:a}=Ua(t),n=(a?Ui(i.width):i.width)/r,l=(a?Ui(i.height):i.height)/o;return(!n||!Number.isFinite(n))&&(n=1),(!l||!Number.isFinite(l))&&(l=1),{x:n,y:l}}var Ka=X(0);function qa(e){let t=Z(e);return Ia()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:Ka}function Ja(e,t,i){return void 0===t&&(t=!1),!(!i||t&&i!==Z(e))&&t}function Ya(e,t,i,r){void 0===t&&(t=!1),void 0===i&&(i=!1);let o=e.getBoundingClientRect(),a=Wa(e),n=X(1);t&&(r?Q(r)&&(n=Ga(r)):n=Ga(e));let l=Ja(a,i,r)?qa(a):X(0),s=(o.left+l.x)/n.x,c=(o.top+l.y)/n.y,M=o.width/n.x,u=o.height/n.y;if(a){let e=Z(a),t=r&&Q(r)?Z(r):r,i=e,o=Ha(i);for(;o&&r&&t!==i;){let e=Ga(o),t=o.getBoundingClientRect(),r=$(o),a=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,n=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;s*=e.x,c*=e.y,M*=e.x,u*=e.y,s+=a,c+=n,i=Z(o),o=Ha(i)}}return da({width:M,height:u,x:s,y:c})}function Xa(e,t){let i=Ra(e).scrollLeft;return t?t.left+i:Ya(Ca(e)).left+i}function Za(e,t){let i=e.getBoundingClientRect();return{x:i.left+t.scrollLeft-Xa(e,i),y:i.top+t.scrollTop}}function Qa(e){let{elements:t,rect:i,offsetParent:r,strategy:o}=e,a="fixed"===o,n=Ca(r),l=!!t&&ka(t.floating);if(r===n||l&&a)return i;let s={scrollLeft:0,scrollTop:0},c=X(1),M=X(0),u=Ta(r);if((u||!u&&!a)&&(("body"!==Sa(r)||Da(n))&&(s=Ra(r)),u)){let e=Ya(r);c=Ga(r),M.x=e.x+r.clientLeft,M.y=e.y+r.clientTop}let g=!n||u||a?X(0):Za(n,s);return{width:i.width*c.x,height:i.height*c.y,x:i.x*c.x-s.scrollLeft*c.x+M.x+g.x,y:i.y*c.y-s.scrollTop*c.y+M.y+g.y}}function $a(e){return Array.from(e.getClientRects())}function eo(e){let t=Ca(e),i=Ra(e),r=e.ownerDocument.body,o=Y(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Y(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),n=-i.scrollLeft+Xa(e),l=-i.scrollTop;return"rtl"===$(r).direction&&(n+=Y(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:n,y:l}}var to=25;function no(e,t){let i=Z(e),r=Ca(e),o=i.visualViewport,a=r.clientWidth,n=r.clientHeight,l=0,s=0;if(o){a=o.width,n=o.height;let e=Ia();(!e||e&&"fixed"===t)&&(l=o.offsetLeft,s=o.offsetTop)}let c=Xa(r);if(c<=0){let e=r.ownerDocument,t=e.body,i=getComputedStyle(t),o="CSS1Compat"===e.compatMode&&parseFloat(i.marginLeft)+parseFloat(i.marginRight)||0,n=Math.abs(r.clientWidth-t.clientWidth-o);n<=to&&(a-=n)}else c<=to&&(a+=c);return{width:a,height:n,x:l,y:s}}function ro(e,t){let i=Ya(e,!0,"fixed"===t),r=i.top+e.clientTop,o=i.left+e.clientLeft,a=Ta(e)?Ga(e):X(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:o*a.x,y:r*a.y}}function io(e,t,i){let r;if("viewport"===t)r=no(e,i);else if("document"===t)r=eo(Ca(e));else if(Q(t))r=ro(t,i);else{let i=qa(e);r={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return da(r)}function ao(e,t){let i=za(e);return!(i===t||!Q(i)||La(i))&&("fixed"===$(i).position||ao(i,t))}function oo(e,t){let i=t.get(e);if(i)return i;let r=Va(e,[],!1).filter((e=>Q(e)&&"body"!==Sa(e))),o=null,a="fixed"===$(e).position,n=a?za(e):e;for(;Q(n)&&!La(n);){let t=$(n),i=Pa(n);!i&&"fixed"===t.position&&(o=null),(a?!i&&!o:!i&&"static"===t.position&&o&&("absolute"===o.position||"fixed"===o.position)||Da(n)&&!i&&ao(e,n))?r=r.filter((e=>e!==n)):o=t,n=za(n)}return t.set(e,r),r}function so(e){let{element:t,boundary:i,rootBoundary:r,strategy:o}=e,a=[..."clippingAncestors"===i?ka(t)?[]:oo(t,this._c):[].concat(i),r],n=io(t,a[0],o),l=n.top,s=n.right,c=n.bottom,M=n.left;for(let e=1;e<a.length;e++){let i=io(t,a[e],o);l=Y(i.top,l),s=Hi(i.right,s),c=Hi(i.bottom,c),M=Y(i.left,M)}return{width:s-M,height:c-l,x:M,y:l}}function co(e){let{width:t,height:i}=Ua(e);return{width:t,height:i}}function lo(e,t,i){let r=Ta(t),o=Ca(t),a="fixed"===i,n=Ya(e,!0,a,t),l={scrollLeft:0,scrollTop:0},s=X(0);function c(){s.x=Xa(o)}if(r||!r&&!a)if(("body"!==Sa(t)||Da(o))&&(l=Ra(t)),r){let e=Ya(t,!0,a,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else o&&c();a&&!r&&o&&c();let M=!o||r||a?X(0):Za(o,l);return{x:n.left+l.scrollLeft-s.x-M.x,y:n.top+l.scrollTop-s.y-M.y,width:n.width,height:n.height}}function uo(e){return"static"===$(e).position}function fo(e,t){if(!Ta(e)||"fixed"===$(e).position)return null;if(t)return t(e);let i=e.offsetParent;return Ca(e)===i&&(i=i.ownerDocument.body),i}function po(e,t){let i=Z(e);if(ka(e))return i;if(!Ta(e)){let t=za(e);for(;t&&!La(t);){if(Q(t)&&!uo(t))return t;t=za(t)}return i}let r=fo(e,t);for(;r&&Oa(r)&&uo(r);)r=fo(r,t);return r&&La(r)&&uo(r)&&!Pa(r)?i:r||Fa(e)||i}var mo=async function(e){let t=this.getOffsetParent||po,i=this.getDimensions,r=await i(e.floating);return{reference:lo(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function ho(e){return"rtl"===$(e).direction}var go={convertOffsetParentRelativeRectToViewportRelativeRect:Qa,getDocumentElement:Ca,getClippingRect:so,getOffsetParent:po,getElementRects:mo,getClientRects:$a,getDimensions:co,getScale:Ga,isElement:Q,isRTL:ho};function _o(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function vo(e,t){let i,r=null,o=Ca(e);function a(){var e;clearTimeout(i),null==(e=r)||e.disconnect(),r=null}return function n(l,s){void 0===l&&(l=!1),void 0===s&&(s=1),a();let c=e.getBoundingClientRect(),{left:M,top:u,width:g,height:d}=c;if(l||t(),!g||!d)return;let N={rootMargin:-Wi(u)+"px "+-Wi(o.clientWidth-(M+g))+"px "+-Wi(o.clientHeight-(u+d))+"px "+-Wi(M)+"px",threshold:Y(0,Hi(1,s))||1},I=!0;function j(t){let r=t[0].intersectionRatio;if(r!==s){if(!I)return n();r?n(!1,r):i=setTimeout((()=>{n(!1,1e-7)}),1e3)}1===r&&!_o(c,e.getBoundingClientRect())&&n(),I=!1}try{r=new IntersectionObserver(j,{...N,root:o.ownerDocument})}catch{r=new IntersectionObserver(j,N)}r.observe(e)}(!0),a}function yo(e,t,i,r){void 0===r&&(r={});let{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:n="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:s=!1}=r,c=Wa(e),M=o||a?[...c?Va(c):[],...t?Va(t):[]]:[];M.forEach((e=>{o&&e.addEventListener("scroll",i,{passive:!0}),a&&e.addEventListener("resize",i)}));let u=c&&l?vo(c,i):null,g=-1,d=null;n&&(d=new ResizeObserver((e=>{let[r]=e;r&&r.target===c&&d&&t&&(d.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame((()=>{var e;null==(e=d)||e.observe(t)}))),i()})),c&&!s&&d.observe(c),t&&d.observe(t));let N,I=s?Ya(e):null;return s&&function t(){let r=Ya(e);I&&!_o(I,r)&&i(),I=r,N=requestAnimationFrame(t)}(),i(),()=>{var e;M.forEach((e=>{o&&e.removeEventListener("scroll",i),a&&e.removeEventListener("resize",i)})),u?.(),null==(e=d)||e.disconnect(),d=null,s&&cancelAnimationFrame(N)}}var bo=ya,xo=ga,So=ba,Co=(e,t,i)=>{let r=new Map,o={platform:go,...i},a={...o.platform,_c:r};return ha(e,t,{...o,platform:a})};function wo(e,t,i){let r=()=>i?.placement??"bottom",o=()=>i?.strategy??"absolute",a=i?.offset,[n,l]=j({x:null,y:null,placement:r(),strategy:o(),middlewareData:{}}),[s,c]=j();se((()=>{let e=s();if(e)throw e.value}));let M=N((()=>(e(),t(),{})));function u(){let a=e(),n=t();if(a&&n){let e=M();Co(a,n,{middleware:i?.middleware,placement:r(),strategy:o()}).then((t=>{e===M()&&l(t)}),(e=>{c(e)}))}}return se((()=>{let a=e(),n=t();if(r(),o(),a&&n)if(i?.whileElementsMounted){let e=i.whileElementsMounted(a,n,u);e&&pe(e)}else u()})),{get x(){return n().x},get y(){return n().y},get placement(){return n().placement},get strategy(){return n().strategy},get middlewareData(){return n().middlewareData},get modal(){let e=n(),t=e.placement.split("-")[0];return{position:e.strategy,top:e.y?`${e.y}px`:0,left:e.x?`${e.x}px`:0,[{right:"padding-left",left:"padding-right",bottom:"padding-top",top:"padding-bottom"}[t]]:a?`${a}px`:0}},update:u}}var To=z('<div class="flex items-center justify-center"><div>'),Eo=z("<div role=tooltip><div>"),Do=z("<div><div>");function Oo(){return!!globalThis.navigator&&/firefox/i.test(navigator.userAgent)}function ko(e){se((()=>{e.reference&&i(e.reference)}));let[t,i]=j(e.reference),[r,o]=j(),[a,n]=j(),[l,s]=j(),c=Oo()?{transition:"none",transform:"none"}:{transition:"transform 300ms"},u=wo(t,a,{placement:e.placement,whileElementsMounted:yo,middleware:e.withReference?[bo((({rects:t})=>-t.reference.width-(e.arrow?4:0))),So({apply({elements:t,rects:i}){Object.assign(t.floating.style,{width:`${i.reference.width+(e.arrow?4:0)+1}px`,minHeight:`${i.reference.height}px`,...c})}})]:[xo({fallbackAxisSideDirection:"end"})],offset:e.offset}),g=e.arrow&&e.withReference?wo(r,l,{placement:e.placement.split("-")[0],whileElementsMounted:yo,middleware:[]}):void 0,d={right:"",left:"flex-row-reverse",bottom:"flex-col",top:"flex-col-reverse"},I={right:"-mr-1",left:"-ml-1",bottom:"-mb-1",top:"-mt-1"};fe((()=>{u.update(),g?.update()}));let D=N((()=>u.placement.split("-")[0]));return(()=>{var t=Do(),r=t.firstChild;return r.$$click=e=>"blur"in e.target&&"function"==typeof e.target.blur&&e.target.blur(),bt((t=>{o(t),e.reference||i(t)}),r),H(r,(()=>e.children)),H(t,L(R,{get when(){return!e.disabled},get children(){var t=Eo(),i=t.firstChild;return bt(n,t),H(t,L(R,{get when(){return e.arrow},get children(){var t=To(),i=t.firstChild;return bt(s,i),M((r=>{var o={"w-1 relative hidden lg:block":e.withReference},a=q("w-2 h-2 rotate-45",e.arrowClass,I[D()]),n=!!e.withReference,l=g?.y?g.y-4+"px":void 0;return r.e=gt(t,o,r.e),a!==r.t&&V(i,r.t=a),n!==r.a&&i.classList.toggle("absolute",r.a=n),l!==r.o&&vt(i,"top",r.o=l),r}),{e:void 0,t:void 0,a:void 0,o:void 0}),t}}),i),H(i,(()=>e.tip)),M((r=>{var o=q("dropdown-content z-10 absolute bg-transparent hidden md:flex md:visible",d[D()]),a=u.modal,n=q("rounded-md flex-row items-center",e.tooltipClass);return o!==r.e&&V(t,r.e=o),r.t=_t(t,a,r.t),n!==r.a&&V(i,r.a=n),r}),{e:void 0,t:void 0,a:void 0}),t}}),null),M((i=>{var o=q("dropdown",e.class),a=!e.disabled,n=q(e.class);return o!==i.e&&V(t,i.e=o),a!==i.t&&t.classList.toggle("dropdown-hover",i.t=a),n!==i.a&&V(r,i.a=n),i}),{e:void 0,t:void 0,a:void 0}),t})()}ft(["click"]);var Ao=z('<div class="tabs tabs-lg tabs-lift group rounded-md shadow-sm content-stretch items-stretch outline-offset-2 relative"style=--tab-radius:0.375rem><input type=radio class="tab tab-active text-xl font-semibold cursor-default"checked tabindex=-1><div class="tab-content bg-base-100 border-base-300 rounded-md px-5 pb-5"><div class>'),jo=z("<div>"),Mo=z('<dialog class=modal inert><div class="modal-box w-11/12 max-w-5xl"><h3 class="font-bold text-xl"></h3><div></div><div class=modal-action><form method=dialog><button type=submit class=btn>Close</button></form></div></div><form method=dialog class=modal-backdrop><button type=submit>close'),No=z('<span class="-ml-1 text-xs opacity-60">(required)'),Po=z('<div class="flex flex-col items-baseline"><div class="divider divider-start font-semibold"><span></span></div><div class="flex flex-row flex-wrap gap-2">'),Fo=z('<img class="w-4 h-4">'),Io=z('<button type=button class="btn btn-sm rounded-md text-nowrap">');function Lo(e){let{currentFeatures:t,selectFeature:i,rules:r}=F(K),[o,a]=j();function n(){let e=P(o);e&&(e.open?e.removeAttribute("inert"):e.setAttribute("inert",""))}return[(()=>{var r=Ao(),o=r.firstChild;return H(o.nextSibling.firstChild,L(Qe,{get each(){return e.categories},children:e=>{let r=N((()=>t.filter((t=>t.category===e.label))));return(()=>{var t=Po(),o=t.firstChild,a=o.firstChild,n=o.nextSibling;return H(a,(()=>e.label)),H(o,L(R,{get when(){return e.required},get children(){return No()}}),null),H(n,L(Qe,{get each(){return r()},children:t=>L(ko,{tip:"Vike cannot be disabled. It is the foundation that allows all others tools to work cohesively",placement:"right",arrow:!0,offset:8,tooltipClass:"text-center w-64 p-2 text-sm shadow-md bg-primary text-primary-content",arrowClass:"bg-primary",get disabled(){return"vike"!==t.flag},get children(){var r=Io();return r.$$click=()=>{t.readonly||t.disabled||i(e.label,t.flag,!t.selected)},H(r,L(R,{get when(){return t.image},get children(){var e=Fo();return M((i=>{var r=t.image,o=t.label;return r!==i.e&&B(e,"src",i.e=r),o!==i.t&&B(e,"alt",i.t=o),i}),{e:void 0,t:void 0}),e}}),null),H(r,(()=>t.label),null),M((e=>{var i=t.flag,o=t.disabled,a={"!btn-primary !btn-active":t.selected};return i!==e.e&&B(r,"data-flag",e.e=i),o!==e.t&&(r.disabled=e.t=o),e.a=gt(r,a,e.a),e}),{e:void 0,t:void 0,a:void 0}),r}})})),t})()}})),M((()=>B(o,"aria-label",e.label))),r})(),(()=>{var t=Mo(),i=t.firstChild,o=i.firstChild,l=o.nextSibling;return t.addEventListener("close",n),bt(a,t),H(o,(()=>e.label)),H(i,L(R,{get when(){return r().size>0},get children(){var e=jo();return H(e,L(Vi,{get error(){return r().error},get warning(){return r().warning},get info(){return r().info}})),M((t=>gt(e,{"flex flex-col gap-2 leading-6 rounded-md mt-4":r().invisible.length<r().size},t))),e}}),l),H(l,(()=>e.children)),t})()]}ft(["click"]);var Ro=z('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 64 64"><title>Train track icon</title><path fill=#86613e d="M63.45 53.623c0 .672-1.126 1.217-2.51 1.217H2.5c-1.385 0-2.508-.545-2.508-1.217l3.154-8.34c0-.672 1.121-1.217 2.505-1.217h52.13c1.385 0 2.508.545 2.508 1.217l3.155 8.34M55.26 36.35c0 .497-.836.904-1.863.904h-43.35c-1.029 0-1.861-.407-1.861-.904l2.34-6.186c0-.499.833-.902 1.859-.902h38.671c1.029 0 1.861.403 1.861.902l2.341 6.186m-5.297-13.3c0 .385-.646.7-1.44.7H14.933c-.792 0-1.44-.315-1.44-.7l1.813-4.794c0-.387.645-.698 1.442-.698h29.961c.794 0 1.44.312 1.44.698l1.812 4.794m-4.481-9.421c0 .29-.486.525-1.089.525H19.063c-.603 0-1.089-.235-1.089-.525l1.369-3.615c0-.293.487-.529 1.085-.529h22.6c.6 0 1.089.235 1.089.529l1.363 3.615"></path><path fill=#a87c4f d="M63.45 52.53c0 .672-1.126 1.215-2.51 1.215H2.5c-1.385 0-2.508-.543-2.508-1.215l3.154-8.339c0-.673 1.121-1.217 2.505-1.217h52.13c1.385 0 2.508.544 2.508 1.217l3.155 8.339M55.26 35.26c0 .497-.836.901-1.863.901h-43.35c-1.029 0-1.861-.404-1.861-.901l2.34-6.188c0-.497.833-.902 1.859-.902h38.671c1.029 0 1.861.405 1.861.902l2.341 6.188m-5.297-13.3c0 .387-.646.7-1.44.7H14.933c-.792 0-1.44-.313-1.44-.7l1.813-4.794c0-.385.645-.698 1.442-.698h29.961c.794 0 1.44.313 1.44.698l1.812 4.794m-4.481-9.424c0 .29-.486.529-1.089.529H19.063c-.603 0-1.089-.239-1.089-.529l1.369-3.615c0-.293.487-.525 1.085-.525h22.6c.6 0 1.089.231 1.089.525l1.363 3.615"></path><path fill=#929497 d="M13.1 61.51c-.614 1.875-3.99 2.534-5.949 1.943c-1.959-.589-4.337-2.975-3.723-4.85l20.706-56.11c.615-1.877 1.802-2.921 3.761-2.33c1.957.588 2.146 2.585 1.532 4.462L13.1 61.509"></path><path fill=#b1b1b2 d="M9.829 63.45c-1.959-.589-4.337-2.973-3.723-4.85L26.811 2.49c.327-1 .822-1.76 1.504-2.167a2.853 2.853 0 0 0-.419-.164c-1.959-.589-3.146.453-3.761 2.33L3.429 58.599c-.614 1.877 1.764 4.261 3.723 4.85c.84.253 1.935.275 2.965.073a4.329 4.329 0 0 1-.288-.073"></path><path fill=#929497 d="M50.26 61.51c.618 1.875 3.99 2.534 5.951 1.943c1.959-.589 4.339-2.975 3.725-4.85L39.228 2.493c-.612-1.877-1.8-2.921-3.759-2.33c-1.959.588-2.146 2.585-1.532 4.462L50.26 61.509"></path><path fill=#b1b1b2 d="M53.53 63.45c1.959-.589 4.335-2.973 3.723-4.85L36.545 2.49c-.327-1-.817-1.76-1.5-2.167c.13-.062.266-.12.419-.164c1.959-.589 3.146.453 3.759 2.33l20.708 56.11c.614 1.877-1.766 4.261-3.725 4.85c-.84.253-1.934.275-2.965.073c.098-.02.196-.045.289-.072">'),zo=z('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 36 36"><title>Alembic icon</title><path fill=#67757F d="M16 34.375a1 1 0 1 1-2 0V26a1 1 0 1 1 2 0v8.375z"></path><circle cx=15.41 cy=15.625 r=13.873 fill=#E1E8ED></circle><path fill=#50A5E6 d="M3.592 16.139c.232 6.334 5.427 11.402 11.818 11.402s11.586-5.068 11.818-11.402H3.592z"></path><path fill=#67757F d="M30 24a2 2 0 0 1-2 2H3a2 2 0 0 1 0-4h25a2 2 0 0 1 2 2z"></path><path fill=#67757F d="M2.622 35.207a.999.999 0 1 1-1.883-.673l3.317-9.262a1 1 0 1 1 1.883.673l-3.317 9.262zm25.757 0a1 1 0 0 0 1.882-.673l-3.359-9.345a1 1 0 1 0-1.882.672l3.359 9.346z"></path><path fill=#E1E8ED d="M19.006 2.266S32.36 6.948 33.778 7.404c3.725 1.199 2.184 5.224-.385 4.582c-5.083-1.271-14.387-4.068-15.415-4.068s1.028-5.652 1.028-5.652z"></path><path fill=#9AAAB4 d="M29 23a1 1 0 0 1-1 1H3a1 1 0 1 1 0-2h25a1 1 0 0 1 1 1z"></path><ellipse cx=15.41 cy=16.139 fill=#3B94D9 rx=11.818 ry=1.629></ellipse><ellipse cx=34.047 cy=9.982 fill=#AAB8C2 rx=1.341 ry=.974 transform="rotate(-74.365 34.047 9.981)">');function Bo(e){return(()=>{var t=Ro();return M((()=>B(t,"class",q("fill-current",e.class)))),t})()}function Vo(e){return(()=>{var t=zo();return M((()=>B(t,"class",q("fill-current",e.class)))),t})()}var Ho=z('<span class="font-mono text-xs opacity-90"><span class="border-l border-solid border-primary py-0.5 px-1 rounded-l-md"></span><span class="border-r border-solid border-primary underline decoration-primary py-0.5 px-1 rounded-r-md">');async function Uo(e){return await(await fetch(`https://img.shields.io/github/commit-activity/y/${e}.json`)).json()}function Wo(e){if(!e.repo)return;let[t,{refetch:i}]=le(e.repo,Uo,{ssrLoadFrom:"initial"});return fe(i),L(R,{get when(){return t()},children:e=>(()=>{var t=Ho(),i=t.firstChild,r=i.nextSibling;return H(i,(()=>e().label)),H(r,(()=>e().message)),t})()})}var Go=z('<div id=bati-features class="grid grid-cols-1 lg:grid-cols-2 grid-flow-dense gap-4 box-border relative bg-transparent mt-4">'),Ko=z('<div class="flex flex-col relative gap">'),qo=z('<span class="-ml-1 text-xs opacity-60">(required)'),Jo=z('<div class="divider divider-start font-semibold"><span>'),Yo=z('<div class="flex flex-col lg:flex-row relative"><div class="basis-1/4 w-full gap-y-2"></div><div class=basis-3/4>'),Xo=z('<label class="group flex items-center cursor-pointer h-12 min-w-60 col-start-1 lg:mr-4"><div class="flex justify-center items-center pr-2.5"><input aria-describedby=details type=checkbox class=checkbox></div><div class="inline-flex gap-2 items-center w-full group"><div class="inline-flex flex-col gap-0 leading-5"><span></span></div><div class=flex-1>'),Zo=z('<img class="max-w-5 max-h-5">'),Qo=z("<span class=text-xs>"),$o=z("<p> Battle-Tested Solution: time-proven library, an industry favorite known for its reliability and widespread adoption."),es=z("<p> Stay Ahead of the Game: bleeding-edge library for unparalleled features and performance."),ts=z("<div class=opacity-60>"),ns=z('<ul class="list-custom list-check inline-flex gap-2 my-2 flex-wrap">'),rs=z('<div class="mx-1 p-2 border-dashed border-t-2 border-t-neutral italic">'),is=z('<div class="rounded-md relative h-full"role=tooltip id=details><div class="px-3 pb-2 pt-1"><div class="flex items-baseline"><h2 class="text-primary text-lg font-bold"></h2><span class=flex-1>'),as=z("<ul><a class=link target=_blank tabindex=0 rel=noopener>");function os(){return(()=>{var e=Go();return H(e,L(Qe,{get each(){return Object.values(U)},children:e=>{let t=N((()=>Ut.filter((t=>t.group===e))));return L(Lo,{label:e,flipLabel:e,get categories(){return t()},class:"w-full sm:w-auto rounded-md",get children(){var e=Ko();return H(e,L(Qe,{get each(){return t()},children:e=>L(ss,e)})),e}})}})),e})()}function ss(e){let{currentFeatures:t}=F(K),i=N((()=>t.filter((t=>t.category===e.label)))),[r,o]=j();return[(()=>{var t=Jo();return H(t.firstChild,(()=>e.label)),H(t,L(R,{get when(){return e.required},get children(){return qo()}}),null),t})(),(()=>{var t=Yo(),a=t.firstChild,n=a.nextSibling;return H(a,L(Qe,{get each(){return i()},children:t=>L(cs,{feature:t,category:e,reference:r})})),H(n,L(fs,{get description(){return e.description},ref:e=>{o({getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e})}})),t})()]}function cs(e){let{selectFeature:t}=F(K);return L(ko,{get tip(){return L(ds,{get feature(){return e.feature}})},class:"w-full px-1.5",placement:"right-start",arrow:!0,tooltipClass:"text-sm p-0 w-full border-l-2 border-neutral-300 dark:border-neutral-500 shadow-md shadow-base-300 backdrop-blur-md bg-base-300/30 dark:bg-neutral/70",arrowClass:"shadow shadow-base-300 bg-neutral-300 dark:bg-neutral-500",get disabled(){return e.feature.disabled},withReference:!0,get reference(){return e.reference()},get children(){var i=Xo(),r=i.firstChild,o=r.firstChild,a=r.nextSibling,n=a.firstChild,l=n.firstChild;return n.nextSibling,o.addEventListener("change",(()=>{t(e.category.label,e.feature.flag,!e.feature.selected)})),H(a,(()=>{var t=lt((()=>!!e.feature.image));return()=>t()&&(()=>{var t=Zo();return M((i=>{var r=e.feature.image,o=`${e.feature.label} logo`;return r!==i.e&&B(t,"src",i.e=r),o!==i.t&&B(t,"alt",i.t=o),i}),{e:void 0,t:void 0}),t})()})(),n),H(l,(()=>e.feature.label)),H(n,(()=>{var t=lt((()=>!!e.feature.alt));return()=>t()&&(()=>{var t=Qo();return H(t,(()=>e.feature.alt)),t})()})(),null),H(a,(()=>{var t=lt((()=>"beaten_path"===e.feature.spectrum));return()=>t()&&L(Bo,{class:"w-4 opacity-80"})})(),null),H(a,(()=>{var t=lt((()=>"bleeding_edge"===e.feature.spectrum));return()=>t()&&L(Vo,{class:"w-4 opacity-80"})})(),null),M((t=>{var r={"opacity-50 cursor-not-allowed":e.feature.disabled},a=!!e.feature.selected,n=!e.feature.disabled,l=!!e.category.multiple,s=!e.category.multiple,c=e.feature.disabled||e.feature.readonly;return t.e=gt(i,r,t.e),a!==t.t&&o.classList.toggle("checkbox-success",t.t=a),n!==t.a&&o.classList.toggle("border-solid",t.a=n),l!==t.o&&o.classList.toggle("rounded",t.o=l),s!==t.i&&o.classList.toggle("rounded-full",t.i=s),c!==t.n&&(o.disabled=t.n=c),t}),{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),M((()=>o.checked=e.feature.selected)),i}})}function ls(){return(()=>{var e=$o(),t=e.firstChild;return H(e,L(Bo,{class:"max-w-4 max-h-4 opacity-80 inline align-baseline mr-1"}),t),e})()}function us(){return(()=>{var e=es(),t=e.firstChild;return H(e,L(Vo,{class:"max-w-4 max-h-4 opacity-80 inline align-baseline mr-1"}),t),e})()}function ds(e){let t=[];return e.feature.url&&t.push({label:"Homepage",href:e.feature.url}),e.feature.links&&t.push(...e.feature.links),(()=>{var i=is(),r=i.firstChild,o=r.firstChild,a=o.firstChild;return a.nextSibling,H(a,(()=>e.feature.label)),H(o,L(Wo,{get repo(){return e.feature.repo}}),null),H(r,L(R,{get when(){return e.feature.tagline},get children(){var t=ts();return H(t,(()=>e.feature.tagline)),t}}),null),H(r,L(R,{get when(){return t.length>0},get children(){var e=ns();return H(e,L(Qe,{each:t,children:e=>(()=>{var t=as(),i=t.firstChild;return H(i,(()=>e.label)),M((()=>B(i,"href",e.href))),t})()})),e}}),null),H(i,L(R,{get when(){return e.feature.spectrum},get children(){var t=rs();return H(t,L($e,{get children(){return[L(et,{get when(){return"beaten_path"===e.feature.spectrum},get children(){return L(ls,{})}}),L(et,{get when(){return"bleeding_edge"===e.feature.spectrum},get children(){return L(us,{})}})]}})),t}}),null),i})()}function fs(e){return L(Li.div,{exit:{opacity:0},class:"flex-1 rounded-md shadow-inner shadow-base-300 bg-base-200 h-full py-2 px-3 ml-4 lg:ml-0",animate:{opacity:1},transition:{duration:.2,easing:"ease-in-out"},ref(t){var i=e.ref;"function"==typeof i?i(t):e.ref=t},get children(){return e.description}})}function ps(e,t){globalThis.zaraz?.track(e,t)}function ms(e){let t=new Set,i=e.reduce(((e,{flag:i,category:r})=>(e[r]?Array.isArray(e[r])?e[r].push(i):(t.add(r),e[r]=[e[r],i]):e[r]=i,e)),{});return t.forEach((e=>{Array.isArray(i[e])&&(i[e]=i[e].sort().join(":"))})),i}function hs(e){let t,[i,r]=j(!1);async function o(){clearTimeout(t),r(!0);let i=window.getSelection();if(i){let o=i.toString().replaceAll("\n"," ");await navigator.clipboard.writeText(o),e.classList.remove("tooltip-primary"),e.classList.add("tooltip","tooltip-open","tooltip-success"),t=setTimeout((()=>{e.classList.remove("tooltip","tooltip-open","tooltip-success"),r(!1)}),3e3)}}e.addEventListener("click",o),e.addEventListener("mouseenter",(function(){e.classList.remove("tooltip-success"),e.classList.add("tooltip","tooltip-open","tooltip-primary"),r(!1)})),e.addEventListener("mouseleave",(function(){i()||e.classList.remove("tooltip","tooltip-open","tooltip-primary")})),pe((()=>e.removeEventListener("click",o)))}var gs=z('<kbd role=tabpanel class="group min-h-10 join-item rounded-md cursor-pointer relative flex-1 justify-start pl-9 tooltip tooltip-primary text-left inline-flex tooltip-bottom kbd kbd-sm select-all flex-wrap leading-9 gap-2.5"><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="lucide lucide-terminal absolute top-2 left-2 opacity-40 h-5"><polyline points="4 17 10 11 4 5"></polyline><line x1=12 x2=20 y1=19 y2=19></line></svg><span class=text-xs/4>');function _s(e){return(()=>{var t=gs(),i=t.firstChild.nextSibling;return ht(t,"click",e.onClick,!0),ht(t,"mouseenter",e.onMouseEnter),bt(hs,t,(()=>!0)),H(i,(()=>e.children)),M((()=>B(t,"data-tip",e.tooltipText))),t})()}ft(["click"]);var vs=500,ys=20,bs=300,xs="https://stackblitz.com",Ss=["angular-cli","create-react-app","html","javascript","node","polymer","typescript","vue"],Cs=["project","search","ports","settings"],ws=["light","dark"],Ts=["editor","preview"],Es={clickToLoad:e=>Os("ctl",e),devToolsHeight:e=>As("devtoolsheight",e),forceEmbedLayout:e=>Os("embed",e),hideDevTools:e=>Os("hidedevtools",e),hideExplorer:e=>Os("hideExplorer",e),hideNavigation:e=>Os("hideNavigation",e),openFile:e=>Ms("file",e),showSidebar:e=>ks("showSidebar",e),sidebarView:e=>js("sidebarView",e,Cs),startScript:e=>Ms("startScript",e),terminalHeight:e=>As("terminalHeight",e),theme:e=>js("theme",e,ws),view:e=>js("view",e,Ts),zenMode:e=>Os("zenMode",e),organization:e=>`${Ms("orgName",e?.name)}&${Ms("orgProvider",e?.provider)}`,crossOriginIsolated:e=>Os("corp",e)};function Ds(e={}){let t=Object.entries(e).map((([e,t])=>null!=t&&Es.hasOwnProperty(e)?Es[e](t):"")).filter(Boolean);return t.length?`?${t.join("&")}`:""}function Os(e,t){return!0===t?`${e}=1`:""}function ks(e,t){return"boolean"==typeof t?`${e}=${t?"1":"0"}`:""}function As(e,t){return"number"!=typeof t||Number.isNaN(t)?"":`${e}=${encodeURIComponent(Math.round(Math.min(100,Math.max(0,t))))}`}function js(e,t="",i=[]){return i.includes(t)?`${e}=${encodeURIComponent(t)}`:""}function Ms(e,t){return(Array.isArray(t)?t:[t]).filter((e=>"string"==typeof e&&""!==e.trim())).map((t=>`${e}=${encodeURIComponent(t)}`)).join("&")}function Ns(){return Math.random().toString(36).slice(2,6)+Math.random().toString(36).slice(2,6)}function Ps(e,t){return`${Is(t)}${e}${Ds(t)}`}function Fs(e,t){let i={forceEmbedLayout:!0};return t&&"object"==typeof t&&Object.assign(i,t),`${Is(i)}${e}${Ds(i)}`}function Is(e={}){return("string"==typeof e.origin?e.origin:xs).replace(/\/$/,"")}function Ls(e,t,i){if(!t||!e||!e.parentNode)throw Error("Invalid Element");e.id&&(t.id=e.id),e.className&&(t.className=e.className),Bs(t,i),Vs(e,t,i),e.replaceWith(t)}function Rs(e){if("string"==typeof e){let t=document.getElementById(e);if(!t)throw Error(`Could not find element with id '${e}'`);return t}if(e instanceof HTMLElement)return e;throw Error(`Invalid element: ${e}`)}function zs(e){return e&&!1===e.newWindow?"_self":"_blank"}function Bs(e,t={}){let i=Object.hasOwnProperty.call(t,"height")?`${t.height}`:`${bs}`,r=Object.hasOwnProperty.call(t,"width")?`${t.width}`:void 0;e.setAttribute("height",i),r?e.setAttribute("width",r):e.setAttribute("style","width:100%;")}function Vs(e,t,i={}){let r=e.allow?.split(";")?.map((e=>e.trim()))??[];i.crossOriginIsolated&&!r.includes("cross-origin-isolated")&&r.push("cross-origin-isolated"),r.length>0&&(t.allow=r.join("; "))}var Hs=class{constructor(e){this.pending={},this.port=e,this.port.onmessage=this.messageListener.bind(this)}request({type:e,payload:t}){return new Promise(((i,r)=>{let o=Ns();this.pending[o]={resolve:i,reject:r},this.port.postMessage({type:e,payload:{...t,__reqid:o}})}))}messageListener(e){if("string"!=typeof e.data.payload?.__reqid)return;let{type:t,payload:i}=e.data,{__reqid:r,__success:o,__error:a}=i;this.pending[r]&&(o?this.pending[r].resolve(this.cleanResult(i)):this.pending[r].reject(a?`${t}: ${a}`:t),delete this.pending[r])}cleanResult(e){let t={...e};return delete t.__reqid,delete t.__success,delete t.__error,Object.keys(t).length?t:null}},Us=class{constructor(e,t){this.editor={openFile:e=>this._rdc.request({type:"SDK_OPEN_FILE",payload:{path:e}}),setCurrentFile:e=>this._rdc.request({type:"SDK_SET_CURRENT_FILE",payload:{path:e}}),setTheme:e=>this._rdc.request({type:"SDK_SET_UI_THEME",payload:{theme:e}}),setView:e=>this._rdc.request({type:"SDK_SET_UI_VIEW",payload:{view:e}}),showSidebar:(e=!0)=>this._rdc.request({type:"SDK_TOGGLE_SIDEBAR",payload:{visible:e}})},this.preview={origin:"",getUrl:()=>this._rdc.request({type:"SDK_GET_PREVIEW_URL",payload:{}}).then((e=>e?.url??null)),setUrl:(e="/")=>{if("string"!=typeof e||!e.startsWith("/"))throw Error(`Invalid argument: expected a path starting with '/', got '${e}'`);return this._rdc.request({type:"SDK_SET_PREVIEW_URL",payload:{path:e}})}},this._rdc=new Hs(e),Object.defineProperty(this.preview,"origin",{value:"string"==typeof t.previewOrigin?t.previewOrigin:null,writable:!1})}applyFsDiff(e){let t=e=>"object"==typeof e&&!!e;if(!t(e)||!t(e.create))throw Error("Invalid diff object: expected diff.create to be an object.");if(!Array.isArray(e.destroy))throw Error("Invalid diff object: expected diff.destroy to be an array.");return this._rdc.request({type:"SDK_APPLY_FS_DIFF",payload:e})}getDependencies(){return this._rdc.request({type:"SDK_GET_DEPS_SNAPSHOT",payload:{}})}getFsSnapshot(){return this._rdc.request({type:"SDK_GET_FS_SNAPSHOT",payload:{}})}},Ws=[],Gs=class{constructor(e){this.id=Ns(),this.element=e,this.pending=new Promise(((e,t)=>{let i=({data:t,ports:i})=>{"SDK_INIT_SUCCESS"===t?.action&&t.id===this.id&&(this.vm=new Us(i[0],t.payload),e(this.vm),o())},r=()=>{this.element.contentWindow?.postMessage({action:"SDK_INIT",id:this.id},"*")};function o(){window.clearInterval(n),window.removeEventListener("message",i)}window.addEventListener("message",i),r();let a=0,n=window.setInterval((()=>{if(!this.vm)return a>=ys?(o(),t("Timeout: Unable to establish a connection with the StackBlitz VM"),void Ws.forEach(((e,t)=>{e.id===this.id&&Ws.splice(t,1)}))):(a++,void r());o()}),vs)})),Ws.push(this)}},Ks=e=>{let t=e instanceof Element?"element":"id";return Ws.find((i=>i[t]===e))??null};function qs(e,t){let i=document.createElement("input");return i.type="hidden",i.name=e,i.value=t,i}function Js(e){return e.replace(/\[/g,"%5B").replace(/\]/g,"%5D")}function Ys({template:e,title:t,description:i,dependencies:r,files:o,settings:a}){if(!Ss.includes(e)){let e=Ss.map((e=>`'${e}'`)).join(", ");console.warn(`Unsupported project.template: must be one of ${e}`)}let n=[],l=(e,t,i="")=>{n.push(qs(e,"string"==typeof t?t:i))};l("project[title]",t),"string"==typeof i&&i.length>0&&l("project[description]",i),l("project[template]",e,"javascript"),r&&("node"===e?console.warn("Invalid project.dependencies: dependencies must be provided as a 'package.json' file when using the 'node' template."):l("project[dependencies]",JSON.stringify(r))),a&&l("project[settings]",JSON.stringify(a)),Object.entries(o).forEach((([e,t])=>{l(`project[files][${Js(e)}]`,t)}));let s=document.createElement("form");return s.method="POST",s.setAttribute("style","display:none!important;"),s.append(...n),s}function Xs(e,t){let i=Ys(e);return i.action=Fs("/run",t),i.id="sb_run",`<!doctype html>\n<html>\n<head><title></title></head>\n<body>\n  ${i.outerHTML}\n  <script>document.getElementById('${i.id}').submit();<\/script>\n</body>\n</html>`}function Zs(e,t){let i=Ys(e);i.action=Ps("/run",t),i.target=zs(t),document.body.appendChild(i),i.submit(),document.body.removeChild(i)}function Qs(e){return e?.contentWindow?(Ks(e)??new Gs(e)).pending:Promise.reject("Provided element is not an iframe.")}function $s(e,t){Zs(e,t)}function ec(e,t){let i=Ps(`/edit/${e}`,t),r=zs(t);window.open(i,r)}function tc(e,t){let i=Ps(`/github/${e}`,t),r=zs(t);window.open(i,r)}function nc(e,t,i){let r=Rs(e),o=Xs(t,i),a=document.createElement("iframe");return Ls(r,a,i),a.contentDocument?.write(o),Qs(a)}function rc(e,t,i){let r=Rs(e),o=document.createElement("iframe");return o.src=Fs(`/edit/${t}`,i),Ls(r,o,i),Qs(o)}function ic(e,t,i){let r=Rs(e),o=document.createElement("iframe");return o.src=Fs(`/github/${t}`,i),Ls(r,o,i),Qs(o)}var ac={connect:Qs,embedGithubProject:ic,embedProject:nc,embedProjectId:rc,openGithubProject:tc,openProject:$s,openProjectId:ec},oc=z('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 256 368"><title>Stackblitz logo</title><path fill=#49A2F8 d="M109.586 217.013H0L200.34 0l-53.926 150.233H256L55.645 367.246l53.927-150.233z">'),sc=z('<button type=button><span class="text-nowrap overflow-hidden inline-block font-bold">Try me in Stackblitz'),cc=e=>`{\n  "installDependencies": false,\n  "startCommand": "pnpm create vike@latest ${e.join(" ")} --force . && pnpm i && pnpm run dev",\n  "env": {\n    "NODE_ENV": "development"\n  }\n}`;function lc(e){ac.openProject(e,{})}function uc(e){return(()=>{var t=oc();return M((()=>B(t,"class",e.class))),t})()}function dc(e){return(()=>{var t=sc(),i=t.firstChild;return t.$$click=()=>lc({title:"Vike project",description:"Project generated with Vike's scaffolder",template:"node",files:{".stackblitzrc":cc(e.flags),"README.md":"Waiting for CLI to finish. This file will automatically refresh when the project is ready"}}),H(t,L(uc,{class:"h-6"}),i),M((()=>V(t,q("tooltip-bottom tooltip-warning left-[1px] btn btn-sm hover:btn-ghost group h-auto stackblitz-cta",e.class)))),t})()}ft(["click"]);var fc=z('<div role=tabpanel class="tab-content !h-auto w-full bg-base-100 border-base-300 p-1.5"><div class="sm:join flex flex-row w-full rounded-md">'),pc=z('<div role=tablist class="tabs tabs-lift tabs-sm flex-1"><input type=radio name=package_manager role=tab class=tab aria-label=npm><input type=radio name=package_manager role=tab class=tab aria-label=pnpm><input type=radio name=package_manager role=tab class=tab aria-label=yarn><input type=radio name=package_manager role=tab class=tab aria-label=bun><input type=radio name=package_manager role=tab class=tab aria-label=deno><script>\n      const p = localStorage.getItem("packageManager");\n      if (p) {\n        const select = \'input[name="package_manager"][aria-label="\' + p + \'"]\';\n        const el = document.querySelector(select);\n        if (el) {\n          el.checked = true;\n        }\n      }');function mc(e){return(()=>{var t=fc(),i=t.firstChild;return H(i,L(_s,{get onMouseEnter(){return e.onMouseEnter},get onClick(){return e.onClick},get tooltipText(){return e.tooltipText},get children(){return e.children}}),null),H(i,L(dc,{get flags(){return e.flags},class:"join-item hidden sm:flex font-normal"}),null),t})()}function hc(){let{selectedFeaturesFlags:e}=F(K),[t,i]=j("Copy to Clipboard");function r(){return e().map((({flag:e})=>`--${e}`))}let o=N((()=>["npm","create","vike@latest","---",...r()])),a=N((()=>["pnpm","create","vike@latest",...r()])),n=N((()=>["yarn","create","vike@latest",...r()])),l=N((()=>["bun","create","vike@latest",...r()])),s=N((()=>["deno","run","-A","npm:create-vike@latest",...r()])),c=()=>{i("Copy to Clipboard")},M=t=>{ps("copy_scaffold",{package_manager:t,...ms(e())}),i("Copied to Clipboard!")},u=e=>{localStorage.setItem("packageManager",e)},g=localStorage.getItem("packageManager")||"npm";return(()=>{var e=pc(),i=e.firstChild,d=i.nextSibling,N=d.nextSibling,I=N.nextSibling,j=I.nextSibling,D=j.nextSibling;return i.addEventListener("change",(()=>u("npm"))),i.checked="npm"===g,H(e,L(mc,{onMouseEnter:c,onClick:()=>M("npm"),get tooltipText(){return t()},get flags(){return r()},get children(){return o().join(" ")}}),d),d.addEventListener("change",(()=>u("pnpm"))),d.checked="pnpm"===g,H(e,L(mc,{onMouseEnter:c,onClick:()=>M("pnpm"),get tooltipText(){return t()},get flags(){return r()},get children(){return a().join(" ")}}),N),N.addEventListener("change",(()=>u("yarn"))),N.checked="yarn"===g,H(e,L(mc,{onMouseEnter:c,onClick:()=>M("yarn"),get tooltipText(){return t()},get flags(){return r()},get children(){return n().join(" ")}}),I),I.addEventListener("change",(()=>u("bun"))),I.checked="bun"===g,H(e,L(mc,{onMouseEnter:c,onClick:()=>M("bun"),get tooltipText(){return t()},get flags(){return r()},get children(){return l().join(" ")}}),j),j.addEventListener("change",(()=>u("deno"))),j.checked="deno"===g,H(e,L(mc,{onMouseEnter:c,onClick:()=>M("deno"),get tooltipText(){return t()},get flags(){return r()},get children(){return s().join(" ")}}),D),e})()}var gc=z("<button type=button>"),_c=z('<div class="w-full flex box-border gap-2">');function vc(e){let{selectPreset:t}=F(K);return L(ko,{get tip(){return e.description},placement:"bottom",arrow:!0,offset:12,tooltipClass:"text-center w-64 p-2 text-sm shadow-md bg-base-200 text-neutral dark:bg-neutral dark:text-neutral-content",arrowClass:"bg-base-200 dark:bg-neutral",get disabled(){return e.disabled},get children(){var i=gc();return i.$$click=()=>!e.disabled&&t(e.features),H(i,(()=>e.title)),M((t=>{var r=e.disabled,o=q("btn btn-sm whitespace-nowrap",e.class),a=!!e.disabled;return r!==t.e&&(i.disabled=t.e=r),o!==t.t&&V(i,t.t=o),a!==t.a&&i.classList.toggle("cursor-not-allowed",t.a=a),t}),{e:void 0,t:void 0,a:void 0}),i}})}function yc(){return(()=>{var e=_c();return H(e,L(vc,{title:"Frontend",features:["UI Framework","CSS","Linter","storybook"],description:"Frontend app with a UI Framework and Tailwind CSS"}),null),H(e,L(vc,{title:"Full-stack",features:["UI Framework","Data fetching","Auth","Database","CSS","UI Component Libraries","Server","Linter"],description:"Full-stack app with Data Fetching, Auth, a Database and a Server"}),null),H(e,L(vc,{title:"Next.js",features:["react","Auth","Data fetching","hono","vercel","Linter"],description:"Next.js like app with Data Fetching, Auth, Hono and Vercel"}),null),H(e,L(vc,{title:"Nuxt",features:["vue","Auth","Data fetching","h3","Linter"],description:"Nuxt like app with Data Fetching, Auth and h3"}),null),H(e,L(vc,{title:"CMS",features:["UI Framework"],disabled:!0,description:""}),null),e})()}ft(["click"]);var bc=z("<div>"),xc=z('<div class="flex flex-col bg-base-300 p-6 rounded-xl shadow-2xl font-sans bati-widget"><div class="mb-2 w-full"></div><div class=flex></div><div class="divider my-2"></div><div class="w-full flex flex-col relative"><div class="flex items-center py-2 px-3 overflow-auto md:overflow-visible bg-base-100 rounded-md"><span class="text-lg font-bold">Presets</span><div class="divider divider-horizontal mx-1">');function Sc(e){let{rules:t}=F(K);return L(gn,{get children(){var i=xc(),r=i.firstChild,o=r.nextSibling,a=o.nextSibling,n=a.nextSibling,l=n.firstChild;return l.firstChild.nextSibling,H(r,L(Un,{})),H(o,L(hc,{})),H(i,L(R,{get when(){return t().size>0},get children(){var e=bc();return H(e,L(Vi,{get error(){return t().error},get warning(){return t().warning},get info(){return t().info},get invisible(){return t().invisible}})),M((i=>gt(e,{"flex flex-col gap-2 leading-6 rounded-md mt-4":t().invisible.length<t().size},i))),e}}),a),H(l,L(yc,{}),null),H(n,L(os,{}),null),M((t=>{var r=e.theme,o=!e.widget;return r!==t.e&&B(i,"data-theme",t.e=r),o!==t.t&&i.classList.toggle("w-11/12",t.t=o),t}),{e:void 0,t:void 0}),i}})}var Cc='/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-outline-style:solid}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-500:#737373;--color-neutral-800:#262626;--spacing:.25rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-loose:2;--radius-md:.375rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-neutral-200:lab(90.952% 0 -.0000119209);--color-neutral-300:lab(84.92% 0 -.0000119209);--color-neutral-500:lab(48.496% 0 0);--color-neutral-800:lab(15.204% 0 -.00000596046)}}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:root),[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-base-100:#fff;--color-base-200:#f8f8f8;--color-base-300:#eee;--color-base-content:#18181b;--color-primary:#422ad5;--color-primary-content:#e0e7ff;--color-secondary:#f43098;--color-secondary-content:#f9e4f0;--color-accent:#00d1bb;--color-accent-content:#084d49;--color-neutral:#09090b;--color-neutral-content:#e4e4e7;--color-info:#00bafc;--color-info-content:#042e49;--color-success:#00d193;--color-success-content:#004c39;--color-warning:#f9b800;--color-warning-content:#793205;--color-error:#ff657f;--color-error-content:#4d0218;--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@supports (color:lab(0% 0 0)){:where(:root),[data-theme=light]{--color-base-100:lab(100% 0 0);--color-base-200:lab(97.68% -.0000298023 .0000119209);--color-base-300:lab(94.2% 0 0);--color-base-content:lab(8.30603% .618205 -2.16572);--color-primary:lab(31.573% 49.867 -84.7065);--color-primary-content:lab(91.6577% 1.04591 -12.7199);--color-secondary:lab(56.234% 76.7852 -8.06803);--color-secondary-content:lab(92.6584% 9.01151 -3.1507);--color-accent:lab(75.1988% -53.3697 -2.27784);--color-accent-content:lab(28.81% -21.4781 -3.59725);--color-neutral:lab(2.45787% .239417 -.873864);--color-neutral-content:lab(90.6853% .399232 -1.45452);--color-info:lab(69.9876% -23.5256 -45.9352);--color-info-content:lab(17.4794% -5.25944 -21.1512);--color-success:lab(74.4967% -60.7579 19.4189);--color-success-content:lab(27.9355% -26.9592 5.46191);--color-warning:lab(79.2305% 16.6936 100.392);--color-warning-content:lab(30.7627% 30.2938 40.2828);--color-error:lab(64.1803% 63.0275 19.2122);--color-error-content:lab(14.1162% 34.0067 9.81536)}}:root:has(input.theme-controller[value=light]:checked){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-base-100:#fff;--color-base-200:#f8f8f8;--color-base-300:#eee;--color-base-content:#18181b;--color-primary:#422ad5;--color-primary-content:#e0e7ff;--color-secondary:#f43098;--color-secondary-content:#f9e4f0;--color-accent:#00d1bb;--color-accent-content:#084d49;--color-neutral:#09090b;--color-neutral-content:#e4e4e7;--color-info:#00bafc;--color-info-content:#042e49;--color-success:#00d193;--color-success-content:#004c39;--color-warning:#f9b800;--color-warning-content:#793205;--color-error:#ff657f;--color-error-content:#4d0218;--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@supports (color:lab(0% 0 0)){:root:has(input.theme-controller[value=light]:checked){--color-base-100:lab(100% 0 0);--color-base-200:lab(97.68% -.0000298023 .0000119209);--color-base-300:lab(94.2% 0 0);--color-base-content:lab(8.30603% .618205 -2.16572);--color-primary:lab(31.573% 49.867 -84.7065);--color-primary-content:lab(91.6577% 1.04591 -12.7199);--color-secondary:lab(56.234% 76.7852 -8.06803);--color-secondary-content:lab(92.6584% 9.01151 -3.1507);--color-accent:lab(75.1988% -53.3697 -2.27784);--color-accent-content:lab(28.81% -21.4781 -3.59725);--color-neutral:lab(2.45787% .239417 -.873864);--color-neutral-content:lab(90.6853% .399232 -1.45452);--color-info:lab(69.9876% -23.5256 -45.9352);--color-info-content:lab(17.4794% -5.25944 -21.1512);--color-success:lab(74.4967% -60.7579 19.4189);--color-success-content:lab(27.9355% -26.9592 5.46191);--color-warning:lab(79.2305% 16.6936 100.392);--color-warning-content:lab(30.7627% 30.2938 40.2828);--color-error:lab(64.1803% 63.0275 19.2122);--color-error-content:lab(14.1162% 34.0067 9.81536)}}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-base-100:#1d232a;--color-base-200:#191e24;--color-base-300:#15191e;--color-base-content:#f2f8ff;--color-primary:#605dff;--color-primary-content:#edf1fe;--color-secondary:#f43098;--color-secondary-content:#f9e4f0;--color-accent:#00d1bb;--color-accent-content:#084d49;--color-neutral:#09090b;--color-neutral-content:#e4e4e7;--color-info:#00bafc;--color-info-content:#042e49;--color-success:#00d193;--color-success-content:#004c39;--color-warning:#f9b800;--color-warning-content:#793205;--color-error:#ff657f;--color-error-content:#4d0218;--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@supports (color:lab(0% 0 0)){:root:not([data-theme]){--color-base-100:lab(13.3466% -1.2732 -5.67451);--color-base-200:lab(10.9483% -1.07221 -4.98787);--color-base-300:lab(8.5032% -.863373 -4.30144);--color-base-content:lab(97.3754% -1.86676 -10.6283);--color-primary:lab(47.6934% 38.5675 -81.9644);--color-primary-content:lab(95.2498% .41151 -6.78517);--color-secondary:lab(56.234% 76.7852 -8.06803);--color-secondary-content:lab(92.6584% 9.01151 -3.1507);--color-accent:lab(75.1988% -53.3697 -2.27784);--color-accent-content:lab(28.81% -21.4781 -3.59725);--color-neutral:lab(2.45787% .239417 -.873864);--color-neutral-content:lab(90.6853% .399232 -1.45452);--color-info:lab(69.9876% -23.5256 -45.9352);--color-info-content:lab(17.4794% -5.25944 -21.1512);--color-success:lab(74.4967% -60.7579 19.4189);--color-success-content:lab(27.9355% -26.9592 5.46191);--color-warning:lab(79.2305% 16.6936 100.392);--color-warning-content:lab(30.7627% 30.2938 40.2828);--color-error:lab(64.1803% 63.0275 19.2122);--color-error-content:lab(14.1162% 34.0067 9.81536)}}}:is(:root:has(input.theme-controller[value=light]:checked),[data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-base-100:#fff;--color-base-200:#f8f8f8;--color-base-300:#eee;--color-base-content:#18181b;--color-primary:#422ad5;--color-primary-content:#e0e7ff;--color-secondary:#f43098;--color-secondary-content:#f9e4f0;--color-accent:#00d1bb;--color-accent-content:#084d49;--color-neutral:#09090b;--color-neutral-content:#e4e4e7;--color-info:#00bafc;--color-info-content:#042e49;--color-success:#00d193;--color-success-content:#004c39;--color-warning:#f9b800;--color-warning-content:#793205;--color-error:#ff657f;--color-error-content:#4d0218;--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@supports (color:lab(0% 0 0)){:is(:root:has(input.theme-controller[value=light]:checked),[data-theme=light]){--color-base-100:lab(100% 0 0);--color-base-200:lab(97.68% -.0000298023 .0000119209);--color-base-300:lab(94.2% 0 0);--color-base-content:lab(8.30603% .618205 -2.16572);--color-primary:lab(31.573% 49.867 -84.7065);--color-primary-content:lab(91.6577% 1.04591 -12.7199);--color-secondary:lab(56.234% 76.7852 -8.06803);--color-secondary-content:lab(92.6584% 9.01151 -3.1507);--color-accent:lab(75.1988% -53.3697 -2.27784);--color-accent-content:lab(28.81% -21.4781 -3.59725);--color-neutral:lab(2.45787% .239417 -.873864);--color-neutral-content:lab(90.6853% .399232 -1.45452);--color-info:lab(69.9876% -23.5256 -45.9352);--color-info-content:lab(17.4794% -5.25944 -21.1512);--color-success:lab(74.4967% -60.7579 19.4189);--color-success-content:lab(27.9355% -26.9592 5.46191);--color-warning:lab(79.2305% 16.6936 100.392);--color-warning-content:lab(30.7627% 30.2938 40.2828);--color-error:lab(64.1803% 63.0275 19.2122);--color-error-content:lab(14.1162% 34.0067 9.81536)}}:is(:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-base-100:#1d232a;--color-base-200:#191e24;--color-base-300:#15191e;--color-base-content:#f2f8ff;--color-primary:#605dff;--color-primary-content:#edf1fe;--color-secondary:#f43098;--color-secondary-content:#f9e4f0;--color-accent:#00d1bb;--color-accent-content:#084d49;--color-neutral:#09090b;--color-neutral-content:#e4e4e7;--color-info:#00bafc;--color-info-content:#042e49;--color-success:#00d193;--color-success-content:#004c39;--color-warning:#f9b800;--color-warning-content:#793205;--color-error:#ff657f;--color-error-content:#4d0218;--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@supports (color:lab(0% 0 0)){:is(:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]){--color-base-100:lab(13.3466% -1.2732 -5.67451);--color-base-200:lab(10.9483% -1.07221 -4.98787);--color-base-300:lab(8.5032% -.863373 -4.30144);--color-base-content:lab(97.3754% -1.86676 -10.6283);--color-primary:lab(47.6934% 38.5675 -81.9644);--color-primary-content:lab(95.2498% .41151 -6.78517);--color-secondary:lab(56.234% 76.7852 -8.06803);--color-secondary-content:lab(92.6584% 9.01151 -3.1507);--color-accent:lab(75.1988% -53.3697 -2.27784);--color-accent-content:lab(28.81% -21.4781 -3.59725);--color-neutral:lab(2.45787% .239417 -.873864);--color-neutral-content:lab(90.6853% .399232 -1.45452);--color-info:lab(69.9876% -23.5256 -45.9352);--color-info-content:lab(17.4794% -5.25944 -21.1512);--color-success:lab(74.4967% -60.7579 19.4189);--color-success-content:lab(27.9355% -26.9592 5.46191);--color-warning:lab(79.2305% 16.6936 100.392);--color-warning-content:lab(30.7627% 30.2938 40.2828);--color-error:lab(64.1803% 63.0275 19.2122);--color-error-content:lab(14.1162% 34.0067 9.81536)}}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 200 200\'%3E%3Cfilter id=\'a\'%3E%3CfeTurbulence type=\'fractalNoise\' baseFrequency=\'1.34\' numOctaves=\'4\' stitchTiles=\'stitch\'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width=\'200\' height=\'200\' filter=\'url(%23a)\' opacity=\'0.2\'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"<percentage>";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), lab(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}}@layer components{:root{--lm:"";--lm2:""}.list-custom>li{list-style:inside}.list-custom>li>*{vertical-align:top}.list-custom>li::marker{content:var(--lm) var(--lm2) " "}li.list-colon::marker{--lm2:":"}.list-custom.list-colon>li::marker{--lm2:":"}li.list-star::marker{--lm:"★"}.list-custom.list-star>li::marker{--lm:"★"}li.list-dot::marker{--lm:"•"}.list-custom.list-dot>li::marker{--lm:"•"}li.list-info::marker{--lm:"🛈"}.list-custom.list-info>li::marker{--lm:"🛈"}li.list-warning::marker{--lm:"⚠"}.list-custom.list-warning>li::marker{--lm:"⚠"}li.list-error::marker{--lm:"⮿"}.list-custom.list-error>li::marker{--lm:"⮿"}li.list-check::marker{--lm:"🗸"}.list-custom.list-check>li::marker{--lm:"🗸"}.listbox{cursor:pointer;height:calc(var(--spacing) * 12);min-height:calc(var(--spacing) * 12);padding-right:calc(var(--spacing) * 10);padding-left:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-loose);line-height:var(--leading-loose);align-items:center;display:inline-flex;position:relative}.listbox[multiple]{height:auto}.listbox [role=combobox]{appearance:none;--tw-outline-style:none;outline-style:none;flex-grow:1}@media (forced-colors:active){.listbox [role=combobox]{outline-offset:2px;outline:2px solid #0000}}.listbox [role=combobox]{-webkit-user-select:none;user-select:none}.listbox [role=listbox]{top:100%;left:calc(var(--spacing) * 0);z-index:50;width:100%;position:absolute;overflow:visible}.listbox [role=combobox]:not([aria-expanded=true])~[role=listbox]{display:none}.listbox [role=listbox] [role=option]{box-sizing:border-box;height:calc(var(--spacing) * 12);min-height:calc(var(--spacing) * 12);width:100%;padding-right:calc(var(--spacing) * 10);padding-left:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-loose);line-height:var(--leading-loose);border-radius:0;align-items:center;display:inline-flex}.listbox{border-style:var(--tw-border-style);--tw-border-style:solid;border-style:solid;border-width:2px;border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.listbox{border-color:color-mix(in oklab, var(--color-base-content) 0%, transparent)}}.listbox{background-color:var(--color-base-100);padding-right:calc(var(--spacing) * 10);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.listbox .listbox-bordered{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-bordered{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.listbox{background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px}.listbox:focus{outline-width:1px;outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}.listbox [role=listbox]{background-color:var(--color-base-100);--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-shadow-color:var(--color-base-300);border-radius:.25rem}@supports (color:color-mix(in lab, red, red)){.listbox [role=listbox]{--tw-shadow-color:color-mix(in oklab, var(--color-base-300) var(--tw-shadow-alpha), transparent)}}.listbox [role=listbox] [role=option][aria-selected=true]{border-style:var(--tw-border-style);--tw-border-style:solid;border-style:solid;border-width:2px;border-color:var(--color-base-content);border-radius:.25rem}@supports (color:color-mix(in lab, red, red)){.listbox [role=listbox] [role=option][aria-selected=true]{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.listbox [role=listbox] [role=option][aria-disabled=true]{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);opacity:.2}.listbox [role=listbox] [role=option]:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.listbox [role=listbox] [role=option]:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.listbox .listbox-ghost{background-color:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-ghost{background-color:color-mix(in oklab, var(--color-base-100) 5%, transparent)}}.listbox .listbox-ghost:focus{background-color:var(--color-base-100);color:var(--color-base-content)}.listbox .listbox-primary{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-primary{border-color:color-mix(in oklab, var(--color-primary) 60%, transparent)}}.listbox .listbox-primary:focus{outline-color:var(--color-primary)}.listbox .listbox-primary [role=listbox] [role=option][aria-selected=true]{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-primary [role=listbox] [role=option][aria-selected=true]{border-color:color-mix(in oklab, var(--color-primary) 60%, transparent)}}.listbox .listbox-primary [role=listbox] [role=option][aria-selected=true]{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-primary [role=listbox] [role=option][aria-selected=true]{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.listbox .listbox-primary [role=listbox] [role=option]:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-primary [role=listbox] [role=option]:hover{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.listbox .listbox-secondary{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-secondary{border-color:color-mix(in oklab, var(--color-secondary) 60%, transparent)}}.listbox .listbox-secondary:focus{outline-color:var(--color-secondary)}.listbox .listbox-secondary [role=listbox] [role=option][aria-selected=true]{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-secondary [role=listbox] [role=option][aria-selected=true]{border-color:color-mix(in oklab, var(--color-secondary) 60%, transparent)}}.listbox .listbox-secondary [role=listbox] [role=option][aria-selected=true]{background-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-secondary [role=listbox] [role=option][aria-selected=true]{background-color:color-mix(in oklab, var(--color-secondary) 10%, transparent)}}.listbox .listbox-secondary [role=listbox] [role=option]:hover{background-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-secondary [role=listbox] [role=option]:hover{background-color:color-mix(in oklab, var(--color-secondary) 10%, transparent)}}.listbox .listbox-accent{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-accent{border-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.listbox .listbox-accent:focus{outline-color:var(--color-accent)}.listbox .listbox-accent [role=listbox] [role=option][aria-selected=true]{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-accent [role=listbox] [role=option][aria-selected=true]{border-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.listbox .listbox-accent [role=listbox] [role=option][aria-selected=true]{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-accent [role=listbox] [role=option][aria-selected=true]{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.listbox .listbox-accent [role=listbox] [role=option]:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-accent [role=listbox] [role=option]:hover{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.listbox .listbox-info{border-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-info{border-color:color-mix(in oklab, var(--color-info) 60%, transparent)}}.listbox .listbox-info:focus{outline-color:var(--color-info)}.listbox .listbox-info [role=listbox] [role=option][aria-selected=true]{border-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-info [role=listbox] [role=option][aria-selected=true]{border-color:color-mix(in oklab, var(--color-info) 60%, transparent)}}.listbox .listbox-info [role=listbox] [role=option][aria-selected=true]{background-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-info [role=listbox] [role=option][aria-selected=true]{background-color:color-mix(in oklab, var(--color-info) 10%, transparent)}}.listbox .listbox-info [role=listbox] [role=option]:hover{background-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-info [role=listbox] [role=option]:hover{background-color:color-mix(in oklab, var(--color-info) 10%, transparent)}}.listbox .listbox-success{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-success{border-color:color-mix(in oklab, var(--color-success) 60%, transparent)}}.listbox .listbox-success:focus{outline-color:var(--color-success)}.listbox .listbox-success [role=listbox] [role=option][aria-selected=true]{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-success [role=listbox] [role=option][aria-selected=true]{border-color:color-mix(in oklab, var(--color-success) 60%, transparent)}}.listbox .listbox-success [role=listbox] [role=option][aria-selected=true]{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-success [role=listbox] [role=option][aria-selected=true]{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.listbox .listbox-success [role=listbox] [role=option]:hover{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-success [role=listbox] [role=option]:hover{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.listbox .listbox-warning{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-warning{border-color:color-mix(in oklab, var(--color-warning) 60%, transparent)}}.listbox .listbox-warning:focus{outline-color:var(--color-warning)}.listbox .listbox-warning [role=listbox] [role=option][aria-selected=true]{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-warning [role=listbox] [role=option][aria-selected=true]{border-color:color-mix(in oklab, var(--color-warning) 60%, transparent)}}.listbox .listbox-warning [role=listbox] [role=option][aria-selected=true]{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-warning [role=listbox] [role=option][aria-selected=true]{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.listbox .listbox-warning [role=listbox] [role=option]:hover{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-warning [role=listbox] [role=option]:hover{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.listbox .listbox-error{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-error{border-color:color-mix(in oklab, var(--color-error) 60%, transparent)}}.listbox .listbox-error:focus{outline-color:var(--color-error)}.listbox .listbox-error [role=listbox] [role=option][aria-selected=true]{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-error [role=listbox] [role=option][aria-selected=true]{border-color:color-mix(in oklab, var(--color-error) 60%, transparent)}}.listbox .listbox-error [role=listbox] [role=option][aria-selected=true]{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-error [role=listbox] [role=option][aria-selected=true]{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.listbox .listbox-error [role=listbox] [role=option]:hover{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-error [role=listbox] [role=option]:hover{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.listbox .listbox-disabled,.listbox:disabled,.listbox[disabled],.listbox[aria-disabled=true]{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.listbox .listbox-disabled,.listbox:disabled,.listbox[disabled],.listbox[aria-disabled=true]{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}:is(.listbox .listbox-disabled,.listbox:disabled,.listbox[disabled],.listbox[aria-disabled=true])::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.listbox .listbox-disabled,.listbox:disabled,.listbox[disabled],.listbox[aria-disabled=true])::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.listbox .listbox-disabled,.listbox:disabled,.listbox[disabled],.listbox[aria-disabled=true]{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.listbox .listbox-disabled,.listbox:disabled,.listbox[disabled],.listbox[aria-disabled=true]{outline-offset:2px!important;outline:2px solid #0000!important}}.listbox -multiple,.listbox[multiple],.listbox[size]:not([size="1"]){padding-right:calc(var(--spacing) * 4);background-image:none}}@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width=\'10\' height=\'4\' viewBox=\'0 0 8 4\' fill=\'none\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath d=\'M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z\' fill=\'black\'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media (prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:-moz-fit-content;min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:#0000004d;background-color:lab(0% 0 0/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible{isolation:isolate;outline-width:2px;outline-style:solid}.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 #0000, 0 0 0 0 #0000}@supports (color:lab(0% 0 0)){.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 lab(0% 0 0/0), 0 0 0 0 lab(0% 0 0/0)}}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}.select:has(>select[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}.select:has(>select[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px #0003;box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}@supports (color:lab(0% 0 0)){:is(.select,.select select)::picker(select){box-shadow:0 2px calc(var(--depth) * 3px) -2px lab(0% 0 0/.2)}}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px #00000040;box-shadow:0 25px 50px -12px lab(0% 0 0/.25)}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.kbd{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border) solid var(--color-base-content);justify-content:center;align-items:center;padding-inline:.5em;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.kbd{border:var(--border) solid color-mix(in srgb, var(--color-base-content) 20%, #0000)}}.kbd{border-bottom:calc(var(--border) + 1px) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.kbd{border-bottom:calc(var(--border) + 1px) solid color-mix(in srgb, var(--color-base-content) 20%, #0000)}}.kbd{--size:calc(var(--size-selector,.25rem) * 6);height:var(--size);min-width:var(--size);font-size:.875rem}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.\\!btn-primary{--btn-color:var(--color-primary)!important;--btn-fg:var(--color-primary-content)!important}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:#0006;background-color:lab(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.tabs-lift{--tabs-height:auto;--tabs-direction:row}.tabs-lift>.tab{--tab-border:0 0 var(--border) 0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border) var(--tab-p) 0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color) #0000;--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border) var(--border) 0 var(--border);--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border)) var(--border) calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right, var(--tab-radius-grad));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start), var(--radius-end);background-size:var(--tab-radius-limit) var(--tab-radius-limit);inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-lift:has(>.tab-content)>.tab:first-child:not(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color)}.tabs-lift>.tab-content{--tabcontent-margin:calc(-1 * var(--border)) 0 0 0;--tabcontent-radius-ss:0;--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.\\!btn-active{--btn-bg:var(--btn-color,var(--color-base-200))!important}@supports (color:color-mix(in lab, red, red)){.\\!btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)!important}}.\\!btn-active{--btn-shadow:0 0 0 0 #0000, 0 0 0 0 #0000!important;isolation:isolate!important}@supports (color:lab(0% 0 0)){.\\!btn-active{--btn-shadow:0 0 0 0 lab(0% 0 0/0), 0 0 0 0 lab(0% 0 0/0)!important}}.divider-start:before{display:none}.divider-horizontal{--divider-m:0 1rem}.divider-horizontal.divider{flex-direction:column;width:1rem;height:auto}.divider-horizontal.divider:before,.divider-horizontal.divider:after{width:.125rem;height:100%}.tabs-lg{--tab-height:calc(var(--size-field,.25rem) * 12)}.tabs-lg>.tab{--tab-p:1rem;--tab-radius-min:calc(1.5rem - var(--border));font-size:1.125rem}.tabs-sm{--tab-height:calc(var(--size-field,.25rem) * 8)}.tabs-sm>.tab{--tab-p:.5rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.875rem}.kbd-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.link-hover{text-decoration-line:none}@media (hover:hover){.link-hover:hover{text-decoration-line:underline}}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-2{top:calc(var(--spacing) * 2)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-\\[1px\\]{left:1px}.z-10{z-index:10}.col-start-1{grid-column-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.join-item:where(:not(:first-child,:disabled,[disabled],.btn-disabled)){margin-block-start:0;margin-inline-start:calc(var(--border,1px) * -1)}.join-item:where(:is(:disabled,[disabled],.btn-disabled)){border-width:var(--border,1px) 0 var(--border,1px) var(--border,1px)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mr-1{margin-right:calc(var(--spacing) * 1)}.-mb-1{margin-bottom:calc(var(--spacing) * -1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-4{margin-left:calc(var(--spacing) * 4)}.box-border{box-sizing:border-box}.kbd{box-shadow:none}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\\!h-auto{height:auto!important}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-12{height:calc(var(--spacing) * 12)}.h-auto{height:auto}.h-full{height:100%}.max-h-4{max-height:calc(var(--spacing) * 4)}.max-h-5{max-height:calc(var(--spacing) * 5)}.min-h-10{min-height:calc(var(--spacing) * 10)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-11\\/12{width:91.6667%}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-4{max-width:calc(var(--spacing) * 4)}.max-w-5{max-width:calc(var(--spacing) * 5)}.max-w-5xl{max-width:var(--container-5xl)}.min-w-60{min-width:calc(var(--spacing) * 60)}.flex-1{flex:1}.basis-1\\/4{flex-basis:25%}.basis-3\\/4{flex-basis:75%}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-flow-dense{grid-auto-flow:dense}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.content-stretch{align-content:stretch}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-solid{--tw-border-style:solid;border-style:solid}.border-base-300{border-color:var(--color-base-300)}.border-error{border-color:var(--color-error)}.border-info{border-color:var(--color-info)}.border-neutral-300{border-color:var(--color-neutral-300)}.border-primary{border-color:var(--color-primary)}.border-warning{border-color:var(--color-warning)}.border-t-neutral{border-top-color:var(--color-neutral)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200{background-color:var(--color-base-200)}.bg-base-300,.bg-base-300\\/30{background-color:var(--color-base-300)}@supports (color:color-mix(in lab, red, red)){.bg-base-300\\/30{background-color:color-mix(in oklab, var(--color-base-300) 30%, transparent)}}.bg-error\\/25{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\\/25{background-color:color-mix(in oklab, var(--color-error) 25%, transparent)}}.bg-info\\/25{background-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.bg-info\\/25{background-color:color-mix(in oklab, var(--color-info) 25%, transparent)}}.bg-neutral-300{background-color:var(--color-neutral-300)}.bg-primary{background-color:var(--color-primary)}.bg-transparent{background-color:#0000}.bg-warning\\/25{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\\/25{background-color:color-mix(in oklab, var(--color-warning) 25%, transparent)}}.fill-base-100{fill:var(--color-base-100)}.fill-current{fill:currentColor}.fill-neutral-800{fill:var(--color-neutral-800)}.p-0{padding:calc(var(--spacing) * 0)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pr-2\\.5{padding-right:calc(var(--spacing) * 2.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.align-baseline{vertical-align:baseline}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\\/4{font-size:var(--text-xs);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-9{--tw-leading:calc(var(--spacing) * 9);line-height:calc(var(--spacing) * 9)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-nowrap{text-wrap:nowrap}.whitespace-nowrap{white-space:nowrap}.text-base-content{color:var(--color-base-content)}.text-neutral{color:var(--color-neutral)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-primary{-webkit-text-decoration-color:var(--color-primary);-webkit-text-decoration-color:var(--color-primary);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-base-300{--tw-shadow-color:var(--color-base-300)}@supports (color:color-mix(in lab, red, red)){.shadow-base-300{--tw-shadow-color:color-mix(in oklab, var(--color-base-300) var(--tw-shadow-alpha), transparent)}}.outline-offset-2{outline-offset:2px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@layer daisyui.l1{.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}}.select-all{-webkit-user-select:all;user-select:all}@media (hover:hover){.group-hover\\:w-24:is(:where(.group):hover *){width:calc(var(--spacing) * 24)}.group-hover\\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}@layer daisyui.l1{.hover\\:btn-ghost:hover:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.hover\\:btn-ghost:hover:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.hover\\:btn-ghost:hover:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}}}@media (min-width:40rem){.sm\\:join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;align-items:stretch;display:inline-flex}.sm\\:join :where(.join-item){border-start-start-radius:var(--join-ss,0);border-start-end-radius:var(--join-se,0);border-end-end-radius:var(--join-ee,0);border-end-start-radius:var(--join-es,0)}.sm\\:join :where(.join-item) *{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.sm\\:join>.join-item:where(:first-child),.sm\\:join :first-child:not(:last-child) :where(.join-item){--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.sm\\:join>.join-item:where(:last-child),.sm\\:join :last-child:not(:first-child) :where(.join-item){--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.sm\\:join>.join-item:where(:only-child),.sm\\:join :only-child :where(.join-item){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.sm\\:join>:where(:focus,:has(:focus)){z-index:1}@media (hover:hover){.sm\\:join>:where(.btn:hover,:has(.btn:hover)){isolation:isolate}}.sm\\:flex{display:flex}.sm\\:w-auto{width:auto}}@media (min-width:48rem){.md\\:visible{visibility:visible}.md\\:flex{display:flex}.md\\:overflow-visible{overflow:visible}}@media (min-width:64rem){.lg\\:mr-4{margin-right:calc(var(--spacing) * 4)}.lg\\:ml-0{margin-left:calc(var(--spacing) * 0)}.lg\\:block{display:block}.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:flex-row{flex-direction:row}}@media (prefers-color-scheme:dark){.dark\\:border-neutral-500{border-color:var(--color-neutral-500)}.dark\\:bg-neutral{background-color:var(--color-neutral)}.dark\\:bg-neutral-500{background-color:var(--color-neutral-500)}.dark\\:bg-neutral\\/70{background-color:var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-neutral\\/70{background-color:color-mix(in oklab, var(--color-neutral) 70%, transparent)}}.dark\\:fill-neutral-200{fill:var(--color-neutral-200)}.dark\\:text-neutral-content{color:var(--color-neutral-content)}}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}',wc=z("<style>");function Tc(e){return L(In,{get children(){return[(()=>{var e=wc();return H(e,Cc),e})(),lt((()=>e.children))]}})}function Ec(e){return L(Tc,{get children(){return L(Sc,{widget:!0,get theme(){return e.theme}})}})}Bt("bati-widget",{theme:""},Ec);
//# sourceMappingURL=/sm/6bc437af6b5fdf4535164570226f85e374b3014cb826c2b2ec706b089f2a3c10.map