diff --git a/404.html b/404.html index 52e24215..2d910ecd 100644 --- a/404.html +++ b/404.html @@ -5,7 +5,7 @@ 404 | Online synthesizers collection - + @@ -43,7 +43,7 @@
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
- + \ No newline at end of file diff --git a/README.html b/README.html index 30e81264..0848b784 100644 --- a/README.html +++ b/README.html @@ -5,7 +5,7 @@ WEB SYNTHS | Online synthesizers collection - + @@ -46,7 +46,7 @@
Skip to content
On this page

WEB SYNTHS

TO DO

  • SEO proof texts
  • Logos
  • save state
  • favourites
  • ranks + reviews

Last updated:

- + \ No newline at end of file diff --git a/assets/index.md.ad3ccca6.js b/assets/index.md.d77ad94a.js similarity index 71% rename from assets/index.md.ad3ccca6.js rename to assets/index.md.d77ad94a.js index 50d9d2eb..40c98028 100644 --- a/assets/index.md.ad3ccca6.js +++ b/assets/index.md.d77ad94a.js @@ -1,2 +1,2 @@ -import{u as os,a as ls,b as us,c as hs,d as ds}from"./chunks/theme.1bdb9610.js";import{r as q,b as De,w as Pe,h as F,a2 as K,i as x,j as $,u as w,a0 as cs,I as fs,B as v,m as It,p as Le,x as it,M as V,v as D,C as ps,D as ms,_ as gs,e as vs,J as Jt,K as ys,k as nt,q as Dt,S as bs,a3 as Xt,a4 as ws,a5 as _s,Z as xs,a6 as Es,T as Ss,l as M}from"./chunks/framework.531526f4.js";function Ts(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Bt={exports:{}},Ne=function(t,e){return function(){for(var i=new Array(arguments.length),n=0;n"u"}function $s(s){return s!==null&&!lt(s)&&s.constructor!==null&&!lt(s.constructor)&&typeof s.constructor.isBuffer=="function"&&s.constructor.isBuffer(s)}var qe=H("ArrayBuffer");function Rs(s){var t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(s):t=s&&s.buffer&&qe(s.buffer),t}function Cs(s){return typeof s=="string"}function ks(s){return typeof s=="number"}function Be(s){return s!==null&&typeof s=="object"}function at(s){if(Mt(s)!=="object")return!1;var t=Object.getPrototypeOf(s);return t===null||t===Object.prototype}var As=H("Date"),Is=H("File"),Ds=H("Blob"),Ps=H("FileList");function Ht(s){return Ut.call(s)==="[object Function]"}function Ls(s){return Be(s)&&Ht(s.pipe)}function Ns(s){var t="[object FormData]";return s&&(typeof FormData=="function"&&s instanceof FormData||Ut.call(s)===t||Ht(s.toString)&&s.toString()===t)}var qs=H("URLSearchParams");function Bs(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,"")}function Us(){return typeof navigator<"u"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window<"u"&&typeof document<"u"}function jt(s,t){if(!(s===null||typeof s>"u"))if(typeof s!="object"&&(s=[s]),Ft(s))for(var e=0,r=s.length;e0;)n=r[i],a[n]||(t[n]=s[n],a[n]=!0);s=Object.getPrototypeOf(s)}while(s&&(!e||e(s,t))&&s!==Object.prototype);return t}function Ws(s,t,e){s=String(s),(e===void 0||e>s.length)&&(e=s.length),e-=t.length;var r=s.indexOf(t,e);return r!==-1&&r===e}function zs(s){if(!s)return null;var t=s.length;if(lt(t))return null;for(var e=new Array(t);t-- >0;)e[t]=s[t];return e}var Zs=function(s){return function(t){return s&&t instanceof s}}(typeof Uint8Array<"u"&&Object.getPrototypeOf(Uint8Array)),_={isArray:Ft,isArrayBuffer:qe,isBuffer:$s,isFormData:Ns,isArrayBufferView:Rs,isString:Cs,isNumber:ks,isObject:Be,isPlainObject:at,isUndefined:lt,isDate:As,isFile:Is,isBlob:Ds,isFunction:Ht,isStream:Ls,isURLSearchParams:qs,isStandardBrowserEnv:Us,forEach:jt,merge:Pt,extend:Ms,trim:Bs,stripBOM:Fs,inherits:Hs,toFlatObject:js,kindOf:Mt,kindOfTest:H,endsWith:Ws,toArray:zs,isTypedArray:Zs,isFileList:Ps},W=_;function Kt(s){return encodeURIComponent(s).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var Ue=function(t,e,r){if(!e)return t;var i;if(r)i=r(e);else if(W.isURLSearchParams(e))i=e.toString();else{var n=[];W.forEach(e,function(u,h){u===null||typeof u>"u"||(W.isArray(u)?h=h+"[]":u=[u],W.forEach(u,function(c){W.isDate(c)?c=c.toISOString():W.isObject(c)&&(c=JSON.stringify(c)),n.push(Kt(h)+"="+Kt(c))}))}),i=n.join("&")}if(i){var a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t},Vs=_;function ut(){this.handlers=[]}ut.prototype.use=function(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1};ut.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)};ut.prototype.forEach=function(t){Vs.forEach(this.handlers,function(r){r!==null&&t(r)})};var Gs=ut,Js=_,Xs=function(t,e){Js.forEach(t,function(i,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=i,delete t[n])})},Me=_;function G(s,t,e,r,i){Error.call(this),this.message=s,this.name="AxiosError",t&&(this.code=t),e&&(this.config=e),r&&(this.request=r),i&&(this.response=i)}Me.inherits(G,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var Fe=G.prototype,He={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach(function(s){He[s]={value:s}});Object.defineProperties(G,He);Object.defineProperty(Fe,"isAxiosError",{value:!0});G.from=function(s,t,e,r,i,n){var a=Object.create(Fe);return Me.toFlatObject(s,a,function(u){return u!==Error.prototype}),G.call(a,s.message,t,e,r,i),a.name=s.name,n&&Object.assign(a,n),a};var X=G,je={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},C=_;function Ks(s,t){t=t||new FormData;var e=[];function r(n){return n===null?"":C.isDate(n)?n.toISOString():C.isArrayBuffer(n)||C.isTypedArray(n)?typeof Blob=="function"?new Blob([n]):Buffer.from(n):n}function i(n,a){if(C.isPlainObject(n)||C.isArray(n)){if(e.indexOf(n)!==-1)throw Error("Circular reference detected in "+a);e.push(n),C.forEach(n,function(u,h){if(!C.isUndefined(u)){var d=a?a+"."+h:h,c;if(u&&!a&&typeof u=="object"){if(C.endsWith(h,"{}"))u=JSON.stringify(u);else if(C.endsWith(h,"[]")&&(c=C.toArray(u))){c.forEach(function(o){!C.isUndefined(o)&&t.append(d,r(o))});return}}i(u,d)}}),e.pop()}else t.append(a,r(n))}return i(s),t}var We=Ks,gt,Yt;function Ys(){if(Yt)return gt;Yt=1;var s=X;return gt=function(e,r,i){var n=i.config.validateStatus;!i.status||!n||n(i.status)?e(i):r(new s("Request failed with status code "+i.status,[s.ERR_BAD_REQUEST,s.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i))},gt}var vt,Qt;function Qs(){if(Qt)return vt;Qt=1;var s=_;return vt=s.isStandardBrowserEnv()?function(){return{write:function(r,i,n,a,l,u){var h=[];h.push(r+"="+encodeURIComponent(i)),s.isNumber(n)&&h.push("expires="+new Date(n).toGMTString()),s.isString(a)&&h.push("path="+a),s.isString(l)&&h.push("domain="+l),u===!0&&h.push("secure"),document.cookie=h.join("; ")},read:function(r){var i=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return i?decodeURIComponent(i[3]):null},remove:function(r){this.write(r,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),vt}var tr=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)},er=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t},sr=tr,rr=er,ze=function(t,e){return t&&!sr(e)?rr(t,e):e},yt,te;function ir(){if(te)return yt;te=1;var s=_,t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return yt=function(r){var i={},n,a,l;return r&&s.forEach(r.split(` -`),function(h){if(l=h.indexOf(":"),n=s.trim(h.substr(0,l)).toLowerCase(),a=s.trim(h.substr(l+1)),n){if(i[n]&&t.indexOf(n)>=0)return;n==="set-cookie"?i[n]=(i[n]?i[n]:[]).concat([a]):i[n]=i[n]?i[n]+", "+a:a}}),i},yt}var bt,ee;function nr(){if(ee)return bt;ee=1;var s=_;return bt=s.isStandardBrowserEnv()?function(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),i;function n(a){var l=a;return e&&(r.setAttribute("href",l),l=r.href),r.setAttribute("href",l),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return i=n(window.location.href),function(l){var u=s.isString(l)?n(l):l;return u.protocol===i.protocol&&u.host===i.host}}():function(){return function(){return!0}}(),bt}var wt,se;function ht(){if(se)return wt;se=1;var s=X,t=_;function e(r){s.call(this,r??"canceled",s.ERR_CANCELED),this.name="CanceledError"}return t.inherits(e,s,{__CANCEL__:!0}),wt=e,wt}var _t,re;function ar(){return re||(re=1,_t=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}),_t}var xt,ie;function ne(){if(ie)return xt;ie=1;var s=_,t=Ys(),e=Qs(),r=Ue,i=ze,n=ir(),a=nr(),l=je,u=X,h=ht(),d=ar();return xt=function(o){return new Promise(function(m,y){var T=o.data,k=o.headers,A=o.responseType,I;function et(){o.cancelToken&&o.cancelToken.unsubscribe(I),o.signal&&o.signal.removeEventListener("abort",I)}s.isFormData(T)&&s.isStandardBrowserEnv()&&delete k["Content-Type"];var p=new XMLHttpRequest;if(o.auth){var is=o.auth.username||"",ns=o.auth.password?unescape(encodeURIComponent(o.auth.password)):"";k.Authorization="Basic "+btoa(is+":"+ns)}var ft=i(o.baseURL,o.url);p.open(o.method.toUpperCase(),r(ft,o.params,o.paramsSerializer),!0),p.timeout=o.timeout;function Vt(){if(p){var R="getAllResponseHeaders"in p?n(p.getAllResponseHeaders()):null,j=!A||A==="text"||A==="json"?p.responseText:p.response,B={data:j,status:p.status,statusText:p.statusText,headers:R,config:o,request:p};t(function(mt){m(mt),et()},function(mt){y(mt),et()},B),p=null}}if("onloadend"in p?p.onloadend=Vt:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(Vt)},p.onabort=function(){p&&(y(new u("Request aborted",u.ECONNABORTED,o,p)),p=null)},p.onerror=function(){y(new u("Network Error",u.ERR_NETWORK,o,p,p)),p=null},p.ontimeout=function(){var j=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",B=o.transitional||l;o.timeoutErrorMessage&&(j=o.timeoutErrorMessage),y(new u(j,B.clarifyTimeoutError?u.ETIMEDOUT:u.ECONNABORTED,o,p)),p=null},s.isStandardBrowserEnv()){var Gt=(o.withCredentials||a(ft))&&o.xsrfCookieName?e.read(o.xsrfCookieName):void 0;Gt&&(k[o.xsrfHeaderName]=Gt)}"setRequestHeader"in p&&s.forEach(k,function(j,B){typeof T>"u"&&B.toLowerCase()==="content-type"?delete k[B]:p.setRequestHeader(B,j)}),s.isUndefined(o.withCredentials)||(p.withCredentials=!!o.withCredentials),A&&A!=="json"&&(p.responseType=o.responseType),typeof o.onDownloadProgress=="function"&&p.addEventListener("progress",o.onDownloadProgress),typeof o.onUploadProgress=="function"&&p.upload&&p.upload.addEventListener("progress",o.onUploadProgress),(o.cancelToken||o.signal)&&(I=function(R){p&&(y(!R||R&&R.type?new h:R),p.abort(),p=null)},o.cancelToken&&o.cancelToken.subscribe(I),o.signal&&(o.signal.aborted?I():o.signal.addEventListener("abort",I))),T||(T=null);var pt=d(ft);if(pt&&["http","https","file"].indexOf(pt)===-1){y(new u("Unsupported protocol "+pt+":",u.ERR_BAD_REQUEST,o));return}p.send(T)})},xt}var Et,ae;function or(){return ae||(ae=1,Et=null),Et}var b=_,oe=Xs,le=X,lr=je,ur=We,hr={"Content-Type":"application/x-www-form-urlencoded"};function ue(s,t){!b.isUndefined(s)&&b.isUndefined(s["Content-Type"])&&(s["Content-Type"]=t)}function dr(){var s;return(typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(s=ne()),s}function cr(s,t,e){if(b.isString(s))try{return(t||JSON.parse)(s),b.trim(s)}catch(r){if(r.name!=="SyntaxError")throw r}return(e||JSON.stringify)(s)}var dt={transitional:lr,adapter:dr(),transformRequest:[function(t,e){if(oe(e,"Accept"),oe(e,"Content-Type"),b.isFormData(t)||b.isArrayBuffer(t)||b.isBuffer(t)||b.isStream(t)||b.isFile(t)||b.isBlob(t))return t;if(b.isArrayBufferView(t))return t.buffer;if(b.isURLSearchParams(t))return ue(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var r=b.isObject(t),i=e&&e["Content-Type"],n;if((n=b.isFileList(t))||r&&i==="multipart/form-data"){var a=this.env&&this.env.FormData;return ur(n?{"files[]":t}:t,a&&new a)}else if(r||i==="application/json")return ue(e,"application/json"),cr(t);return t}],transformResponse:[function(t){var e=this.transitional||dt.transitional,r=e&&e.silentJSONParsing,i=e&&e.forcedJSONParsing,n=!r&&this.responseType==="json";if(n||i&&b.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(n)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:or()},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};b.forEach(["delete","get","head"],function(t){dt.headers[t]={}});b.forEach(["post","put","patch"],function(t){dt.headers[t]=b.merge(hr)});var Wt=dt,fr=_,pr=Wt,mr=function(t,e,r){var i=this||pr;return fr.forEach(r,function(a){t=a.call(i,t,e)}),t},St,he;function Ze(){return he||(he=1,St=function(t){return!!(t&&t.__CANCEL__)}),St}var de=_,Tt=mr,gr=Ze(),vr=Wt,yr=ht();function Ot(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new yr}var br=function(t){Ot(t),t.headers=t.headers||{},t.data=Tt.call(t,t.data,t.headers,t.transformRequest),t.headers=de.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),de.forEach(["delete","get","head","post","put","patch","common"],function(i){delete t.headers[i]});var e=t.adapter||vr.adapter;return e(t).then(function(i){return Ot(t),i.data=Tt.call(t,i.data,i.headers,t.transformResponse),i},function(i){return gr(i)||(Ot(t),i&&i.response&&(i.response.data=Tt.call(t,i.response.data,i.response.headers,t.transformResponse))),Promise.reject(i)})},O=_,Ve=function(t,e){e=e||{};var r={};function i(d,c){return O.isPlainObject(d)&&O.isPlainObject(c)?O.merge(d,c):O.isPlainObject(c)?O.merge({},c):O.isArray(c)?c.slice():c}function n(d){if(O.isUndefined(e[d])){if(!O.isUndefined(t[d]))return i(void 0,t[d])}else return i(t[d],e[d])}function a(d){if(!O.isUndefined(e[d]))return i(void 0,e[d])}function l(d){if(O.isUndefined(e[d])){if(!O.isUndefined(t[d]))return i(void 0,t[d])}else return i(void 0,e[d])}function u(d){if(d in e)return i(t[d],e[d]);if(d in t)return i(void 0,t[d])}var h={url:a,method:a,data:a,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,responseEncoding:l,validateStatus:u};return O.forEach(Object.keys(t).concat(Object.keys(e)),function(c){var o=h[c]||n,f=o(c);O.isUndefined(f)&&o!==u||(r[c]=f)}),r},$t,ce;function Ge(){return ce||(ce=1,$t={version:"0.27.2"}),$t}var wr=Ge().version,N=X,zt={};["object","boolean","number","function","string","symbol"].forEach(function(s,t){zt[s]=function(r){return typeof r===s||"a"+(t<1?"n ":" ")+s}});var fe={};zt.transitional=function(t,e,r){function i(n,a){return"[Axios v"+wr+"] Transitional option '"+n+"'"+a+(r?". "+r:"")}return function(n,a,l){if(t===!1)throw new N(i(a," has been removed"+(e?" in "+e:"")),N.ERR_DEPRECATED);return e&&!fe[a]&&(fe[a]=!0,console.warn(i(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(n,a,l):!0}};function _r(s,t,e){if(typeof s!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(s),i=r.length;i-- >0;){var n=r[i],a=t[n];if(a){var l=s[n],u=l===void 0||a(l,n,s);if(u!==!0)throw new N("option "+n+" must be "+u,N.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new N("Unknown option "+n,N.ERR_BAD_OPTION)}}var xr={assertOptions:_r,validators:zt},Je=_,Er=Ue,pe=Gs,me=br,ct=Ve,Sr=ze,Xe=xr,z=Xe.validators;function J(s){this.defaults=s,this.interceptors={request:new pe,response:new pe}}J.prototype.request=function(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=ct(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;r!==void 0&&Xe.assertOptions(r,{silentJSONParsing:z.transitional(z.boolean),forcedJSONParsing:z.transitional(z.boolean),clarifyTimeoutError:z.transitional(z.boolean)},!1);var i=[],n=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(e)===!1||(n=n&&f.synchronous,i.unshift(f.fulfilled,f.rejected))});var a=[];this.interceptors.response.forEach(function(f){a.push(f.fulfilled,f.rejected)});var l;if(!n){var u=[me,void 0];for(Array.prototype.unshift.apply(u,i),u=u.concat(a),l=Promise.resolve(e);u.length;)l=l.then(u.shift(),u.shift());return l}for(var h=e;i.length;){var d=i.shift(),c=i.shift();try{h=d(h)}catch(o){c(o);break}}try{l=me(h)}catch(o){return Promise.reject(o)}for(;a.length;)l=l.then(a.shift(),a.shift());return l};J.prototype.getUri=function(t){t=ct(this.defaults,t);var e=Sr(t.baseURL,t.url);return Er(e,t.params,t.paramsSerializer)};Je.forEach(["delete","get","head","options"],function(t){J.prototype[t]=function(e,r){return this.request(ct(r||{},{method:t,url:e,data:(r||{}).data}))}});Je.forEach(["post","put","patch"],function(t){function e(r){return function(n,a,l){return this.request(ct(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:n,data:a}))}}J.prototype[t]=e(),J.prototype[t+"Form"]=e(!0)});var Tr=J,Rt,ge;function Or(){if(ge)return Rt;ge=1;var s=ht();function t(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var r;this.promise=new Promise(function(a){r=a});var i=this;this.promise.then(function(n){if(i._listeners){var a,l=i._listeners.length;for(a=0;a"u"?"json":"cookie"}}var _e;(function(s){s.TOTAL_COUNT="total_count",s.FILTER_COUNT="filter_count"})(_e||(_e={}));class g extends Error{constructor(t){super(`${t??"ID"} cannot be an empty string`)}}class P{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async readOne(t,e,r){if(`${t}`=="")throw new g("id");return(await this.transport.get(`${this.endpoint}/${encodeURI(t)}`,{params:e,...r==null?void 0:r.requestOptions})).data}async readMany(t,e,r){var i;const a=(i=(await this.transport.get(`/fields/${this.collection}`)).data)===null||i===void 0?void 0:i.find(h=>h.schema.is_primary_key===!0),{data:l,meta:u}=await this.transport.get(`${this.endpoint}`,{params:{...e,filter:{[a.field]:{_in:t},...e==null?void 0:e.filter},sort:(e==null?void 0:e.sort)||a.field},...r==null?void 0:r.requestOptions});return{data:l,...u&&{meta:u}}}async readByQuery(t,e){const{data:r,meta:i}=await this.transport.get(`${this.endpoint}`,{params:t,...e==null?void 0:e.requestOptions});return{data:r,...i&&{meta:i}}}async createOne(t,e,r){return(await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})).data}async createMany(t,e,r){return await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateOne(t,e,r,i){if(`${t}`=="")throw new g("id");return(await this.transport.patch(`${this.endpoint}/${encodeURI(t)}`,e,{params:r,...i==null?void 0:i.requestOptions})).data}async updateMany(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{keys:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async updateBatch(t,e,r){return await this.transport.patch(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateByQuery(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{query:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async deleteOne(t,e){if(`${t}`=="")throw new g("id");await this.transport.delete(`${this.endpoint}/${encodeURI(t)}`,void 0,e==null?void 0:e.requestOptions)}async deleteMany(t,e){await this.transport.delete(`${this.endpoint}`,t,e==null?void 0:e.requestOptions)}}class Pr{constructor(t){this.transport=t}async create(t){return(await this.transport.post("/activity/comment",t)).data}async update(t,e){if(`${t}`=="")throw new g("comment_activity_id");return(await this.transport.patch(`/activity/comment/${encodeURI(t)}`,{comment:e})).data}async delete(t){if(`${t}`=="")throw new g("comment_activity_id");await this.transport.delete(`/activity/comment/${encodeURI(t)}`)}}class Lr extends P{constructor(t){super("directus_activity",t),this._comments=new Pr(this.transport)}get comments(){return this._comments}}class Nr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("id");return(await this.transport.get(`/assets/${t}`,{responseType:"stream"})).raw}}class qr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/collections/${t}`)).data}async readAll(){const{data:t,meta:e}=await this.transport.get("/collections");return{data:t,meta:e}}async createOne(t){return(await this.transport.post("/collections",t)).data}async createMany(t){const{data:e,meta:r}=await this.transport.post("/collections",t);return{data:e,meta:r}}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");return(await this.transport.patch(`/collections/${t}`,e,{params:r})).data}async deleteOne(t){if(`${t}`=="")throw new g("collection");await this.transport.delete(`/collections/${t}`)}}class Br{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/fields/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return{data:(await this.transport.get(`/fields/${t}`)).data,meta:void 0}}async readAll(){return{data:(await this.transport.get("/fields")).data,meta:void 0}}async createOne(t,e){if(`${t}`=="")throw new g("collection");return(await this.transport.post(`/fields/${t}`,e)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/fields/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/fields/${t}/${e}`)}}class Ur extends P{constructor(t){super("directus_files",t)}async import(t){return(await this.transport.post("/files/import",t)).data}}class Mr extends P{constructor(t){super("directus_folders",t)}}class Fr extends P{constructor(t){super("directus_permissions",t)}}class Hr extends P{constructor(t){super("directus_presets",t)}}class jr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/relations/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/relations/${t}`)).data}async readAll(){return(await this.transport.get("/relations")).data}async createOne(t){return(await this.transport.post("/relations",t)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/relations/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/relations/${t}/${e}`)}}class Wr extends P{constructor(t){super("directus_revisions",t)}}class zr extends P{constructor(t){super("directus_roles",t)}}class Zr{constructor(t){this.transport=t}async ping(){return(await this.transport.get("/server/ping")).raw}async info(){return(await this.transport.get("/server/info")).data}async oas(){return(await this.transport.get("/server/specs/oas")).raw}}class Qe{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async read(t){return(await this.transport.get(`${this.endpoint}`,{params:t})).data}async update(t,e){return(await this.transport.patch(`${this.endpoint}`,t,{params:e})).data}}class Vr extends Qe{constructor(t){super("directus_settings",t)}}class Gr{constructor(t){this.transport=t}async send(t,e,r){await this.transport.post("/users/invite",{email:t,role:e,invite_url:r})}async accept(t,e){await this.transport.post("/users/invite/accept",{token:t,password:e})}}class Jr{constructor(t){this.transport=t}async generate(t){return(await this.transport.post("/users/me/tfa/generate",{password:t})).data}async enable(t,e){await this.transport.post("/users/me/tfa/enable",{secret:t,otp:e})}async disable(t){await this.transport.post("/users/me/tfa/disable",{otp:t})}}class Xr{constructor(t){this._transport=t}get tfa(){return this._tfa||(this._tfa=new Jr(this._transport))}async read(t){return(await this._transport.get("/users/me",{params:t})).data}async update(t,e){return(await this._transport.patch("/users/me",t,{params:e})).data}}class Kr extends P{constructor(t){super("directus_users",t)}get invites(){return this._invites||(this._invites=new Gr(this.transport))}get me(){return this._me||(this._me=new Xr(this.transport))}}class Yr{constructor(t){this.random={string:async(e=32)=>(await this.transport.get("/utils/random/string",{params:{length:e}})).data},this.hash={generate:async e=>(await this.transport.post("/utils/hash/generate",{string:e})).data,verify:async(e,r)=>(await this.transport.post("/utils/hash/verify",{string:e,hash:r})).data},this.transport=t}async sort(t,e,r){await this.transport.post(`/utils/sort/${encodeURI(t)}`,{item:e,to:r})}async revert(t){await this.transport.post(`/utils/revert/${encodeURI(t)}`)}}class ts{}class Lt{}class Y extends Error{constructor(t,e){var r,i;!((r=e==null?void 0:e.errors)===null||r===void 0)&&r.length?super((i=e==null?void 0:e.errors[0])===null||i===void 0?void 0:i.message):super((t==null?void 0:t.message)||"Unknown transport error"),this.parent=t,this.response=e,this.errors=(e==null?void 0:e.errors)||[],Object.values(e||{}).some(n=>n!==void 0)||(this.response=void 0),Object.setPrototypeOf(this,Y.prototype)}}var E;(function(s){s.AuthToken="auth_token",s.RefreshToken="auth_refresh_token",s.Expires="auth_expires",s.ExpiresAt="auth_expires_at"})(E||(E={}));class es extends ts{constructor(t){var e;super(),this.prefix=(e=t==null?void 0:t.prefix)!==null&&e!==void 0?e:""}get auth_token(){return this.get(E.AuthToken)}set auth_token(t){t===null?this.delete(E.AuthToken):this.set(E.AuthToken,t)}get auth_expires(){const t=this.get(E.Expires);return t===null?null:parseInt(t)}set auth_expires(t){t===null?this.delete(E.Expires):this.set(E.Expires,t.toString())}get auth_expires_at(){const t=this.get(E.ExpiresAt);return t===null?null:parseInt(t)}set auth_expires_at(t){t===null?this.delete(E.ExpiresAt):this.set(E.ExpiresAt,t.toString())}get auth_refresh_token(){return this.get(E.RefreshToken)}set auth_refresh_token(t){t===null?this.delete(E.RefreshToken):this.set(E.RefreshToken,t)}}class Qr extends es{constructor(){super(...arguments),this.values={}}get(t){const e=this.key(t);return e in this.values?this.values[e]:null}set(t,e){return this.values[this.key(t)]=e,e}delete(t){const e=this.get(t);return delete this.values[this.key(t)],e}key(t){return`${this.prefix}${t}`}}class ti extends es{get(t){const e=localStorage.getItem(this.key(t));return e!==null?e:null}set(t,e){return localStorage.setItem(this.key(t),e),e}delete(t){const e=this.get(t);return localStorage.removeItem(this.key(t)),e}key(t){return`${this.prefix}${t}`}}class ei extends Lt{constructor(t){var e;super(),this.config=t,this.axios=we.create({baseURL:this.config.url,params:this.config.params,headers:this.config.headers,onUploadProgress:this.config.onUploadProgress,maxBodyLength:this.config.maxBodyLength,maxContentLength:this.config.maxContentLength,withCredentials:!0}),!((e=this.config)===null||e===void 0)&&e.beforeRequest&&(this.beforeRequest=this.config.beforeRequest)}async beforeRequest(t){return t}get url(){return this.config.url}async request(t,e,r,i){var n,a,l,u,h;try{let d={method:t,url:e,data:r,params:i==null?void 0:i.params,headers:i==null?void 0:i.headers,responseType:i==null?void 0:i.responseType,onUploadProgress:i==null?void 0:i.onUploadProgress};d=await this.beforeRequest(d);const c=await this.axios.request(d),o={raw:c.data,status:c.status,statusText:c.statusText,headers:c.headers,data:c.data.data,meta:c.data.meta,errors:c.data.errors};if(c.data.errors)throw new Y(null,o);return o}catch(d){if(!d||!(d instanceof Error))throw d;if(we.isAxiosError(d)){const c=(n=d.response)===null||n===void 0?void 0:n.data;throw new Y(d,{raw:(a=d.response)===null||a===void 0?void 0:a.data,status:(l=d.response)===null||l===void 0?void 0:l.status,statusText:(u=d.response)===null||u===void 0?void 0:u.statusText,headers:(h=d.response)===null||h===void 0?void 0:h.headers,data:c==null?void 0:c.data,meta:c==null?void 0:c.meta,errors:c==null?void 0:c.errors})}throw new Y(d)}}async get(t,e){return await this.request("get",t,void 0,e)}async head(t,e){return await this.request("head",t,void 0,e)}async options(t,e){return await this.request("options",t,void 0,e)}async delete(t,e,r){return await this.request("delete",t,e,r)}async put(t,e,r){return await this.request("put",t,e,r)}async post(t,e,r){return await this.request("post",t,e,r)}async patch(t,e,r){return await this.request("patch",t,e,r)}}class si{constructor(t){this.transport=t}async request(t,e){await this.transport.post("/auth/password/request",{email:t,reset_url:e})}async reset(t,e){await this.transport.post("/auth/password/reset",{token:t,password:e})}}class ri extends Ye{constructor(t){var e,r,i;super(),this.autoRefresh=!0,this.msRefreshBeforeExpires=3e4,this.staticToken="",this._transport=t.transport,this._storage=t.storage,this.autoRefresh=(e=t==null?void 0:t.autoRefresh)!==null&&e!==void 0?e:this.autoRefresh,this.mode=(r=t==null?void 0:t.mode)!==null&&r!==void 0?r:this.mode,this.msRefreshBeforeExpires=(i=t==null?void 0:t.msRefreshBeforeExpires)!==null&&i!==void 0?i:this.msRefreshBeforeExpires,t!=null&&t.staticToken&&(this.staticToken=t==null?void 0:t.staticToken,this.updateStorage({access_token:this.staticToken,expires:null,refresh_token:null}))}get storage(){return this._storage}get transport(){return this._transport}get token(){return(async()=>{if(this._refreshPromise)try{await this._refreshPromise}finally{this._refreshPromise=void 0}return this._storage.auth_token})()}get password(){return this.passwords=this.passwords||new si(this._transport)}resetStorage(){this._storage.auth_token=null,this._storage.auth_refresh_token=null,this._storage.auth_expires=null,this._storage.auth_expires_at=null}updateStorage(t){var e,r;const i=(e=t.expires)!==null&&e!==void 0?e:null;this._storage.auth_token=t.access_token,this._storage.auth_refresh_token=(r=t.refresh_token)!==null&&r!==void 0?r:null,this._storage.auth_expires=i,this._storage.auth_expires_at=new Date().getTime()+(i??0)}async refreshIfExpired(){if(!this.staticToken&&this.autoRefresh){if(!this._storage.auth_expires_at){try{await this._refreshPromise}finally{this._refreshPromise=void 0}return}this._storage.auth_expires_at{var e;const r=this._storage.auth_refresh_token;this.resetStorage();const i=await this._transport.post("/auth/refresh",{refresh_token:this.mode==="json"?r:void 0});return this.updateStorage(i.data),{access_token:i.data.access_token,...((e=i.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:i.data.refresh_token},expires:i.data.expires}};return this._refreshPromise=t()}async login(t){var e;this.resetStorage();const r=await this._transport.post("/auth/login",{mode:this.mode,...t},{headers:{Authorization:null}});return this.updateStorage(r.data),{access_token:r.data.access_token,...((e=r.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:r.data.refresh_token},expires:r.data.expires}}async static(t){return this.staticToken||(this.staticToken=t),await this._transport.get("/users/me",{params:{access_token:t},headers:{Authorization:null}}),this.updateStorage({access_token:t,expires:null,refresh_token:null}),!0}async logout(){let t;this.mode==="json"&&(t=this._storage.auth_refresh_token||void 0),await this._transport.post("/auth/logout",{refresh_token:t}),this.updateStorage({access_token:null,expires:null,refresh_token:null})}}class ii{constructor(t){this.transport=t}async request(t,e,r){return await this.transport.post(t,{query:e,variables:typeof r>"u"?{}:r})}async items(t,e){return await this.request("/graphql",t,e)}async system(t,e){return await this.request("/graphql/system",t,e)}}class ni{constructor(t,e){var r,i,n,a,l,u,h,d,c;if(this._url=t,this._options=e,this._items={},this._singletons={},!((r=this._options)===null||r===void 0)&&r.storage&&((i=this._options)===null||i===void 0?void 0:i.storage)instanceof ts)this._storage=this._options.storage;else{const o=(n=this._options)===null||n===void 0?void 0:n.storage,{mode:f,...m}=o??{};f==="MemoryStorage"||typeof window>"u"?this._storage=new Qr(m):this._storage=new ti(m)}!((a=this._options)===null||a===void 0)&&a.transport&&((l=this._options)===null||l===void 0?void 0:l.transport)instanceof Lt?this._transport=this._options.transport:this._transport=new ei({url:this.url,...(u=this._options)===null||u===void 0?void 0:u.transport,beforeRequest:async o=>{var f,m,y,T,k,A;this._url.indexOf("/auth/refresh")===-1&&((f=o.method)===null||f===void 0?void 0:f.toLowerCase())!=="post"&&await this._auth.refreshIfExpired();const I=this.storage.auth_token,et=I?I.startsWith("Bearer ")?String(this.storage.auth_token):`Bearer ${this.storage.auth_token}`:"",p={...o,headers:{Authorization:et,...o.headers}};return!(((m=this._options)===null||m===void 0?void 0:m.transport)instanceof Lt)&&(!((T=(y=this._options)===null||y===void 0?void 0:y.transport)===null||T===void 0)&&T.beforeRequest)?(A=(k=this._options)===null||k===void 0?void 0:k.transport)===null||A===void 0?void 0:A.beforeRequest(p):p}}),!((h=this._options)===null||h===void 0)&&h.auth&&((d=this._options)===null||d===void 0?void 0:d.auth)instanceof Ye?this._auth=this._options.auth:this._auth=new ri({transport:this._transport,storage:this._storage,...(c=this._options)===null||c===void 0?void 0:c.auth})}get url(){return this._url}get auth(){return this._auth}get storage(){return this._storage}get transport(){return this._transport}get assets(){return this._assets||(this._assets=new Nr(this.transport))}get activity(){return this._activity||(this._activity=new Lr(this.transport))}get collections(){return this._collections||(this._collections=new qr(this.transport))}get fields(){return this._fields||(this._fields=new Br(this.transport))}get files(){return this._files||(this._files=new Ur(this.transport))}get folders(){return this._folders||(this._folders=new Mr(this.transport))}get permissions(){return this._permissions||(this._permissions=new Fr(this.transport))}get presets(){return this._presets||(this._presets=new Hr(this.transport))}get relations(){return this._relations||(this._relations=new jr(this.transport))}get revisions(){return this._revisions||(this._revisions=new Wr(this.transport))}get roles(){return this._roles||(this._roles=new zr(this.transport))}get users(){return this._users||(this._users=new Kr(this.transport))}get settings(){return this._settings||(this._settings=new Vr(this.transport))}get server(){return this._server||(this._server=new Zr(this.transport))}get utils(){return this._utils||(this._utils=new Yr(this.transport))}get graphql(){return this._graphql||(this._graphql=new ii(this.transport))}singleton(t){return this._singletons[t]||(this._singletons[t]=new Qe(t,this.transport))}items(t){return this._items[t]||(this._items[t]=new P(t,this.transport))}}const ai=new ni("https://db.chromatone.center"),Zt=os("access-granted",!1),xe=q(!1),Z=q(""),Ee=De(()=>/^[^@]+@\w+(\.\w+)+\w$/.test(Z.value));async function Se(s){const t={email:s};if(Zt.value=s,!xe.value){xe.value=!0;try{await ai.items("players").createOne(t)}catch(e){console.error(e)}}}const tt=q(!1);Pe(Zt,s=>{s&&(tt.value=!1)});const Te=q(!1),oi=JSON.parse('[{"id":1,"status":"published","sort":1,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:12:51.578Z","title":"Dotpiano","url":"https://dotpiano.com/","content":null,"img":"a55e9913-8d15-486d-9ab1-d4fe8c7fb5bf","category":null},{"id":3,"status":"published","sort":3,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:58:12.456Z","title":"TouchME by Chromatone","url":"https://touchme.chromatone.center/","content":null,"img":"67191ff8-1f6b-4ffb-9885-b0598c600981","category":null},{"id":14,"status":"published","sort":4,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:13.331Z","title":"Juno-106","url":"http://juno-106.js.org/","content":null,"img":"45297e84-6b42-446b-8a56-024ff46542b7","category":null},{"id":26,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:42.487Z","title":"Learning synths with Ableton","url":"https://learningsynths.ableton.com/","content":null,"img":"110d33fe-8c5f-4502-aaf9-6458f2119d33","category":3},{"id":30,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-30T02:33:18.609Z","title":"DX7 Synth","url":"https://mmontag.github.io/dx7-synth-js/","content":null,"img":"33b1ee5c-77f0-4fb7-86ef-d8687532688b","category":2},{"id":32,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T08:49:56.166Z","title":"Sampler synth","url":"https://play.playtronica.com/","content":null,"img":"d7b750b3-2206-46fe-a2df-d7da6b8faccd","category":null},{"id":10,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:14:42.904Z","title":"Websynths","url":"http://websynths.com/","content":null,"img":"2fd87e78-0cad-44b7-bf02-44deaf12deaa","category":null},{"id":19,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:26.708Z","title":"Theremin","url":"https://www.femurdesign.com/theremin/","content":null,"img":"1fb860e8-199e-4cd2-98f0-a718e8a6378d","category":null},{"id":22,"status":"published","sort":7,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:55.478Z","title":"Disco-computer","url":"http://www.disco-computer.com/synthesizer/synth.html","content":null,"img":"fd019ff3-512a-49b9-923d-a899e50938d5","category":null},{"id":29,"status":"published","sort":8,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-20T09:19:52.499Z","title":"Elementary synth","url":"https://chromatone.center/practice/midi/synth/","content":null,"img":"e204f6f4-2534-4587-93c9-1f3ad11de771","category":3},{"id":31,"status":"published","sort":12,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T05:38:18.890Z","title":"Video Sampler","url":"https://seeing-sound.netlify.app/","content":null,"img":"24b816fc-b3bd-4b76-9e15-1765bec844ce","category":3},{"id":27,"status":"published","sort":14,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:18.081Z","title":"Viktor NV-1","url":"http://nicroto.github.io/viktor/","content":null,"img":"47059c44-1e73-4578-bd8d-2a85676d6a6c","category":null},{"id":17,"status":"published","sort":30,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:26.088Z","title":"Sound Trap","url":"https://www.soundtrap.com/","content":null,"img":"73e783f3-84b7-430d-9a89-b1ee2fe69050","category":1},{"id":6,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:11:50.949Z","title":"MIDI–driven Web Audio","url":"https://webaudiodemos.appspot.com/midi-synth/index.html","content":null,"img":"aa8959b0-e5af-4055-8d65-276c42135c9b","category":null},{"id":8,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:23.936Z","title":"Meet the Heisenberg","url":"https://www.audiotool.com/product/device/heisenberg/","content":null,"img":"31b1a269-323a-4afe-8262-fd6ff566b136","category":null},{"id":9,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:45.798Z","title":"Cardboard Synth","url":"https://www.gsn-lib.org/apps/cardboardsynth/index.html","content":null,"img":"a737a01c-d552-44d4-ae6f-736b967333b9","category":null},{"id":11,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:04.832Z","title":"Tanguy synth","url":"http://tanguysynth.com/","content":null,"img":"cf55e3e1-0b91-4e0c-b97d-d392e242736c","category":null},{"id":12,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:25.991Z","title":"MOD synth","url":"http://mod-synth.io/","content":null,"img":"724e5054-3e1e-4ed7-b2e0-09fa78358f2d","category":null},{"id":13,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:53.105Z","title":"OLIF SY1K","url":"http://perso.numericable.fr/olivier.friker/synth/O3-synth%20V1.3.html","content":null,"img":"353b4bea-4458-4f7d-ab2d-e8cb3927fd2b","category":null},{"id":15,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:31.831Z","title":"Note Sculptor","url":"http://www.noisesculptor.com/","content":null,"img":"d2d23b94-d822-4e9e-9632-e57b96f66213","category":null},{"id":16,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:03.314Z","title":"WebAudioSynth V2","url":"http://aikelab.net/websynthv2/","content":null,"img":"c1192dc4-38a5-45af-9087-165478fffbc4","category":2},{"id":18,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:47.206Z","title":"Samplestich","url":"http://samplestitch.com.s3-website-us-east-1.amazonaws.com/","content":null,"img":"fc617933-8038-46bc-a71c-794cce369003","category":3},{"id":20,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:49.043Z","title":"Omni","url":"https://femurdesign.com/omni/","content":null,"img":"4329ecec-c6bd-4892-bc5d-1c60ebf85db6","category":null},{"id":21,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:10.192Z","title":"Web Modular","url":"https://www.g200kg.com/docs/webmodular/","content":null,"img":"ab06d1f0-0962-469c-9173-1d1b0c323da4","category":null},{"id":23,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:24.249Z","title":"Online sequencer","url":"https://onlinesequencer.net/369477","content":null,"img":"dfe830f4-6fc9-4c70-9355-266066d57e84","category":null},{"id":24,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:54.765Z","title":"PixelSynth","url":"https://ojack.github.io/PIXELSYNTH/","content":null,"img":"57a70c4c-a745-4d76-acc1-f60605b2e620","category":null},{"id":25,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:19.769Z","title":"Acid Machine 2","url":"http://errozero.co.uk/acid-machine/","content":null,"img":"006c8dc8-29f6-4451-ae69-4d4e14b69fc1","category":null},{"id":28,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:38.864Z","title":"WebSID Commodore 64","url":"http://www.igorski.nl/experiment/websid","content":null,"img":"0c43f116-2478-4306-af3c-afd5a869b7a3","category":null}]'),li=F({inject:["manager"],props:{index:{type:Number,required:!0},disabled:{type:Boolean,default:!1}},data(){return{}},watch:{index(s){this.$el&&this.$el.sortableInfo&&(this.$el.sortableInfo.index=s)},disabled(s){s?this.removeDraggable():this.setDraggable(this.index)}},mounted(){const{disabled:s,index:t}=this.$props;s||this.setDraggable(t)},beforeUnmount(){this.disabled||this.removeDraggable()},methods:{setDraggable(s){const t=this.$el;t.sortableInfo={index:s,manager:this.manager},this.ref={node:t},this.manager.add(this.ref)},removeDraggable(){this.manager.remove(this.ref)}}});class ui{constructor(){this.refs=[],this.active=null}add(t){this.refs||(this.refs=[]),this.refs.push(t)}remove(t){const e=this.getIndex(t);e!==-1&&this.refs.splice(e,1)}isActive(){return!!this.active}getActive(){return this.refs.find(({node:t})=>{var e,r;return((e=t==null?void 0:t.sortableInfo)===null||e===void 0?void 0:e.index)==((r=this===null||this===void 0?void 0:this.active)===null||r===void 0?void 0:r.index)})||null}getIndex(t){return this.refs.indexOf(t)}getRefs(){return this.refs}getOrderedRefs(){return this.refs.sort((t,e)=>t.node.sortableInfo.index-e.node.sortableInfo.index)}}const Q=s=>s.touches!=null;function Nt(s,t){return!!s&&Object.prototype.hasOwnProperty.call(s,t)}function hi(s,t,e){const r=s.slice(0);if(e>=r.length){let i=e-r.length;for(;i--+1;)r.push(void 0)}return r.splice(e,0,r.splice(t,1)[0]),r}function di(s,t){const e=s.slice(0);return t>=e.length||e.splice(t,1),e}function ci(s,t,e){const r=s.slice(0);return t===r.length?r.push(e):r.splice(t,0,e),r}const L={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","mouseup"],cancel:["touchcancel","keyup"]};function Oe(s,t){for(;s;){if(t(s))return s;s=s.parentNode}}function $e(s,t,e){return et?t:e}function st(s){return s.substr(-2)==="px"?parseFloat(s):0}function Re(s){const t=window.getComputedStyle(s);return{top:st(t.marginTop),right:st(t.marginRight),bottom:st(t.marginBottom),left:st(t.marginLeft)}}function rt(s,t="page"){const e=`${t}X`,r=`${t}Y`;return{x:Q(s)?s.touches[0][e]:s[e],y:Q(s)?s.touches[0][r]:s[r]}}function Ce(s){const t=[s];for(;s;s=s.offsetParent)t.unshift(s);return t}function fi(s,t){const e=Ce(s),r=Ce(t);if(e[0]!=r[0])throw"No common ancestor!";for(let i=0;i{i.type!=="file"&&t[n]&&(i.value=t[n].value)}),e}function pi(s,t,e){if(typeof s=="string"&&(s=+s),Array.isArray(s)||(s=[s,s]),s.length!==2)throw new Error(`lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given ${s}`);const[r,i]=s;return[Ae(r,t,e),Ae(i,t,e)]}function Ae(s,t,e){let r=s,i=s,n="px";if(typeof s=="string"){const a=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(s);if(a===null)throw new Error(`lockOffset value should be a number or a string of a number followed by "px" or "%". Given ${s}`);r=i=parseFloat(s),n=a[1]}if(!isFinite(r)||!isFinite(i))throw new Error(`lockOffset value should be a finite. Given ${s}`);return n==="%"&&(r=r*t/100,i=i*e/100),{x:r,y:i}}function Ie(s=[]){for(let t=0,e=s.length;t[]},lockAxis:{type:String,default:""},helperClass:{type:String,default:""},contentWindow:{type:Object,default:null},shouldCancelStart:{type:Function,default:s=>["input","textarea","select","option","button"].indexOf(s.target.tagName.toLowerCase())!==-1},getHelperDimensions:{type:Function,default:({node:s})=>({width:s.offsetWidth,height:s.offsetHeight})}},emits:["sort-start","sort-move","sort-end","sort-cancel","sort-insert","sort-remove","update:list"],data(){let s=!1;return this.group&&this.SlicksortHub&&(s=!0),{sorting:!1,hub:s?this.SlicksortHub:null,manager:new ui}},mounted(){this.hub&&(this.id=this.hub.getId()),this.container=this.$el,this.document=this.container.ownerDocument||document,this._window=this.contentWindow||window,this.scrollContainer=this.useWindowAsScrollContainer?{scrollLeft:0,scrollTop:0}:this.container,this.events={start:this.handleStart,move:this.handleMove,end:this.handleEnd};for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.addEventListener(t,this.events[s]));this.hub&&this.hub.addContainer(this)},beforeUnmount(){for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.removeEventListener(t,this.events[s]));this.hub&&this.hub.removeContainer(this),this.dragendTimer&&clearTimeout(this.dragendTimer),this.cancelTimer&&clearTimeout(this.cancelTimer),this.pressTimer&&clearTimeout(this.pressTimer),this.autoscrollInterval&&clearInterval(this.autoscrollInterval)},methods:{handleStart(s){const{distance:t,shouldCancelStart:e}=this.$props;if(!Q(s)&&s.button===2||e(s))return!1;this._touched=!0,this._pos=rt(s);const r=s.target,i=Oe(r,n=>n.sortableInfo!=null);if(i&&i.sortableInfo&&this.nodeIsChild(i)&&!this.sorting){const{useDragHandle:n}=this.$props,{index:a}=i.sortableInfo;if(n&&!Oe(r,l=>l.sortableHandle!=null))return;this.manager.active={index:a},r.tagName.toLowerCase()==="a"&&s.preventDefault(),t||(this.pressDelay===0?this.handlePress(s):this.pressTimer=At(()=>this.handlePress(s),this.pressDelay))}},nodeIsChild(s){return s.sortableInfo.manager===this.manager},handleMove(s){const{distance:t,pressThreshold:e}=this.$props;if(!this.sorting&&this._touched){const r=rt(s);this._delta={x:this._pos.x-r.x,y:this._pos.y-r.y};const i=Math.abs(this._delta.x)+Math.abs(this._delta.y);!t&&(!e||e&&i>=e)?(this.cancelTimer&&clearTimeout(this.cancelTimer),this.cancelTimer=At(this.cancel,0)):t&&i>=t&&this.manager.isActive()&&this.handlePress(s)}},handleEnd(){if(!this._touched)return;const{distance:s}=this.$props;this._touched=!1,s||this.cancel()},cancel(){this.sorting||(this.pressTimer&&clearTimeout(this.pressTimer),this.manager.active=null,this.hub&&this.hub.cancel())},handleSortCancel(s){(Q(s)||s.key===this.cancelKey)&&(this.newIndex=this.index,this.canceling=!0,this.translate={x:0,y:0},this.animateNodes(),this.handleSortEnd(s))},handlePress(s){s.stopPropagation();const t=this.manager.getActive();if(t){const{getHelperDimensions:e,helperClass:r,hideSortableGhost:i,appendTo:n}=this.$props,{node:a}=t,{index:l}=a.sortableInfo,u=Re(a),h=this.container.getBoundingClientRect(),d=e({index:l,node:a});this.node=a,this.margin=u,this.width=d.width,this.height=d.height,this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this.boundingClientRect=a.getBoundingClientRect(),this.containerBoundingRect=h,this.index=l,this.newIndex=l;const c=ke(a);this.helper=this.document.querySelector(n).appendChild(c),this.helper.style.position="fixed",this.helper.style.top=`${this.boundingClientRect.top-u.top}px`,this.helper.style.left=`${this.boundingClientRect.left-u.left}px`,this.helper.style.width=`${this.width}px`,this.helper.style.height=`${this.height}px`,this.helper.style.boxSizing="border-box",this.helper.style.pointerEvents="none",i&&(this.sortableGhost=a,a.style.visibility="hidden",a.style.opacity="0"),this.hub&&(this.hub.sortStart(this),this.hub.helper=this.helper,this.hub.ghost=this.sortableGhost),this.intializeOffsets(s,this.boundingClientRect),this.offsetEdge=U(a,this.container),r&&this.helper.classList.add(...r.split(" ")),this.listenerNode=Q(s)?a:this._window,L.move.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortMove)),L.end.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortEnd)),L.cancel.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortCancel)),this.sorting=!0,this.$emit("sort-start",{event:s,node:a,index:l})}},handleSortMove(s){if(s.preventDefault(),this.updatePosition(s),this.hub){const t=this.list[this.index];this.hub.handleSortMove(s,t)}(!this.hub||this.hub.isDest(this))&&(this.animateNodes(),this.autoscroll()),this.$emit("sort-move",{event:s})},handleDropOut(){const s=this.list[this.index],t=di(this.list,this.index);return this.$emit("sort-remove",{oldIndex:this.index}),this.$emit("update:list",t),s},handleDropIn(s){const t=ci(this.list,this.newIndex,s);this.$emit("sort-insert",{newIndex:this.newIndex,value:s}),this.$emit("update:list",t),this.handleDragEnd()},handleDragOut(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),this.hub.isSource(this)?(this.translate={x:1e4,y:1e4},this.animateNodes()):(this.manager.getRefs().forEach(s=>{s.node.style.transform=""}),this.dragendTimer=At(this.handleDragEnd,this.transitionDuration||0))},handleDragEnd(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),Ie(this.manager.getRefs()),this.sortableGhost&&(this.sortableGhost.remove(),this.sortableGhost=null),this.dragendTimer&&(clearTimeout(this.dragendTimer),this.dragendTimer=null),this.manager.active=null,this._touched=!1,this.sorting=!1},intializeOffsets(s,t){const{useWindowAsScrollContainer:e,containerBoundingRect:r,_window:i}=this;this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this._axis={x:this.axis.indexOf("x")>=0,y:this.axis.indexOf("y")>=0},this.initialOffset=rt(s),this.initialScroll={top:this.scrollContainer.scrollTop,left:this.scrollContainer.scrollLeft},this.initialWindowScroll={top:window.pageYOffset,left:window.pageXOffset},this.translate={x:0,y:0},this.minTranslate={},this.maxTranslate={},this._axis.x&&(this.minTranslate.x=(e?0:r.left)-t.left-this.width/2,this.maxTranslate.x=(e?i.innerWidth:r.left+r.width)-t.left-this.width/2),this._axis.y&&(this.minTranslate.y=(e?0:r.top)-t.top-this.height/2,this.maxTranslate.y=(e?i.innerHeight:r.top+r.height)-t.top-this.height/2)},handleDragIn(s,t,e){if(this.hub.isSource(this))return;this.dragendTimer&&(this.handleDragEnd(),clearTimeout(this.dragendTimer),this.dragendTimer=null);const r=this.manager.getRefs();this.index=r.length,this.manager.active={index:this.index};const i=this.container.getBoundingClientRect(),n=e.getBoundingClientRect();this.containerBoundingRect=i,this.sortableGhost=ke(t),this.container.appendChild(this.sortableGhost);const a=this.sortableGhost.getBoundingClientRect();this.boundingClientRect=a,this.margin=Re(this.sortableGhost),this.width=a.width,this.height=a.height,this.offsetEdge=U(this.sortableGhost,this.container),this.intializeOffsets(s,a),this.initialOffset.x+=a.x-n.x,this.initialOffset.y+=a.y-n.y,this.sorting=!0},handleSortEnd(s){this.listenerNode&&(L.move.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortMove)),L.end.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortEnd)),L.cancel.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortCancel)));const t=this.manager.getRefs();this.helper&&this.helperClass&&this.helper.classList.remove(...this.helperClass.split(" ")),this.autoscrollInterval&&clearInterval(this.autoscrollInterval),this.autoscrollInterval=null;const e=()=>{this.helper&&(this.helper.remove(),this.helper=null),this.hideSortableGhost&&this.sortableGhost&&(this.sortableGhost.style.visibility="",this.sortableGhost.style.opacity=""),Ie(t),this.hub&&!this.hub.isDest(this)?this.canceling?this.hub.cancel():this.hub.handleSortEnd():this.canceling?this.$emit("sort-cancel",{event:s}):(this.$emit("sort-end",{event:s,oldIndex:this.index,newIndex:this.newIndex}),this.$emit("update:list",hi(this.list,this.index,this.newIndex))),this.manager.active=null,this._touched=!1,this.canceling=!1,this.sorting=!1};this.transitionDuration||this.draggedSettlingDuration?this.transitionHelperIntoPlace(t,e):e()},transitionHelperIntoPlace(s,t){if(this.draggedSettlingDuration===0||s.length===0||!this.helper)return Promise.resolve();const e=s[this.index].node;let r=0,i=0;const n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};if(this.hub&&!this.hub.isDest(this)&&!this.canceling){const h=this.hub.getDest();if(!h)return;const d=h.newIndex,c=h.manager.getOrderedRefs(),o=d0?r+=h.offsetLeft+h.offsetWidth-(e.offsetLeft+e.offsetWidth):r+=h.offsetLeft-e.offsetLeft,i=-d.top,this.translate&&this.translate.y>0?i+=h.offsetTop+h.offsetHeight-(e.offsetTop+e.offsetHeight):i+=h.offsetTop-e.offsetTop}const a=this.draggedSettlingDuration!==null?this.draggedSettlingDuration:this.transitionDuration;qt(this.helper,`translate3d(${r}px,${i}px, 0)`,`${a}ms`);const l=h=>{(!h||h.propertyName==="transform")&&(clearTimeout(u),qt(this.helper),t())},u=setTimeout(l,a+10);this.helper.addEventListener("transitionend",l)},updatePosition(s){const{lockAxis:t,lockToContainerEdges:e}=this.$props,r=rt(s),i={x:r.x-this.initialOffset.x,y:r.y-this.initialOffset.y};if(i.y-=window.pageYOffset-this.initialWindowScroll.top,i.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=i,e){const[n,a]=pi(this.lockOffset,this.height,this.width),l={x:this.width/2-n.x,y:this.height/2-n.y},u={x:this.width/2-a.x,y:this.height/2-a.y};this.minTranslate.x&&this.maxTranslate.x&&(i.x=$e(this.minTranslate.x+l.x,this.maxTranslate.x-u.x,i.x)),this.minTranslate.y&&this.maxTranslate.y&&(i.y=$e(this.minTranslate.y+l.y,this.maxTranslate.y-u.y,i.y))}t==="x"?i.y=0:t==="y"&&(i.x=0),this.helper&&(this.helper.style.transform=`translate3d(${i.x}px,${i.y}px, 0)`)},animateNodes(){const{transitionDuration:s,hideSortableGhost:t}=this.$props,e=this.manager.getOrderedRefs(),r={left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top},i={left:this.offsetEdge.left+this.translate.x+r.left,top:this.offsetEdge.top+this.translate.y+r.top},n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};this.newIndex=null;for(let a=0,l=e.length;ad?d/2:this.width/2,height:this.height>c?c/2:this.height/2},f={x:0,y:0};let{edgeOffset:m}=e[a];m||(e[a].edgeOffset=m=U(u,this.container));const y=a0&&e[a-1];if(y&&!y.edgeOffset&&(y.edgeOffset=U(y.node,this.container)),h===this.index){t&&(this.sortableGhost=u,u.style.visibility="hidden",u.style.opacity="0");continue}s&&(u.style.transitionDuration=`${s}ms`),this._axis.x?this._axis.y?hthis.containerBoundingRect.width-o.width&&y&&(f.x=y.edgeOffset.left-m.left,f.y=y.edgeOffset.top-m.top),this.newIndex===null&&(this.newIndex=h)):h>this.index&&(i.left+n.left+o.width>=m.left&&i.top+n.top+o.height>=m.top||i.top+n.top+o.height>=m.top+c)&&(f.x=-(this.width+this.marginOffset.x),m.left+f.xthis.index&&i.left+n.left+o.width>=m.left?(f.x=-(this.width+this.marginOffset.x),this.newIndex=h):hthis.index&&i.top+n.top+o.height>=m.top?(f.y=-(this.height+this.marginOffset.y),this.newIndex=h):h=this.maxTranslate.y-this.height/2?(t.y=1,e.y=r.y*Math.abs((this.maxTranslate.y-this.height/2-s.y)/this.height)):s.x>=this.maxTranslate.x-this.width/2?(t.x=1,e.x=r.x*Math.abs((this.maxTranslate.x-this.width/2-s.x)/this.width)):s.y<=this.minTranslate.y+this.height/2?(t.y=-1,e.y=r.y*Math.abs((s.y-this.height/2-this.minTranslate.y)/this.height)):s.x<=this.minTranslate.x+this.width/2&&(t.x=-1,e.x=r.x*Math.abs((s.x-this.width/2-this.minTranslate.x)/this.width)),this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),(t.x!==0||t.y!==0)&&(this.autoscrollInterval=window.setInterval(()=>{const i={left:1*e.x*t.x,top:1*e.y*t.y};this.useWindowAsScrollContainer?this._window.scrollBy(i.left,i.top):(this.scrollContainer.scrollTop+=i.top,this.scrollContainer.scrollLeft+=i.left),this.translate.x+=i.left,this.translate.y+=i.top,this.animateNodes()},5))}}}),ss=F({name:"SlickItem",mixins:[li],props:{tag:{type:String,default:"div"}},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),gi=F({name:"SlickList",mixins:[mi],props:{tag:{type:String,default:"div"},itemKey:{type:[String,Function],default:"id"}},render(){var s,t;return this.$slots.item?K(this.tag,this.list.map((e,r)=>{let i;if(e!=null){if(typeof this.itemKey=="function")i=this.itemKey(e);else if(typeof e=="object"&&Nt(e,this.itemKey)&&typeof e[this.itemKey]=="string")i=e[this.itemKey];else if(typeof e=="string")i=e;else throw new Error("Cannot find key for item, use the item-key prop and pass a function or string");return K(ss,{key:i,index:r},{default:()=>{var n,a;return(a=(n=this.$slots).item)===null||a===void 0?void 0:a.call(n,{item:e,index:r})}})}})):K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),vi=F({props:{tag:{type:String,default:"span"}},mounted(){this.$el.sortableHandle=!0},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),yi={key:0,d:"M30.336 12.547l-10.172-1.074L16 2.133l-4.164 9.34l-10.172 1.074l7.598 6.848L7.14 29.398L16 24.29l8.86 5.11l-2.122-10.004z",fill:"#ffaa00"},bi={key:1,d:"M16 2.125l-.906 2.063l-3.25 7.28l-7.938.845l-2.25.25l1.688 1.5l5.906 5.343l-1.656 7.813l-.469 2.187l1.969-1.125l6.906-4l6.906 4l1.969 1.125l-.469-2.187l-1.656-7.813l5.906-5.343l1.688-1.5l-2.25-.25l-7.938-.844l-3.25-7.281zm0 4.906l2.563 5.782l.25.53l.562.063l6.281.656l-4.687 4.22l-.438.405l.125.563l1.313 6.156l-5.469-3.125l-.5-.312l-.5.312l-5.469 3.125l1.313-6.156l.125-.563l-.438-.406l-4.687-4.218l6.281-.657l.563-.062l.25-.531z",fill:"#888888"},wi=F({__name:"SynthFav",props:{url:{type:String,default:""}},setup(s){const e=ls("fav:"+s.url,!1);function r(i){e.value=!e.value,console.log(e.value)}return(i,n)=>(x(),$("svg",{onClick:n[0]||(n[0]=cs(a=>r(s.url),["stop","prevent"])),xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[w(e)?(x(),$("path",yi)):(x(),$("path",bi))]))}}),rs=s=>(ps("data-v-9a2748d8"),s=s(),ms(),s),_i=["src","alt"],xi=rs(()=>v("div",{class:"flex-1"},null,-1)),Ei={class:"p-4 flex items-center justify-between w-full"},Si={class:"text-md font-bold flex items-center gap-2 flex-1"},Ti={class:"flex-1"},Oi=rs(()=>v("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[v("path",{d:"M4 7v2h24V7zm0 8v2h24v-2zm0 8v2h24v-2z",fill:"#888888"})],-1)),$i=F({__name:"SynthCard",props:{off:{type:Boolean,default:!1},title:{type:String,default:""},description:{type:String,default:""},img:{type:String,default:""},url:{type:String,default:""}},setup(s){const t=s,e=q(null);Pe(Te,async i=>{try{(await fetch("https://corsproxy.io/?"+t.url)).status==200?e.value=!0:e.value=!1}catch{e.value=!1}});function r(){t.off?tt.value=!tt.value:window.open(t.url,"_blank")}return(i,n)=>{const a=fs("ClientOnly");return x(),$("button",{class:"flex flex-col text-left relative min-h-50 card p-0 bg-light-300 shadow-lg flex flex-col dark-bg-dark-300 -hover-translate-y-2px transition hover-shadow-xl rounded-xl overflow-hidden relative",onClick:r},[(x(),$("img",{key:s.title,height:"200",width:"1000",src:`/img/${s.title.toLowerCase().split(" ").join("-")}.webp`,alt:`${s.title} illustration`},null,8,_i)),xi,v("div",Ei,[v("div",Si,[v("div",Ti,It(s.title),1),w(Te)?(x(),$("div",{key:0,class:Le(["w-2 h-2 rounded-full shadow-inset",{"bg-green-500":e.value===!0,"bg-red-500":e.value===!1}])},null,2)):it("",!0),V(a,null,{default:D(()=>[V(wi,{class:"scale-70 w-10",url:s.url},null,8,["url"])]),_:1}),V(w(vi),{class:"scale-80 opacity-40 cursor-grab absolute top-2 right-2"},{default:D(()=>[Oi]),_:1})])])])}}});const Ri=gs($i,[["__scopeId","data-v-9a2748d8"]]);const Ci={class:"mx-auto p-4 max-w-75ch dark-text-light-200 text-center line-height-loose text-md intro md-text-lg pt-16"},ki={key:0,class:"p-2 flex flex-col mt-8"},Ai={class:"text-4xl font-bold"},Ii=v("div",{class:"text-lg"},"web synths",-1),Di={key:1,class:"p-2 flex flex-col mt-8"},Pi={class:"text-4xl font-bold"},Li=v("div",{class:"text-lg"},"web musicians",-1),Ni={__name:"MainPage",setup(s){const{share:t,isSupported:e}=us();function r(){t({title:"Web synths collection",text:"Look at this online synthesizer collection. No need to install anything - just your browser and any MIDI controller will do.",url:location.href})}const i=q(oi);function n(c){return!Zt.value&&c>5}const a=q([]),l=De(()=>a.value.length),u=hs(l),h=q(),d=ds(h);return vs(()=>{fetch("https://corsproxy.io/?https://db.chromatone.center/items/players?limit=-1").then(c=>c.json()).then(({data:c})=>a.value=c)}),(c,o)=>(x(),$(Jt,null,[V(w(gi),{class:"flex flex-wrap items-stretch gap-4 md-gap-6 m-2 lg-m-8",list:i.value,"onUpdate:list":o[0]||(o[0]=f=>i.value=f),axis:"xy","use-drag-handle":""},{default:D(()=>[(x(!0),$(Jt,null,ys(i.value,(f,m)=>(x(),Dt(w(ss),{class:"flex",style:{flex:"1 1 240px"},key:f.id,index:m},{default:D(()=>[(x(),Dt(Ri,{style:bs({opacity:n(m)?.8:1}),title:f.title,description:f.description,img:f.img,url:f.url,key:f.id,off:n(m)},null,8,["style","title","description","img","url","off"]))]),_:2},1032,["index"]))),128))]),_:1},8,["list"]),v("div",Ci,[nt(c.$slots,"default"),v("div",{class:"flex justify-center",ref_key:"counters",ref:h},[w(d)?(x(),$("div",ki,[v("div",Ai,It(i.value.length),1),Ii])):it("",!0),w(d)&&l.value>0?(x(),$("div",Di,[v("div",Pi,It(w(u).toFixed())+"+",1),Li])):it("",!0)],512),w(e)?(x(),$("button",{key:0,class:"py-2 px-4 mt-6 bg-light-800 shadow-lg rounded-lg cursor-pointer dark-bg-dark-800",onClick:o[1]||(o[1]=f=>r())},"Share now to save for later")):it("",!0)])],64))}};const qi={class:"fixed z-200 min-h-50dvh bottom-0 right-0 left-0 bg-light-800 bg-opacity-80 backdrop-blur flex flex-col items-center gap-4 justify-start dark-bg-dark-200 dark-bg-opacity-80 p-8 shadow"},Bi=v("path",{d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781L7.22 26.22L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z",fill:"#888888"},null,-1),Ui=[Bi],Mi={class:"flex flex-col gap-8 relative pt-8"},Fi={class:"text-center max-w-45ch",for:"email"},Hi={class:"flex gap-4 flex-wrap md-flex-nowrap"},ji=["disabled"],Wi={class:"text-xs opacity-60 text-center max-w-45ch mx-auto"},zi={__name:"TheForm",setup(s){return(t,e)=>(x(),Dt(Ss,{name:"slide"},{default:D(()=>[Xt(v("div",qi,[(x(),$("svg",{class:"absolute top-4 right-4 text-4xl cursor-pointer",onClick:e[0]||(e[0]=r=>tt.value=!1),xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 32 32"},Ui)),v("div",Mi,[v("label",Fi,[nt(t.$slots,"default")]),v("div",Hi,[Xt(v("input",{class:"flex-1 p-2 md-p-4 rounded-xl bg-light-200 shadow-md dark-bg-dark-400 flex-1",ref:"target",style:{flex:"10 1 200px"},"onUpdate:modelValue":e[1]||(e[1]=r=>_s(Z)?Z.value=r:null),id:"email",name:"email",type:"email",onKeydown:e[2]||(e[2]=xs(r=>w(Se)(w(Z)),["enter"])),placeholder:"your@gmail.com"},null,544),[[Es,w(Z)]]),v("button",{class:Le(["text-sm md-text-md p-2 font-bold md-p-4 rounded-xl shadow-xl hover-shadow-2xl transition -hover-translate-y-2px active-translate-y-0 active-shadow-md bg-green-400 dark-bg-green-700",{"grayscale-50":!w(Ee)}]),onClick:e[3]||(e[3]=r=>w(Se)(w(Z))),disabled:!w(Ee),style:{flex:"1 1 400px"}},[nt(t.$slots,"button",{},()=>[M("GET ACCESS")])],10,ji)]),v("div",Wi,[nt(t.$slots,"notice",{},()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")])])])],512),[[ws,w(tt)]])]),_:3}))}},Zi=v("h2",{class:"text-lg font-bold"},"Welcome to our free web synth collection!",-1),Vi=v("p",null,[v("a",{href:"https://playtronica.com",target:"_blank",rel:"noopener"},"Playtronica"),M(" is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. "),v("a",{href:"https://chromatone.center",target:"_blank",rel:"noopener"},"Chromatone"),M(" is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!")],-1),Ki=JSON.parse('{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","frontmatter":{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","date":"2023-06-22T00:00:00.000Z","layout":"home"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1690388893000}'),Gi={name:"index.md"},Yi=Object.assign(Gi,{setup(s){return(t,e)=>(x(),$("div",null,[V(Ni,null,{default:D(()=>[Zi,Vi]),_:1}),V(zi,null,{button:D(()=>[M("GET FULL ACCESS")]),notice:D(()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")]),default:D(()=>[M(" We are building a community of web-based musicians. Type in your e-mail to instantly get full access to the collection and occasionally receive community updates. ")]),_:1})]))}});export{Ki as __pageData,Yi as default}; +import{u as os,a as ls,b as us,c as hs,d as ds}from"./chunks/theme.1bdb9610.js";import{r as q,b as De,w as Pe,h as F,a2 as K,i as x,j as $,u as w,a0 as cs,I as fs,B as v,m as It,p as Le,x as nt,M as V,v as D,C as ps,D as ms,_ as gs,e as vs,J as Jt,K as ys,k as it,q as Dt,S as bs,a3 as Xt,a4 as ws,a5 as _s,Z as xs,a6 as Es,T as Ss,l as M}from"./chunks/framework.531526f4.js";function Ts(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Bt={exports:{}},Ne=function(t,e){return function(){for(var n=new Array(arguments.length),i=0;i"u"}function $s(s){return s!==null&&!lt(s)&&s.constructor!==null&&!lt(s.constructor)&&typeof s.constructor.isBuffer=="function"&&s.constructor.isBuffer(s)}var qe=H("ArrayBuffer");function Rs(s){var t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(s):t=s&&s.buffer&&qe(s.buffer),t}function Cs(s){return typeof s=="string"}function ks(s){return typeof s=="number"}function Be(s){return s!==null&&typeof s=="object"}function at(s){if(Mt(s)!=="object")return!1;var t=Object.getPrototypeOf(s);return t===null||t===Object.prototype}var As=H("Date"),Is=H("File"),Ds=H("Blob"),Ps=H("FileList");function Ht(s){return Ut.call(s)==="[object Function]"}function Ls(s){return Be(s)&&Ht(s.pipe)}function Ns(s){var t="[object FormData]";return s&&(typeof FormData=="function"&&s instanceof FormData||Ut.call(s)===t||Ht(s.toString)&&s.toString()===t)}var qs=H("URLSearchParams");function Bs(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,"")}function Us(){return typeof navigator<"u"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window<"u"&&typeof document<"u"}function jt(s,t){if(!(s===null||typeof s>"u"))if(typeof s!="object"&&(s=[s]),Ft(s))for(var e=0,r=s.length;e0;)i=r[n],a[i]||(t[i]=s[i],a[i]=!0);s=Object.getPrototypeOf(s)}while(s&&(!e||e(s,t))&&s!==Object.prototype);return t}function Ws(s,t,e){s=String(s),(e===void 0||e>s.length)&&(e=s.length),e-=t.length;var r=s.indexOf(t,e);return r!==-1&&r===e}function zs(s){if(!s)return null;var t=s.length;if(lt(t))return null;for(var e=new Array(t);t-- >0;)e[t]=s[t];return e}var Zs=function(s){return function(t){return s&&t instanceof s}}(typeof Uint8Array<"u"&&Object.getPrototypeOf(Uint8Array)),_={isArray:Ft,isArrayBuffer:qe,isBuffer:$s,isFormData:Ns,isArrayBufferView:Rs,isString:Cs,isNumber:ks,isObject:Be,isPlainObject:at,isUndefined:lt,isDate:As,isFile:Is,isBlob:Ds,isFunction:Ht,isStream:Ls,isURLSearchParams:qs,isStandardBrowserEnv:Us,forEach:jt,merge:Pt,extend:Ms,trim:Bs,stripBOM:Fs,inherits:Hs,toFlatObject:js,kindOf:Mt,kindOfTest:H,endsWith:Ws,toArray:zs,isTypedArray:Zs,isFileList:Ps},W=_;function Kt(s){return encodeURIComponent(s).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var Ue=function(t,e,r){if(!e)return t;var n;if(r)n=r(e);else if(W.isURLSearchParams(e))n=e.toString();else{var i=[];W.forEach(e,function(u,h){u===null||typeof u>"u"||(W.isArray(u)?h=h+"[]":u=[u],W.forEach(u,function(c){W.isDate(c)?c=c.toISOString():W.isObject(c)&&(c=JSON.stringify(c)),i.push(Kt(h)+"="+Kt(c))}))}),n=i.join("&")}if(n){var a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+n}return t},Vs=_;function ut(){this.handlers=[]}ut.prototype.use=function(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1};ut.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)};ut.prototype.forEach=function(t){Vs.forEach(this.handlers,function(r){r!==null&&t(r)})};var Gs=ut,Js=_,Xs=function(t,e){Js.forEach(t,function(n,i){i!==e&&i.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[i])})},Me=_;function G(s,t,e,r,n){Error.call(this),this.message=s,this.name="AxiosError",t&&(this.code=t),e&&(this.config=e),r&&(this.request=r),n&&(this.response=n)}Me.inherits(G,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var Fe=G.prototype,He={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach(function(s){He[s]={value:s}});Object.defineProperties(G,He);Object.defineProperty(Fe,"isAxiosError",{value:!0});G.from=function(s,t,e,r,n,i){var a=Object.create(Fe);return Me.toFlatObject(s,a,function(u){return u!==Error.prototype}),G.call(a,s.message,t,e,r,n),a.name=s.name,i&&Object.assign(a,i),a};var X=G,je={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},C=_;function Ks(s,t){t=t||new FormData;var e=[];function r(i){return i===null?"":C.isDate(i)?i.toISOString():C.isArrayBuffer(i)||C.isTypedArray(i)?typeof Blob=="function"?new Blob([i]):Buffer.from(i):i}function n(i,a){if(C.isPlainObject(i)||C.isArray(i)){if(e.indexOf(i)!==-1)throw Error("Circular reference detected in "+a);e.push(i),C.forEach(i,function(u,h){if(!C.isUndefined(u)){var d=a?a+"."+h:h,c;if(u&&!a&&typeof u=="object"){if(C.endsWith(h,"{}"))u=JSON.stringify(u);else if(C.endsWith(h,"[]")&&(c=C.toArray(u))){c.forEach(function(o){!C.isUndefined(o)&&t.append(d,r(o))});return}}n(u,d)}}),e.pop()}else t.append(a,r(i))}return n(s),t}var We=Ks,gt,Yt;function Ys(){if(Yt)return gt;Yt=1;var s=X;return gt=function(e,r,n){var i=n.config.validateStatus;!n.status||!i||i(n.status)?e(n):r(new s("Request failed with status code "+n.status,[s.ERR_BAD_REQUEST,s.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))},gt}var vt,Qt;function Qs(){if(Qt)return vt;Qt=1;var s=_;return vt=s.isStandardBrowserEnv()?function(){return{write:function(r,n,i,a,l,u){var h=[];h.push(r+"="+encodeURIComponent(n)),s.isNumber(i)&&h.push("expires="+new Date(i).toGMTString()),s.isString(a)&&h.push("path="+a),s.isString(l)&&h.push("domain="+l),u===!0&&h.push("secure"),document.cookie=h.join("; ")},read:function(r){var n=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(r){this.write(r,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),vt}var tr=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)},er=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t},sr=tr,rr=er,ze=function(t,e){return t&&!sr(e)?rr(t,e):e},yt,te;function nr(){if(te)return yt;te=1;var s=_,t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return yt=function(r){var n={},i,a,l;return r&&s.forEach(r.split(` +`),function(h){if(l=h.indexOf(":"),i=s.trim(h.substr(0,l)).toLowerCase(),a=s.trim(h.substr(l+1)),i){if(n[i]&&t.indexOf(i)>=0)return;i==="set-cookie"?n[i]=(n[i]?n[i]:[]).concat([a]):n[i]=n[i]?n[i]+", "+a:a}}),n},yt}var bt,ee;function ir(){if(ee)return bt;ee=1;var s=_;return bt=s.isStandardBrowserEnv()?function(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function i(a){var l=a;return e&&(r.setAttribute("href",l),l=r.href),r.setAttribute("href",l),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=i(window.location.href),function(l){var u=s.isString(l)?i(l):l;return u.protocol===n.protocol&&u.host===n.host}}():function(){return function(){return!0}}(),bt}var wt,se;function ht(){if(se)return wt;se=1;var s=X,t=_;function e(r){s.call(this,r??"canceled",s.ERR_CANCELED),this.name="CanceledError"}return t.inherits(e,s,{__CANCEL__:!0}),wt=e,wt}var _t,re;function ar(){return re||(re=1,_t=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}),_t}var xt,ne;function ie(){if(ne)return xt;ne=1;var s=_,t=Ys(),e=Qs(),r=Ue,n=ze,i=nr(),a=ir(),l=je,u=X,h=ht(),d=ar();return xt=function(o){return new Promise(function(m,y){var T=o.data,k=o.headers,A=o.responseType,I;function et(){o.cancelToken&&o.cancelToken.unsubscribe(I),o.signal&&o.signal.removeEventListener("abort",I)}s.isFormData(T)&&s.isStandardBrowserEnv()&&delete k["Content-Type"];var p=new XMLHttpRequest;if(o.auth){var ns=o.auth.username||"",is=o.auth.password?unescape(encodeURIComponent(o.auth.password)):"";k.Authorization="Basic "+btoa(ns+":"+is)}var ft=n(o.baseURL,o.url);p.open(o.method.toUpperCase(),r(ft,o.params,o.paramsSerializer),!0),p.timeout=o.timeout;function Vt(){if(p){var R="getAllResponseHeaders"in p?i(p.getAllResponseHeaders()):null,j=!A||A==="text"||A==="json"?p.responseText:p.response,B={data:j,status:p.status,statusText:p.statusText,headers:R,config:o,request:p};t(function(mt){m(mt),et()},function(mt){y(mt),et()},B),p=null}}if("onloadend"in p?p.onloadend=Vt:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(Vt)},p.onabort=function(){p&&(y(new u("Request aborted",u.ECONNABORTED,o,p)),p=null)},p.onerror=function(){y(new u("Network Error",u.ERR_NETWORK,o,p,p)),p=null},p.ontimeout=function(){var j=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",B=o.transitional||l;o.timeoutErrorMessage&&(j=o.timeoutErrorMessage),y(new u(j,B.clarifyTimeoutError?u.ETIMEDOUT:u.ECONNABORTED,o,p)),p=null},s.isStandardBrowserEnv()){var Gt=(o.withCredentials||a(ft))&&o.xsrfCookieName?e.read(o.xsrfCookieName):void 0;Gt&&(k[o.xsrfHeaderName]=Gt)}"setRequestHeader"in p&&s.forEach(k,function(j,B){typeof T>"u"&&B.toLowerCase()==="content-type"?delete k[B]:p.setRequestHeader(B,j)}),s.isUndefined(o.withCredentials)||(p.withCredentials=!!o.withCredentials),A&&A!=="json"&&(p.responseType=o.responseType),typeof o.onDownloadProgress=="function"&&p.addEventListener("progress",o.onDownloadProgress),typeof o.onUploadProgress=="function"&&p.upload&&p.upload.addEventListener("progress",o.onUploadProgress),(o.cancelToken||o.signal)&&(I=function(R){p&&(y(!R||R&&R.type?new h:R),p.abort(),p=null)},o.cancelToken&&o.cancelToken.subscribe(I),o.signal&&(o.signal.aborted?I():o.signal.addEventListener("abort",I))),T||(T=null);var pt=d(ft);if(pt&&["http","https","file"].indexOf(pt)===-1){y(new u("Unsupported protocol "+pt+":",u.ERR_BAD_REQUEST,o));return}p.send(T)})},xt}var Et,ae;function or(){return ae||(ae=1,Et=null),Et}var b=_,oe=Xs,le=X,lr=je,ur=We,hr={"Content-Type":"application/x-www-form-urlencoded"};function ue(s,t){!b.isUndefined(s)&&b.isUndefined(s["Content-Type"])&&(s["Content-Type"]=t)}function dr(){var s;return(typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(s=ie()),s}function cr(s,t,e){if(b.isString(s))try{return(t||JSON.parse)(s),b.trim(s)}catch(r){if(r.name!=="SyntaxError")throw r}return(e||JSON.stringify)(s)}var dt={transitional:lr,adapter:dr(),transformRequest:[function(t,e){if(oe(e,"Accept"),oe(e,"Content-Type"),b.isFormData(t)||b.isArrayBuffer(t)||b.isBuffer(t)||b.isStream(t)||b.isFile(t)||b.isBlob(t))return t;if(b.isArrayBufferView(t))return t.buffer;if(b.isURLSearchParams(t))return ue(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var r=b.isObject(t),n=e&&e["Content-Type"],i;if((i=b.isFileList(t))||r&&n==="multipart/form-data"){var a=this.env&&this.env.FormData;return ur(i?{"files[]":t}:t,a&&new a)}else if(r||n==="application/json")return ue(e,"application/json"),cr(t);return t}],transformResponse:[function(t){var e=this.transitional||dt.transitional,r=e&&e.silentJSONParsing,n=e&&e.forcedJSONParsing,i=!r&&this.responseType==="json";if(i||n&&b.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(i)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:or()},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};b.forEach(["delete","get","head"],function(t){dt.headers[t]={}});b.forEach(["post","put","patch"],function(t){dt.headers[t]=b.merge(hr)});var Wt=dt,fr=_,pr=Wt,mr=function(t,e,r){var n=this||pr;return fr.forEach(r,function(a){t=a.call(n,t,e)}),t},St,he;function Ze(){return he||(he=1,St=function(t){return!!(t&&t.__CANCEL__)}),St}var de=_,Tt=mr,gr=Ze(),vr=Wt,yr=ht();function Ot(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new yr}var br=function(t){Ot(t),t.headers=t.headers||{},t.data=Tt.call(t,t.data,t.headers,t.transformRequest),t.headers=de.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),de.forEach(["delete","get","head","post","put","patch","common"],function(n){delete t.headers[n]});var e=t.adapter||vr.adapter;return e(t).then(function(n){return Ot(t),n.data=Tt.call(t,n.data,n.headers,t.transformResponse),n},function(n){return gr(n)||(Ot(t),n&&n.response&&(n.response.data=Tt.call(t,n.response.data,n.response.headers,t.transformResponse))),Promise.reject(n)})},O=_,Ve=function(t,e){e=e||{};var r={};function n(d,c){return O.isPlainObject(d)&&O.isPlainObject(c)?O.merge(d,c):O.isPlainObject(c)?O.merge({},c):O.isArray(c)?c.slice():c}function i(d){if(O.isUndefined(e[d])){if(!O.isUndefined(t[d]))return n(void 0,t[d])}else return n(t[d],e[d])}function a(d){if(!O.isUndefined(e[d]))return n(void 0,e[d])}function l(d){if(O.isUndefined(e[d])){if(!O.isUndefined(t[d]))return n(void 0,t[d])}else return n(void 0,e[d])}function u(d){if(d in e)return n(t[d],e[d]);if(d in t)return n(void 0,t[d])}var h={url:a,method:a,data:a,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,responseEncoding:l,validateStatus:u};return O.forEach(Object.keys(t).concat(Object.keys(e)),function(c){var o=h[c]||i,f=o(c);O.isUndefined(f)&&o!==u||(r[c]=f)}),r},$t,ce;function Ge(){return ce||(ce=1,$t={version:"0.27.2"}),$t}var wr=Ge().version,N=X,zt={};["object","boolean","number","function","string","symbol"].forEach(function(s,t){zt[s]=function(r){return typeof r===s||"a"+(t<1?"n ":" ")+s}});var fe={};zt.transitional=function(t,e,r){function n(i,a){return"[Axios v"+wr+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return function(i,a,l){if(t===!1)throw new N(n(a," has been removed"+(e?" in "+e:"")),N.ERR_DEPRECATED);return e&&!fe[a]&&(fe[a]=!0,console.warn(n(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(i,a,l):!0}};function _r(s,t,e){if(typeof s!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(s),n=r.length;n-- >0;){var i=r[n],a=t[i];if(a){var l=s[i],u=l===void 0||a(l,i,s);if(u!==!0)throw new N("option "+i+" must be "+u,N.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new N("Unknown option "+i,N.ERR_BAD_OPTION)}}var xr={assertOptions:_r,validators:zt},Je=_,Er=Ue,pe=Gs,me=br,ct=Ve,Sr=ze,Xe=xr,z=Xe.validators;function J(s){this.defaults=s,this.interceptors={request:new pe,response:new pe}}J.prototype.request=function(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=ct(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;r!==void 0&&Xe.assertOptions(r,{silentJSONParsing:z.transitional(z.boolean),forcedJSONParsing:z.transitional(z.boolean),clarifyTimeoutError:z.transitional(z.boolean)},!1);var n=[],i=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(e)===!1||(i=i&&f.synchronous,n.unshift(f.fulfilled,f.rejected))});var a=[];this.interceptors.response.forEach(function(f){a.push(f.fulfilled,f.rejected)});var l;if(!i){var u=[me,void 0];for(Array.prototype.unshift.apply(u,n),u=u.concat(a),l=Promise.resolve(e);u.length;)l=l.then(u.shift(),u.shift());return l}for(var h=e;n.length;){var d=n.shift(),c=n.shift();try{h=d(h)}catch(o){c(o);break}}try{l=me(h)}catch(o){return Promise.reject(o)}for(;a.length;)l=l.then(a.shift(),a.shift());return l};J.prototype.getUri=function(t){t=ct(this.defaults,t);var e=Sr(t.baseURL,t.url);return Er(e,t.params,t.paramsSerializer)};Je.forEach(["delete","get","head","options"],function(t){J.prototype[t]=function(e,r){return this.request(ct(r||{},{method:t,url:e,data:(r||{}).data}))}});Je.forEach(["post","put","patch"],function(t){function e(r){return function(i,a,l){return this.request(ct(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}J.prototype[t]=e(),J.prototype[t+"Form"]=e(!0)});var Tr=J,Rt,ge;function Or(){if(ge)return Rt;ge=1;var s=ht();function t(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var r;this.promise=new Promise(function(a){r=a});var n=this;this.promise.then(function(i){if(n._listeners){var a,l=n._listeners.length;for(a=0;a"u"?"json":"cookie"}}var _e;(function(s){s.TOTAL_COUNT="total_count",s.FILTER_COUNT="filter_count"})(_e||(_e={}));class g extends Error{constructor(t){super(`${t??"ID"} cannot be an empty string`)}}class P{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async readOne(t,e,r){if(`${t}`=="")throw new g("id");return(await this.transport.get(`${this.endpoint}/${encodeURI(t)}`,{params:e,...r==null?void 0:r.requestOptions})).data}async readMany(t,e,r){var n;const a=(n=(await this.transport.get(`/fields/${this.collection}`)).data)===null||n===void 0?void 0:n.find(h=>h.schema.is_primary_key===!0),{data:l,meta:u}=await this.transport.get(`${this.endpoint}`,{params:{...e,filter:{[a.field]:{_in:t},...e==null?void 0:e.filter},sort:(e==null?void 0:e.sort)||a.field},...r==null?void 0:r.requestOptions});return{data:l,...u&&{meta:u}}}async readByQuery(t,e){const{data:r,meta:n}=await this.transport.get(`${this.endpoint}`,{params:t,...e==null?void 0:e.requestOptions});return{data:r,...n&&{meta:n}}}async createOne(t,e,r){return(await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})).data}async createMany(t,e,r){return await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateOne(t,e,r,n){if(`${t}`=="")throw new g("id");return(await this.transport.patch(`${this.endpoint}/${encodeURI(t)}`,e,{params:r,...n==null?void 0:n.requestOptions})).data}async updateMany(t,e,r,n){return await this.transport.patch(`${this.endpoint}`,{keys:t,data:e},{params:r,...n==null?void 0:n.requestOptions})}async updateBatch(t,e,r){return await this.transport.patch(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateByQuery(t,e,r,n){return await this.transport.patch(`${this.endpoint}`,{query:t,data:e},{params:r,...n==null?void 0:n.requestOptions})}async deleteOne(t,e){if(`${t}`=="")throw new g("id");await this.transport.delete(`${this.endpoint}/${encodeURI(t)}`,void 0,e==null?void 0:e.requestOptions)}async deleteMany(t,e){await this.transport.delete(`${this.endpoint}`,t,e==null?void 0:e.requestOptions)}}class Pr{constructor(t){this.transport=t}async create(t){return(await this.transport.post("/activity/comment",t)).data}async update(t,e){if(`${t}`=="")throw new g("comment_activity_id");return(await this.transport.patch(`/activity/comment/${encodeURI(t)}`,{comment:e})).data}async delete(t){if(`${t}`=="")throw new g("comment_activity_id");await this.transport.delete(`/activity/comment/${encodeURI(t)}`)}}class Lr extends P{constructor(t){super("directus_activity",t),this._comments=new Pr(this.transport)}get comments(){return this._comments}}class Nr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("id");return(await this.transport.get(`/assets/${t}`,{responseType:"stream"})).raw}}class qr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/collections/${t}`)).data}async readAll(){const{data:t,meta:e}=await this.transport.get("/collections");return{data:t,meta:e}}async createOne(t){return(await this.transport.post("/collections",t)).data}async createMany(t){const{data:e,meta:r}=await this.transport.post("/collections",t);return{data:e,meta:r}}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");return(await this.transport.patch(`/collections/${t}`,e,{params:r})).data}async deleteOne(t){if(`${t}`=="")throw new g("collection");await this.transport.delete(`/collections/${t}`)}}class Br{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/fields/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return{data:(await this.transport.get(`/fields/${t}`)).data,meta:void 0}}async readAll(){return{data:(await this.transport.get("/fields")).data,meta:void 0}}async createOne(t,e){if(`${t}`=="")throw new g("collection");return(await this.transport.post(`/fields/${t}`,e)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/fields/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/fields/${t}/${e}`)}}class Ur extends P{constructor(t){super("directus_files",t)}async import(t){return(await this.transport.post("/files/import",t)).data}}class Mr extends P{constructor(t){super("directus_folders",t)}}class Fr extends P{constructor(t){super("directus_permissions",t)}}class Hr extends P{constructor(t){super("directus_presets",t)}}class jr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/relations/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/relations/${t}`)).data}async readAll(){return(await this.transport.get("/relations")).data}async createOne(t){return(await this.transport.post("/relations",t)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/relations/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/relations/${t}/${e}`)}}class Wr extends P{constructor(t){super("directus_revisions",t)}}class zr extends P{constructor(t){super("directus_roles",t)}}class Zr{constructor(t){this.transport=t}async ping(){return(await this.transport.get("/server/ping")).raw}async info(){return(await this.transport.get("/server/info")).data}async oas(){return(await this.transport.get("/server/specs/oas")).raw}}class Qe{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async read(t){return(await this.transport.get(`${this.endpoint}`,{params:t})).data}async update(t,e){return(await this.transport.patch(`${this.endpoint}`,t,{params:e})).data}}class Vr extends Qe{constructor(t){super("directus_settings",t)}}class Gr{constructor(t){this.transport=t}async send(t,e,r){await this.transport.post("/users/invite",{email:t,role:e,invite_url:r})}async accept(t,e){await this.transport.post("/users/invite/accept",{token:t,password:e})}}class Jr{constructor(t){this.transport=t}async generate(t){return(await this.transport.post("/users/me/tfa/generate",{password:t})).data}async enable(t,e){await this.transport.post("/users/me/tfa/enable",{secret:t,otp:e})}async disable(t){await this.transport.post("/users/me/tfa/disable",{otp:t})}}class Xr{constructor(t){this._transport=t}get tfa(){return this._tfa||(this._tfa=new Jr(this._transport))}async read(t){return(await this._transport.get("/users/me",{params:t})).data}async update(t,e){return(await this._transport.patch("/users/me",t,{params:e})).data}}class Kr extends P{constructor(t){super("directus_users",t)}get invites(){return this._invites||(this._invites=new Gr(this.transport))}get me(){return this._me||(this._me=new Xr(this.transport))}}class Yr{constructor(t){this.random={string:async(e=32)=>(await this.transport.get("/utils/random/string",{params:{length:e}})).data},this.hash={generate:async e=>(await this.transport.post("/utils/hash/generate",{string:e})).data,verify:async(e,r)=>(await this.transport.post("/utils/hash/verify",{string:e,hash:r})).data},this.transport=t}async sort(t,e,r){await this.transport.post(`/utils/sort/${encodeURI(t)}`,{item:e,to:r})}async revert(t){await this.transport.post(`/utils/revert/${encodeURI(t)}`)}}class ts{}class Lt{}class Y extends Error{constructor(t,e){var r,n;!((r=e==null?void 0:e.errors)===null||r===void 0)&&r.length?super((n=e==null?void 0:e.errors[0])===null||n===void 0?void 0:n.message):super((t==null?void 0:t.message)||"Unknown transport error"),this.parent=t,this.response=e,this.errors=(e==null?void 0:e.errors)||[],Object.values(e||{}).some(i=>i!==void 0)||(this.response=void 0),Object.setPrototypeOf(this,Y.prototype)}}var E;(function(s){s.AuthToken="auth_token",s.RefreshToken="auth_refresh_token",s.Expires="auth_expires",s.ExpiresAt="auth_expires_at"})(E||(E={}));class es extends ts{constructor(t){var e;super(),this.prefix=(e=t==null?void 0:t.prefix)!==null&&e!==void 0?e:""}get auth_token(){return this.get(E.AuthToken)}set auth_token(t){t===null?this.delete(E.AuthToken):this.set(E.AuthToken,t)}get auth_expires(){const t=this.get(E.Expires);return t===null?null:parseInt(t)}set auth_expires(t){t===null?this.delete(E.Expires):this.set(E.Expires,t.toString())}get auth_expires_at(){const t=this.get(E.ExpiresAt);return t===null?null:parseInt(t)}set auth_expires_at(t){t===null?this.delete(E.ExpiresAt):this.set(E.ExpiresAt,t.toString())}get auth_refresh_token(){return this.get(E.RefreshToken)}set auth_refresh_token(t){t===null?this.delete(E.RefreshToken):this.set(E.RefreshToken,t)}}class Qr extends es{constructor(){super(...arguments),this.values={}}get(t){const e=this.key(t);return e in this.values?this.values[e]:null}set(t,e){return this.values[this.key(t)]=e,e}delete(t){const e=this.get(t);return delete this.values[this.key(t)],e}key(t){return`${this.prefix}${t}`}}class tn extends es{get(t){const e=localStorage.getItem(this.key(t));return e!==null?e:null}set(t,e){return localStorage.setItem(this.key(t),e),e}delete(t){const e=this.get(t);return localStorage.removeItem(this.key(t)),e}key(t){return`${this.prefix}${t}`}}class en extends Lt{constructor(t){var e;super(),this.config=t,this.axios=we.create({baseURL:this.config.url,params:this.config.params,headers:this.config.headers,onUploadProgress:this.config.onUploadProgress,maxBodyLength:this.config.maxBodyLength,maxContentLength:this.config.maxContentLength,withCredentials:!0}),!((e=this.config)===null||e===void 0)&&e.beforeRequest&&(this.beforeRequest=this.config.beforeRequest)}async beforeRequest(t){return t}get url(){return this.config.url}async request(t,e,r,n){var i,a,l,u,h;try{let d={method:t,url:e,data:r,params:n==null?void 0:n.params,headers:n==null?void 0:n.headers,responseType:n==null?void 0:n.responseType,onUploadProgress:n==null?void 0:n.onUploadProgress};d=await this.beforeRequest(d);const c=await this.axios.request(d),o={raw:c.data,status:c.status,statusText:c.statusText,headers:c.headers,data:c.data.data,meta:c.data.meta,errors:c.data.errors};if(c.data.errors)throw new Y(null,o);return o}catch(d){if(!d||!(d instanceof Error))throw d;if(we.isAxiosError(d)){const c=(i=d.response)===null||i===void 0?void 0:i.data;throw new Y(d,{raw:(a=d.response)===null||a===void 0?void 0:a.data,status:(l=d.response)===null||l===void 0?void 0:l.status,statusText:(u=d.response)===null||u===void 0?void 0:u.statusText,headers:(h=d.response)===null||h===void 0?void 0:h.headers,data:c==null?void 0:c.data,meta:c==null?void 0:c.meta,errors:c==null?void 0:c.errors})}throw new Y(d)}}async get(t,e){return await this.request("get",t,void 0,e)}async head(t,e){return await this.request("head",t,void 0,e)}async options(t,e){return await this.request("options",t,void 0,e)}async delete(t,e,r){return await this.request("delete",t,e,r)}async put(t,e,r){return await this.request("put",t,e,r)}async post(t,e,r){return await this.request("post",t,e,r)}async patch(t,e,r){return await this.request("patch",t,e,r)}}class sn{constructor(t){this.transport=t}async request(t,e){await this.transport.post("/auth/password/request",{email:t,reset_url:e})}async reset(t,e){await this.transport.post("/auth/password/reset",{token:t,password:e})}}class rn extends Ye{constructor(t){var e,r,n;super(),this.autoRefresh=!0,this.msRefreshBeforeExpires=3e4,this.staticToken="",this._transport=t.transport,this._storage=t.storage,this.autoRefresh=(e=t==null?void 0:t.autoRefresh)!==null&&e!==void 0?e:this.autoRefresh,this.mode=(r=t==null?void 0:t.mode)!==null&&r!==void 0?r:this.mode,this.msRefreshBeforeExpires=(n=t==null?void 0:t.msRefreshBeforeExpires)!==null&&n!==void 0?n:this.msRefreshBeforeExpires,t!=null&&t.staticToken&&(this.staticToken=t==null?void 0:t.staticToken,this.updateStorage({access_token:this.staticToken,expires:null,refresh_token:null}))}get storage(){return this._storage}get transport(){return this._transport}get token(){return(async()=>{if(this._refreshPromise)try{await this._refreshPromise}finally{this._refreshPromise=void 0}return this._storage.auth_token})()}get password(){return this.passwords=this.passwords||new sn(this._transport)}resetStorage(){this._storage.auth_token=null,this._storage.auth_refresh_token=null,this._storage.auth_expires=null,this._storage.auth_expires_at=null}updateStorage(t){var e,r;const n=(e=t.expires)!==null&&e!==void 0?e:null;this._storage.auth_token=t.access_token,this._storage.auth_refresh_token=(r=t.refresh_token)!==null&&r!==void 0?r:null,this._storage.auth_expires=n,this._storage.auth_expires_at=new Date().getTime()+(n??0)}async refreshIfExpired(){if(!this.staticToken&&this.autoRefresh){if(!this._storage.auth_expires_at){try{await this._refreshPromise}finally{this._refreshPromise=void 0}return}this._storage.auth_expires_at{var e;const r=this._storage.auth_refresh_token;this.resetStorage();const n=await this._transport.post("/auth/refresh",{refresh_token:this.mode==="json"?r:void 0});return this.updateStorage(n.data),{access_token:n.data.access_token,...((e=n.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:n.data.refresh_token},expires:n.data.expires}};return this._refreshPromise=t()}async login(t){var e;this.resetStorage();const r=await this._transport.post("/auth/login",{mode:this.mode,...t},{headers:{Authorization:null}});return this.updateStorage(r.data),{access_token:r.data.access_token,...((e=r.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:r.data.refresh_token},expires:r.data.expires}}async static(t){return this.staticToken||(this.staticToken=t),await this._transport.get("/users/me",{params:{access_token:t},headers:{Authorization:null}}),this.updateStorage({access_token:t,expires:null,refresh_token:null}),!0}async logout(){let t;this.mode==="json"&&(t=this._storage.auth_refresh_token||void 0),await this._transport.post("/auth/logout",{refresh_token:t}),this.updateStorage({access_token:null,expires:null,refresh_token:null})}}class nn{constructor(t){this.transport=t}async request(t,e,r){return await this.transport.post(t,{query:e,variables:typeof r>"u"?{}:r})}async items(t,e){return await this.request("/graphql",t,e)}async system(t,e){return await this.request("/graphql/system",t,e)}}class an{constructor(t,e){var r,n,i,a,l,u,h,d,c;if(this._url=t,this._options=e,this._items={},this._singletons={},!((r=this._options)===null||r===void 0)&&r.storage&&((n=this._options)===null||n===void 0?void 0:n.storage)instanceof ts)this._storage=this._options.storage;else{const o=(i=this._options)===null||i===void 0?void 0:i.storage,{mode:f,...m}=o??{};f==="MemoryStorage"||typeof window>"u"?this._storage=new Qr(m):this._storage=new tn(m)}!((a=this._options)===null||a===void 0)&&a.transport&&((l=this._options)===null||l===void 0?void 0:l.transport)instanceof Lt?this._transport=this._options.transport:this._transport=new en({url:this.url,...(u=this._options)===null||u===void 0?void 0:u.transport,beforeRequest:async o=>{var f,m,y,T,k,A;this._url.indexOf("/auth/refresh")===-1&&((f=o.method)===null||f===void 0?void 0:f.toLowerCase())!=="post"&&await this._auth.refreshIfExpired();const I=this.storage.auth_token,et=I?I.startsWith("Bearer ")?String(this.storage.auth_token):`Bearer ${this.storage.auth_token}`:"",p={...o,headers:{Authorization:et,...o.headers}};return!(((m=this._options)===null||m===void 0?void 0:m.transport)instanceof Lt)&&(!((T=(y=this._options)===null||y===void 0?void 0:y.transport)===null||T===void 0)&&T.beforeRequest)?(A=(k=this._options)===null||k===void 0?void 0:k.transport)===null||A===void 0?void 0:A.beforeRequest(p):p}}),!((h=this._options)===null||h===void 0)&&h.auth&&((d=this._options)===null||d===void 0?void 0:d.auth)instanceof Ye?this._auth=this._options.auth:this._auth=new rn({transport:this._transport,storage:this._storage,...(c=this._options)===null||c===void 0?void 0:c.auth})}get url(){return this._url}get auth(){return this._auth}get storage(){return this._storage}get transport(){return this._transport}get assets(){return this._assets||(this._assets=new Nr(this.transport))}get activity(){return this._activity||(this._activity=new Lr(this.transport))}get collections(){return this._collections||(this._collections=new qr(this.transport))}get fields(){return this._fields||(this._fields=new Br(this.transport))}get files(){return this._files||(this._files=new Ur(this.transport))}get folders(){return this._folders||(this._folders=new Mr(this.transport))}get permissions(){return this._permissions||(this._permissions=new Fr(this.transport))}get presets(){return this._presets||(this._presets=new Hr(this.transport))}get relations(){return this._relations||(this._relations=new jr(this.transport))}get revisions(){return this._revisions||(this._revisions=new Wr(this.transport))}get roles(){return this._roles||(this._roles=new zr(this.transport))}get users(){return this._users||(this._users=new Kr(this.transport))}get settings(){return this._settings||(this._settings=new Vr(this.transport))}get server(){return this._server||(this._server=new Zr(this.transport))}get utils(){return this._utils||(this._utils=new Yr(this.transport))}get graphql(){return this._graphql||(this._graphql=new nn(this.transport))}singleton(t){return this._singletons[t]||(this._singletons[t]=new Qe(t,this.transport))}items(t){return this._items[t]||(this._items[t]=new P(t,this.transport))}}const on=new an("https://db.chromatone.center"),Zt=os("access-granted",!1),xe=q(!1),Z=q(""),Ee=De(()=>/^[^@]+@\w+(\.\w+)+\w$/.test(Z.value));async function Se(s){const t={email:s};if(Zt.value=s,!xe.value){xe.value=!0;try{await on.items("players").createOne(t)}catch(e){console.error(e)}}}const tt=q(!1);Pe(Zt,s=>{s&&(tt.value=!1)});const Te=q(!1),ln=JSON.parse('[{"id":1,"status":"published","sort":1,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:12:51.578Z","title":"Dotpiano","url":"https://dotpiano.com/","content":null,"img":"a55e9913-8d15-486d-9ab1-d4fe8c7fb5bf","category":null},{"id":3,"status":"published","sort":3,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:58:12.456Z","title":"TouchME by Chromatone","url":"https://touchme.chromatone.center/","content":null,"img":"67191ff8-1f6b-4ffb-9885-b0598c600981","category":null},{"id":14,"status":"published","sort":4,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:13.331Z","title":"Juno-106","url":"http://juno-106.js.org/","content":null,"img":"45297e84-6b42-446b-8a56-024ff46542b7","category":null},{"id":26,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:42.487Z","title":"Learning synths with Ableton","url":"https://learningsynths.ableton.com/","content":null,"img":"110d33fe-8c5f-4502-aaf9-6458f2119d33","category":3},{"id":30,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-30T02:33:18.609Z","title":"DX7 Synth","url":"https://mmontag.github.io/dx7-synth-js/","content":null,"img":"33b1ee5c-77f0-4fb7-86ef-d8687532688b","category":2},{"id":32,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T08:49:56.166Z","title":"Sampler synth","url":"https://play.playtronica.com/","content":null,"img":"d7b750b3-2206-46fe-a2df-d7da6b8faccd","category":null},{"id":10,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:14:42.904Z","title":"Websynths","url":"http://websynths.com/","content":null,"img":"2fd87e78-0cad-44b7-bf02-44deaf12deaa","category":null},{"id":19,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:26.708Z","title":"Theremin","url":"https://www.femurdesign.com/theremin/","content":null,"img":"1fb860e8-199e-4cd2-98f0-a718e8a6378d","category":null},{"id":22,"status":"published","sort":7,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:55.478Z","title":"Disco-computer","url":"http://www.disco-computer.com/synthesizer/synth.html","content":null,"img":"fd019ff3-512a-49b9-923d-a899e50938d5","category":null},{"id":29,"status":"published","sort":8,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-20T09:19:52.499Z","title":"Elementary synth","url":"https://chromatone.center/practice/midi/synth/","content":null,"img":"e204f6f4-2534-4587-93c9-1f3ad11de771","category":3},{"id":31,"status":"published","sort":12,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T05:38:18.890Z","title":"Video Sampler","url":"https://seeing-sound.netlify.app/","content":null,"img":"24b816fc-b3bd-4b76-9e15-1765bec844ce","category":3},{"id":27,"status":"published","sort":14,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:18.081Z","title":"Viktor NV-1","url":"http://nicroto.github.io/viktor/","content":null,"img":"47059c44-1e73-4578-bd8d-2a85676d6a6c","category":null},{"id":17,"status":"published","sort":30,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:26.088Z","title":"Sound Trap","url":"https://www.soundtrap.com/","content":null,"img":"73e783f3-84b7-430d-9a89-b1ee2fe69050","category":1},{"id":6,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:11:50.949Z","title":"MIDI–driven Web Audio","url":"https://webaudiodemos.appspot.com/midi-synth/index.html","content":null,"img":"aa8959b0-e5af-4055-8d65-276c42135c9b","category":null},{"id":8,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:23.936Z","title":"Meet the Heisenberg","url":"https://www.audiotool.com/product/device/heisenberg/","content":null,"img":"31b1a269-323a-4afe-8262-fd6ff566b136","category":null},{"id":9,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:45.798Z","title":"Cardboard Synth","url":"https://www.gsn-lib.org/apps/cardboardsynth/index.html","content":null,"img":"a737a01c-d552-44d4-ae6f-736b967333b9","category":null},{"id":11,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:04.832Z","title":"Tanguy synth","url":"http://tanguysynth.com/","content":null,"img":"cf55e3e1-0b91-4e0c-b97d-d392e242736c","category":null},{"id":12,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:25.991Z","title":"MOD synth","url":"http://mod-synth.io/","content":null,"img":"724e5054-3e1e-4ed7-b2e0-09fa78358f2d","category":null},{"id":13,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:53.105Z","title":"OLIF SY1K","url":"http://perso.numericable.fr/olivier.friker/synth/O3-synth%20V1.3.html","content":null,"img":"353b4bea-4458-4f7d-ab2d-e8cb3927fd2b","category":null},{"id":15,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:31.831Z","title":"Note Sculptor","url":"http://www.noisesculptor.com/","content":null,"img":"d2d23b94-d822-4e9e-9632-e57b96f66213","category":null},{"id":16,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:03.314Z","title":"WebAudioSynth V2","url":"http://aikelab.net/websynthv2/","content":null,"img":"c1192dc4-38a5-45af-9087-165478fffbc4","category":2},{"id":18,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:47.206Z","title":"Samplestich","url":"http://samplestitch.com.s3-website-us-east-1.amazonaws.com/","content":null,"img":"fc617933-8038-46bc-a71c-794cce369003","category":3},{"id":20,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:49.043Z","title":"Omni","url":"https://femurdesign.com/omni/","content":null,"img":"4329ecec-c6bd-4892-bc5d-1c60ebf85db6","category":null},{"id":21,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:10.192Z","title":"Web Modular","url":"https://www.g200kg.com/docs/webmodular/","content":null,"img":"ab06d1f0-0962-469c-9173-1d1b0c323da4","category":null},{"id":23,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:24.249Z","title":"Online sequencer","url":"https://onlinesequencer.net/369477","content":null,"img":"dfe830f4-6fc9-4c70-9355-266066d57e84","category":null},{"id":24,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:54.765Z","title":"PixelSynth","url":"https://ojack.github.io/PIXELSYNTH/","content":null,"img":"57a70c4c-a745-4d76-acc1-f60605b2e620","category":null},{"id":25,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:19.769Z","title":"Acid Machine 2","url":"http://errozero.co.uk/acid-machine/","content":null,"img":"006c8dc8-29f6-4451-ae69-4d4e14b69fc1","category":null},{"id":28,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:38.864Z","title":"WebSID Commodore 64","url":"http://www.igorski.nl/experiment/websid","content":null,"img":"0c43f116-2478-4306-af3c-afd5a869b7a3","category":null}]'),un=F({inject:["manager"],props:{index:{type:Number,required:!0},disabled:{type:Boolean,default:!1}},data(){return{}},watch:{index(s){this.$el&&this.$el.sortableInfo&&(this.$el.sortableInfo.index=s)},disabled(s){s?this.removeDraggable():this.setDraggable(this.index)}},mounted(){const{disabled:s,index:t}=this.$props;s||this.setDraggable(t)},beforeUnmount(){this.disabled||this.removeDraggable()},methods:{setDraggable(s){const t=this.$el;t.sortableInfo={index:s,manager:this.manager},this.ref={node:t},this.manager.add(this.ref)},removeDraggable(){this.manager.remove(this.ref)}}});class hn{constructor(){this.refs=[],this.active=null}add(t){this.refs||(this.refs=[]),this.refs.push(t)}remove(t){const e=this.getIndex(t);e!==-1&&this.refs.splice(e,1)}isActive(){return!!this.active}getActive(){return this.refs.find(({node:t})=>{var e,r;return((e=t==null?void 0:t.sortableInfo)===null||e===void 0?void 0:e.index)==((r=this===null||this===void 0?void 0:this.active)===null||r===void 0?void 0:r.index)})||null}getIndex(t){return this.refs.indexOf(t)}getRefs(){return this.refs}getOrderedRefs(){return this.refs.sort((t,e)=>t.node.sortableInfo.index-e.node.sortableInfo.index)}}const Q=s=>s.touches!=null;function Nt(s,t){return!!s&&Object.prototype.hasOwnProperty.call(s,t)}function dn(s,t,e){const r=s.slice(0);if(e>=r.length){let n=e-r.length;for(;n--+1;)r.push(void 0)}return r.splice(e,0,r.splice(t,1)[0]),r}function cn(s,t){const e=s.slice(0);return t>=e.length||e.splice(t,1),e}function fn(s,t,e){const r=s.slice(0);return t===r.length?r.push(e):r.splice(t,0,e),r}const L={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","mouseup"],cancel:["touchcancel","keyup"]};function Oe(s,t){for(;s;){if(t(s))return s;s=s.parentNode}}function $e(s,t,e){return et?t:e}function st(s){return s.substr(-2)==="px"?parseFloat(s):0}function Re(s){const t=window.getComputedStyle(s);return{top:st(t.marginTop),right:st(t.marginRight),bottom:st(t.marginBottom),left:st(t.marginLeft)}}function rt(s,t="page"){const e=`${t}X`,r=`${t}Y`;return{x:Q(s)?s.touches[0][e]:s[e],y:Q(s)?s.touches[0][r]:s[r]}}function Ce(s){const t=[s];for(;s;s=s.offsetParent)t.unshift(s);return t}function pn(s,t){const e=Ce(s),r=Ce(t);if(e[0]!=r[0])throw"No common ancestor!";for(let n=0;n{n.type!=="file"&&t[i]&&(n.value=t[i].value)}),e}function mn(s,t,e){if(typeof s=="string"&&(s=+s),Array.isArray(s)||(s=[s,s]),s.length!==2)throw new Error(`lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given ${s}`);const[r,n]=s;return[Ae(r,t,e),Ae(n,t,e)]}function Ae(s,t,e){let r=s,n=s,i="px";if(typeof s=="string"){const a=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(s);if(a===null)throw new Error(`lockOffset value should be a number or a string of a number followed by "px" or "%". Given ${s}`);r=n=parseFloat(s),i=a[1]}if(!isFinite(r)||!isFinite(n))throw new Error(`lockOffset value should be a finite. Given ${s}`);return i==="%"&&(r=r*t/100,n=n*e/100),{x:r,y:n}}function Ie(s=[]){for(let t=0,e=s.length;t[]},lockAxis:{type:String,default:""},helperClass:{type:String,default:""},contentWindow:{type:Object,default:null},shouldCancelStart:{type:Function,default:s=>["input","textarea","select","option","button"].indexOf(s.target.tagName.toLowerCase())!==-1},getHelperDimensions:{type:Function,default:({node:s})=>({width:s.offsetWidth,height:s.offsetHeight})}},emits:["sort-start","sort-move","sort-end","sort-cancel","sort-insert","sort-remove","update:list"],data(){let s=!1;return this.group&&this.SlicksortHub&&(s=!0),{sorting:!1,hub:s?this.SlicksortHub:null,manager:new hn}},mounted(){this.hub&&(this.id=this.hub.getId()),this.container=this.$el,this.document=this.container.ownerDocument||document,this._window=this.contentWindow||window,this.scrollContainer=this.useWindowAsScrollContainer?{scrollLeft:0,scrollTop:0}:this.container,this.events={start:this.handleStart,move:this.handleMove,end:this.handleEnd};for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.addEventListener(t,this.events[s]));this.hub&&this.hub.addContainer(this)},beforeUnmount(){for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.removeEventListener(t,this.events[s]));this.hub&&this.hub.removeContainer(this),this.dragendTimer&&clearTimeout(this.dragendTimer),this.cancelTimer&&clearTimeout(this.cancelTimer),this.pressTimer&&clearTimeout(this.pressTimer),this.autoscrollInterval&&clearInterval(this.autoscrollInterval)},methods:{handleStart(s){const{distance:t,shouldCancelStart:e}=this.$props;if(!Q(s)&&s.button===2||e(s))return!1;this._touched=!0,this._pos=rt(s);const r=s.target,n=Oe(r,i=>i.sortableInfo!=null);if(n&&n.sortableInfo&&this.nodeIsChild(n)&&!this.sorting){const{useDragHandle:i}=this.$props,{index:a}=n.sortableInfo;if(i&&!Oe(r,l=>l.sortableHandle!=null))return;this.manager.active={index:a},r.tagName.toLowerCase()==="a"&&s.preventDefault(),t||(this.pressDelay===0?this.handlePress(s):this.pressTimer=At(()=>this.handlePress(s),this.pressDelay))}},nodeIsChild(s){return s.sortableInfo.manager===this.manager},handleMove(s){const{distance:t,pressThreshold:e}=this.$props;if(!this.sorting&&this._touched){const r=rt(s);this._delta={x:this._pos.x-r.x,y:this._pos.y-r.y};const n=Math.abs(this._delta.x)+Math.abs(this._delta.y);!t&&(!e||e&&n>=e)?(this.cancelTimer&&clearTimeout(this.cancelTimer),this.cancelTimer=At(this.cancel,0)):t&&n>=t&&this.manager.isActive()&&this.handlePress(s)}},handleEnd(){if(!this._touched)return;const{distance:s}=this.$props;this._touched=!1,s||this.cancel()},cancel(){this.sorting||(this.pressTimer&&clearTimeout(this.pressTimer),this.manager.active=null,this.hub&&this.hub.cancel())},handleSortCancel(s){(Q(s)||s.key===this.cancelKey)&&(this.newIndex=this.index,this.canceling=!0,this.translate={x:0,y:0},this.animateNodes(),this.handleSortEnd(s))},handlePress(s){s.stopPropagation();const t=this.manager.getActive();if(t){const{getHelperDimensions:e,helperClass:r,hideSortableGhost:n,appendTo:i}=this.$props,{node:a}=t,{index:l}=a.sortableInfo,u=Re(a),h=this.container.getBoundingClientRect(),d=e({index:l,node:a});this.node=a,this.margin=u,this.width=d.width,this.height=d.height,this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this.boundingClientRect=a.getBoundingClientRect(),this.containerBoundingRect=h,this.index=l,this.newIndex=l;const c=ke(a);this.helper=this.document.querySelector(i).appendChild(c),this.helper.style.position="fixed",this.helper.style.top=`${this.boundingClientRect.top-u.top}px`,this.helper.style.left=`${this.boundingClientRect.left-u.left}px`,this.helper.style.width=`${this.width}px`,this.helper.style.height=`${this.height}px`,this.helper.style.boxSizing="border-box",this.helper.style.pointerEvents="none",n&&(this.sortableGhost=a,a.style.visibility="hidden",a.style.opacity="0"),this.hub&&(this.hub.sortStart(this),this.hub.helper=this.helper,this.hub.ghost=this.sortableGhost),this.intializeOffsets(s,this.boundingClientRect),this.offsetEdge=U(a,this.container),r&&this.helper.classList.add(...r.split(" ")),this.listenerNode=Q(s)?a:this._window,L.move.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortMove)),L.end.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortEnd)),L.cancel.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortCancel)),this.sorting=!0,this.$emit("sort-start",{event:s,node:a,index:l})}},handleSortMove(s){if(s.preventDefault(),this.updatePosition(s),this.hub){const t=this.list[this.index];this.hub.handleSortMove(s,t)}(!this.hub||this.hub.isDest(this))&&(this.animateNodes(),this.autoscroll()),this.$emit("sort-move",{event:s})},handleDropOut(){const s=this.list[this.index],t=cn(this.list,this.index);return this.$emit("sort-remove",{oldIndex:this.index}),this.$emit("update:list",t),s},handleDropIn(s){const t=fn(this.list,this.newIndex,s);this.$emit("sort-insert",{newIndex:this.newIndex,value:s}),this.$emit("update:list",t),this.handleDragEnd()},handleDragOut(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),this.hub.isSource(this)?(this.translate={x:1e4,y:1e4},this.animateNodes()):(this.manager.getRefs().forEach(s=>{s.node.style.transform=""}),this.dragendTimer=At(this.handleDragEnd,this.transitionDuration||0))},handleDragEnd(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),Ie(this.manager.getRefs()),this.sortableGhost&&(this.sortableGhost.remove(),this.sortableGhost=null),this.dragendTimer&&(clearTimeout(this.dragendTimer),this.dragendTimer=null),this.manager.active=null,this._touched=!1,this.sorting=!1},intializeOffsets(s,t){const{useWindowAsScrollContainer:e,containerBoundingRect:r,_window:n}=this;this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this._axis={x:this.axis.indexOf("x")>=0,y:this.axis.indexOf("y")>=0},this.initialOffset=rt(s),this.initialScroll={top:this.scrollContainer.scrollTop,left:this.scrollContainer.scrollLeft},this.initialWindowScroll={top:window.pageYOffset,left:window.pageXOffset},this.translate={x:0,y:0},this.minTranslate={},this.maxTranslate={},this._axis.x&&(this.minTranslate.x=(e?0:r.left)-t.left-this.width/2,this.maxTranslate.x=(e?n.innerWidth:r.left+r.width)-t.left-this.width/2),this._axis.y&&(this.minTranslate.y=(e?0:r.top)-t.top-this.height/2,this.maxTranslate.y=(e?n.innerHeight:r.top+r.height)-t.top-this.height/2)},handleDragIn(s,t,e){if(this.hub.isSource(this))return;this.dragendTimer&&(this.handleDragEnd(),clearTimeout(this.dragendTimer),this.dragendTimer=null);const r=this.manager.getRefs();this.index=r.length,this.manager.active={index:this.index};const n=this.container.getBoundingClientRect(),i=e.getBoundingClientRect();this.containerBoundingRect=n,this.sortableGhost=ke(t),this.container.appendChild(this.sortableGhost);const a=this.sortableGhost.getBoundingClientRect();this.boundingClientRect=a,this.margin=Re(this.sortableGhost),this.width=a.width,this.height=a.height,this.offsetEdge=U(this.sortableGhost,this.container),this.intializeOffsets(s,a),this.initialOffset.x+=a.x-i.x,this.initialOffset.y+=a.y-i.y,this.sorting=!0},handleSortEnd(s){this.listenerNode&&(L.move.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortMove)),L.end.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortEnd)),L.cancel.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortCancel)));const t=this.manager.getRefs();this.helper&&this.helperClass&&this.helper.classList.remove(...this.helperClass.split(" ")),this.autoscrollInterval&&clearInterval(this.autoscrollInterval),this.autoscrollInterval=null;const e=()=>{this.helper&&(this.helper.remove(),this.helper=null),this.hideSortableGhost&&this.sortableGhost&&(this.sortableGhost.style.visibility="",this.sortableGhost.style.opacity=""),Ie(t),this.hub&&!this.hub.isDest(this)?this.canceling?this.hub.cancel():this.hub.handleSortEnd():this.canceling?this.$emit("sort-cancel",{event:s}):(this.$emit("sort-end",{event:s,oldIndex:this.index,newIndex:this.newIndex}),this.$emit("update:list",dn(this.list,this.index,this.newIndex))),this.manager.active=null,this._touched=!1,this.canceling=!1,this.sorting=!1};this.transitionDuration||this.draggedSettlingDuration?this.transitionHelperIntoPlace(t,e):e()},transitionHelperIntoPlace(s,t){if(this.draggedSettlingDuration===0||s.length===0||!this.helper)return Promise.resolve();const e=s[this.index].node;let r=0,n=0;const i={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};if(this.hub&&!this.hub.isDest(this)&&!this.canceling){const h=this.hub.getDest();if(!h)return;const d=h.newIndex,c=h.manager.getOrderedRefs(),o=d0?r+=h.offsetLeft+h.offsetWidth-(e.offsetLeft+e.offsetWidth):r+=h.offsetLeft-e.offsetLeft,n=-d.top,this.translate&&this.translate.y>0?n+=h.offsetTop+h.offsetHeight-(e.offsetTop+e.offsetHeight):n+=h.offsetTop-e.offsetTop}const a=this.draggedSettlingDuration!==null?this.draggedSettlingDuration:this.transitionDuration;qt(this.helper,`translate3d(${r}px,${n}px, 0)`,`${a}ms`);const l=h=>{(!h||h.propertyName==="transform")&&(clearTimeout(u),qt(this.helper),t())},u=setTimeout(l,a+10);this.helper.addEventListener("transitionend",l)},updatePosition(s){const{lockAxis:t,lockToContainerEdges:e}=this.$props,r=rt(s),n={x:r.x-this.initialOffset.x,y:r.y-this.initialOffset.y};if(n.y-=window.pageYOffset-this.initialWindowScroll.top,n.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=n,e){const[i,a]=mn(this.lockOffset,this.height,this.width),l={x:this.width/2-i.x,y:this.height/2-i.y},u={x:this.width/2-a.x,y:this.height/2-a.y};this.minTranslate.x&&this.maxTranslate.x&&(n.x=$e(this.minTranslate.x+l.x,this.maxTranslate.x-u.x,n.x)),this.minTranslate.y&&this.maxTranslate.y&&(n.y=$e(this.minTranslate.y+l.y,this.maxTranslate.y-u.y,n.y))}t==="x"?n.y=0:t==="y"&&(n.x=0),this.helper&&(this.helper.style.transform=`translate3d(${n.x}px,${n.y}px, 0)`)},animateNodes(){const{transitionDuration:s,hideSortableGhost:t}=this.$props,e=this.manager.getOrderedRefs(),r={left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top},n={left:this.offsetEdge.left+this.translate.x+r.left,top:this.offsetEdge.top+this.translate.y+r.top},i={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};this.newIndex=null;for(let a=0,l=e.length;ad?d/2:this.width/2,height:this.height>c?c/2:this.height/2},f={x:0,y:0};let{edgeOffset:m}=e[a];m||(e[a].edgeOffset=m=U(u,this.container));const y=a0&&e[a-1];if(y&&!y.edgeOffset&&(y.edgeOffset=U(y.node,this.container)),h===this.index){t&&(this.sortableGhost=u,u.style.visibility="hidden",u.style.opacity="0");continue}s&&(u.style.transitionDuration=`${s}ms`),this._axis.x?this._axis.y?hthis.containerBoundingRect.width-o.width&&y&&(f.x=y.edgeOffset.left-m.left,f.y=y.edgeOffset.top-m.top),this.newIndex===null&&(this.newIndex=h)):h>this.index&&(n.left+i.left+o.width>=m.left&&n.top+i.top+o.height>=m.top||n.top+i.top+o.height>=m.top+c)&&(f.x=-(this.width+this.marginOffset.x),m.left+f.xthis.index&&n.left+i.left+o.width>=m.left?(f.x=-(this.width+this.marginOffset.x),this.newIndex=h):hthis.index&&n.top+i.top+o.height>=m.top?(f.y=-(this.height+this.marginOffset.y),this.newIndex=h):h=this.maxTranslate.y-this.height/2?(t.y=1,e.y=r.y*Math.abs((this.maxTranslate.y-this.height/2-s.y)/this.height)):s.x>=this.maxTranslate.x-this.width/2?(t.x=1,e.x=r.x*Math.abs((this.maxTranslate.x-this.width/2-s.x)/this.width)):s.y<=this.minTranslate.y+this.height/2?(t.y=-1,e.y=r.y*Math.abs((s.y-this.height/2-this.minTranslate.y)/this.height)):s.x<=this.minTranslate.x+this.width/2&&(t.x=-1,e.x=r.x*Math.abs((s.x-this.width/2-this.minTranslate.x)/this.width)),this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),(t.x!==0||t.y!==0)&&(this.autoscrollInterval=window.setInterval(()=>{const n={left:1*e.x*t.x,top:1*e.y*t.y};this.useWindowAsScrollContainer?this._window.scrollBy(n.left,n.top):(this.scrollContainer.scrollTop+=n.top,this.scrollContainer.scrollLeft+=n.left),this.translate.x+=n.left,this.translate.y+=n.top,this.animateNodes()},5))}}}),ss=F({name:"SlickItem",mixins:[un],props:{tag:{type:String,default:"div"}},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),vn=F({name:"SlickList",mixins:[gn],props:{tag:{type:String,default:"div"},itemKey:{type:[String,Function],default:"id"}},render(){var s,t;return this.$slots.item?K(this.tag,this.list.map((e,r)=>{let n;if(e!=null){if(typeof this.itemKey=="function")n=this.itemKey(e);else if(typeof e=="object"&&Nt(e,this.itemKey)&&typeof e[this.itemKey]=="string")n=e[this.itemKey];else if(typeof e=="string")n=e;else throw new Error("Cannot find key for item, use the item-key prop and pass a function or string");return K(ss,{key:n,index:r},{default:()=>{var i,a;return(a=(i=this.$slots).item)===null||a===void 0?void 0:a.call(i,{item:e,index:r})}})}})):K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),yn=F({props:{tag:{type:String,default:"span"}},mounted(){this.$el.sortableHandle=!0},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),bn={key:0,d:"M30.336 12.547l-10.172-1.074L16 2.133l-4.164 9.34l-10.172 1.074l7.598 6.848L7.14 29.398L16 24.29l8.86 5.11l-2.122-10.004z",fill:"#ffaa00"},wn={key:1,d:"M16 2.125l-.906 2.063l-3.25 7.28l-7.938.845l-2.25.25l1.688 1.5l5.906 5.343l-1.656 7.813l-.469 2.187l1.969-1.125l6.906-4l6.906 4l1.969 1.125l-.469-2.187l-1.656-7.813l5.906-5.343l1.688-1.5l-2.25-.25l-7.938-.844l-3.25-7.281zm0 4.906l2.563 5.782l.25.53l.562.063l6.281.656l-4.687 4.22l-.438.405l.125.563l1.313 6.156l-5.469-3.125l-.5-.312l-.5.312l-5.469 3.125l1.313-6.156l.125-.563l-.438-.406l-4.687-4.218l6.281-.657l.563-.062l.25-.531z",fill:"#888888"},_n=F({__name:"SynthFav",props:{url:{type:String,default:""}},setup(s){const e=ls("fav:"+s.url,!1);function r(n){e.value=!e.value,console.log(e.value)}return(n,i)=>(x(),$("svg",{onClick:i[0]||(i[0]=cs(a=>r(s.url),["stop","prevent"])),xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[w(e)?(x(),$("path",bn)):(x(),$("path",wn))]))}}),rs=s=>(ps("data-v-9a2748d8"),s=s(),ms(),s),xn=["src","alt"],En=rs(()=>v("div",{class:"flex-1"},null,-1)),Sn={class:"p-4 flex items-center justify-between w-full"},Tn={class:"text-md font-bold flex items-center gap-2 flex-1"},On={class:"flex-1"},$n=rs(()=>v("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[v("path",{d:"M4 7v2h24V7zm0 8v2h24v-2zm0 8v2h24v-2z",fill:"#888888"})],-1)),Rn=F({__name:"SynthCard",props:{off:{type:Boolean,default:!1},title:{type:String,default:""},description:{type:String,default:""},img:{type:String,default:""},url:{type:String,default:""}},setup(s){const t=s,e=q(null);Pe(Te,async n=>{try{(await fetch("https://corsproxy.io/?"+t.url)).status==200?e.value=!0:e.value=!1}catch{e.value=!1}});function r(){t.off?tt.value=!tt.value:window.open(t.url,"_blank")}return(n,i)=>{const a=fs("ClientOnly");return x(),$("button",{class:"flex flex-col text-left relative min-h-50 card p-0 bg-light-300 shadow-lg flex flex-col dark-bg-dark-300 -hover-translate-y-2px transition hover-shadow-xl rounded-xl overflow-hidden relative",onClick:r},[(x(),$("img",{key:s.title,height:"200",width:"1000",src:`/img/${s.title.toLowerCase().split(" ").join("-")}.webp`,alt:`${s.title} illustration`},null,8,xn)),En,v("div",Sn,[v("div",Tn,[v("div",On,It(s.title),1),w(Te)?(x(),$("div",{key:0,class:Le(["w-2 h-2 rounded-full shadow-inset",{"bg-green-500":e.value===!0,"bg-red-500":e.value===!1}])},null,2)):nt("",!0),V(a,null,{default:D(()=>[V(_n,{class:"scale-70 w-10",url:s.url},null,8,["url"])]),_:1}),V(w(yn),{class:"scale-80 opacity-40 cursor-grab absolute top-2 right-2"},{default:D(()=>[$n]),_:1})])])])}}});const Cn=gs(Rn,[["__scopeId","data-v-9a2748d8"]]);const kn={class:"mx-auto p-4 max-w-75ch dark-text-light-200 text-center line-height-loose text-md intro md-text-lg pt-16"},An={key:0,class:"p-2 flex flex-col mt-8"},In={class:"text-4xl font-bold"},Dn=v("div",{class:"text-lg"},"web synths",-1),Pn={key:1,class:"p-2 flex flex-col mt-8"},Ln={class:"text-4xl font-bold"},Nn=v("div",{class:"text-lg"},"web musicians",-1),qn={__name:"MainPage",setup(s){const{share:t,isSupported:e}=us();function r(){t({title:"Web synths collection",text:"Look at this online synthesizer collection. No need to install anything - just your browser and any MIDI controller will do.",url:location.href})}const n=q(ln);function i(c){return!Zt.value&&c>5}const a=q([]),l=De(()=>a.value.length),u=hs(l),h=q(),d=ds(h);return vs(()=>{fetch("https://corsproxy.io/?https://db.chromatone.center/items/players?limit=-1").then(c=>c.json()).then(({data:c})=>a.value=c)}),(c,o)=>(x(),$(Jt,null,[V(w(vn),{class:"flex flex-wrap items-stretch gap-4 md-gap-6 m-2 lg-m-8",list:n.value,"onUpdate:list":o[0]||(o[0]=f=>n.value=f),axis:"xy","use-drag-handle":""},{default:D(()=>[(x(!0),$(Jt,null,ys(n.value,(f,m)=>(x(),Dt(w(ss),{class:"flex",style:{flex:"1 1 240px"},key:f.id,index:m},{default:D(()=>[(x(),Dt(Cn,{style:bs({opacity:i(m)?.8:1}),title:f.title,description:f.description,img:f.img,url:f.url,key:f.id,off:i(m)},null,8,["style","title","description","img","url","off"]))]),_:2},1032,["index"]))),128))]),_:1},8,["list"]),v("div",kn,[it(c.$slots,"default"),v("div",{class:"flex justify-center",ref_key:"counters",ref:h},[w(d)?(x(),$("div",An,[v("div",In,It(n.value.length),1),Dn])):nt("",!0),w(d)&&l.value>0?(x(),$("div",Pn,[v("div",Ln,It(w(u).toFixed())+"+",1),Nn])):nt("",!0)],512),w(e)?(x(),$("button",{key:0,class:"text-white py-2 px-4 mt-6 shadow-lg rounded-lg cursor-pointer bg-green-600 -hover-translate-y-2px transition",onClick:o[1]||(o[1]=f=>r())},"Share now to save for later")):nt("",!0)])],64))}};const Bn={class:"fixed z-200 min-h-50dvh bottom-0 right-0 left-0 bg-light-800 bg-opacity-80 backdrop-blur flex flex-col items-center gap-4 justify-start dark-bg-dark-200 dark-bg-opacity-80 p-8 shadow"},Un=v("path",{d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781L7.22 26.22L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z",fill:"#888888"},null,-1),Mn=[Un],Fn={class:"flex flex-col gap-8 relative pt-8"},Hn={class:"text-center max-w-45ch",for:"email"},jn={class:"flex gap-4 flex-wrap md-flex-nowrap"},Wn=["disabled"],zn={class:"text-xs opacity-60 text-center max-w-45ch mx-auto"},Zn={__name:"TheForm",setup(s){return(t,e)=>(x(),Dt(Ss,{name:"slide"},{default:D(()=>[Xt(v("div",Bn,[(x(),$("svg",{class:"absolute top-4 right-4 text-4xl cursor-pointer",onClick:e[0]||(e[0]=r=>tt.value=!1),xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 32 32"},Mn)),v("div",Fn,[v("label",Hn,[it(t.$slots,"default")]),v("div",jn,[Xt(v("input",{class:"flex-1 p-2 md-p-4 rounded-xl bg-light-200 shadow-md dark-bg-dark-400 flex-1",ref:"target",style:{flex:"10 1 200px"},"onUpdate:modelValue":e[1]||(e[1]=r=>_s(Z)?Z.value=r:null),id:"email",name:"email",type:"email",onKeydown:e[2]||(e[2]=xs(r=>w(Se)(w(Z)),["enter"])),placeholder:"your@gmail.com"},null,544),[[Es,w(Z)]]),v("button",{class:Le(["text-sm md-text-md p-2 font-bold md-p-4 rounded-xl shadow-xl hover-shadow-2xl transition -hover-translate-y-2px active-translate-y-0 active-shadow-md bg-green-400 dark-bg-green-700",{"grayscale-50":!w(Ee)}]),onClick:e[3]||(e[3]=r=>w(Se)(w(Z))),disabled:!w(Ee),style:{flex:"1 1 400px"}},[it(t.$slots,"button",{},()=>[M("GET ACCESS")])],10,Wn)]),v("div",zn,[it(t.$slots,"notice",{},()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")])])])],512),[[ws,w(tt)]])]),_:3}))}},Vn=v("h2",{class:"text-lg font-bold"},"Welcome to our free web synth collection!",-1),Gn=v("p",null,[v("a",{href:"https://playtronica.com",target:"_blank",rel:"noopener"},"Playtronica"),M(" is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. "),v("a",{href:"https://chromatone.center",target:"_blank",rel:"noopener"},"Chromatone"),M(" is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!")],-1),Yn=JSON.parse('{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","frontmatter":{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","date":"2023-06-22T00:00:00.000Z","layout":"home"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1690388893000}'),Jn={name:"index.md"},Qn=Object.assign(Jn,{setup(s){return(t,e)=>(x(),$("div",null,[V(qn,null,{default:D(()=>[Vn,Gn]),_:1}),V(Zn,null,{button:D(()=>[M("GET FULL ACCESS")]),notice:D(()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")]),default:D(()=>[M(" We are building a community of web-based musicians. Type in your e-mail to instantly get full access to the collection and occasionally receive community updates. ")]),_:1})]))}});export{Yn as __pageData,Qn as default}; diff --git a/assets/index.md.ad3ccca6.lean.js b/assets/index.md.d77ad94a.lean.js similarity index 71% rename from assets/index.md.ad3ccca6.lean.js rename to assets/index.md.d77ad94a.lean.js index 50d9d2eb..40c98028 100644 --- a/assets/index.md.ad3ccca6.lean.js +++ b/assets/index.md.d77ad94a.lean.js @@ -1,2 +1,2 @@ -import{u as os,a as ls,b as us,c as hs,d as ds}from"./chunks/theme.1bdb9610.js";import{r as q,b as De,w as Pe,h as F,a2 as K,i as x,j as $,u as w,a0 as cs,I as fs,B as v,m as It,p as Le,x as it,M as V,v as D,C as ps,D as ms,_ as gs,e as vs,J as Jt,K as ys,k as nt,q as Dt,S as bs,a3 as Xt,a4 as ws,a5 as _s,Z as xs,a6 as Es,T as Ss,l as M}from"./chunks/framework.531526f4.js";function Ts(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Bt={exports:{}},Ne=function(t,e){return function(){for(var i=new Array(arguments.length),n=0;n"u"}function $s(s){return s!==null&&!lt(s)&&s.constructor!==null&&!lt(s.constructor)&&typeof s.constructor.isBuffer=="function"&&s.constructor.isBuffer(s)}var qe=H("ArrayBuffer");function Rs(s){var t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(s):t=s&&s.buffer&&qe(s.buffer),t}function Cs(s){return typeof s=="string"}function ks(s){return typeof s=="number"}function Be(s){return s!==null&&typeof s=="object"}function at(s){if(Mt(s)!=="object")return!1;var t=Object.getPrototypeOf(s);return t===null||t===Object.prototype}var As=H("Date"),Is=H("File"),Ds=H("Blob"),Ps=H("FileList");function Ht(s){return Ut.call(s)==="[object Function]"}function Ls(s){return Be(s)&&Ht(s.pipe)}function Ns(s){var t="[object FormData]";return s&&(typeof FormData=="function"&&s instanceof FormData||Ut.call(s)===t||Ht(s.toString)&&s.toString()===t)}var qs=H("URLSearchParams");function Bs(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,"")}function Us(){return typeof navigator<"u"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window<"u"&&typeof document<"u"}function jt(s,t){if(!(s===null||typeof s>"u"))if(typeof s!="object"&&(s=[s]),Ft(s))for(var e=0,r=s.length;e0;)n=r[i],a[n]||(t[n]=s[n],a[n]=!0);s=Object.getPrototypeOf(s)}while(s&&(!e||e(s,t))&&s!==Object.prototype);return t}function Ws(s,t,e){s=String(s),(e===void 0||e>s.length)&&(e=s.length),e-=t.length;var r=s.indexOf(t,e);return r!==-1&&r===e}function zs(s){if(!s)return null;var t=s.length;if(lt(t))return null;for(var e=new Array(t);t-- >0;)e[t]=s[t];return e}var Zs=function(s){return function(t){return s&&t instanceof s}}(typeof Uint8Array<"u"&&Object.getPrototypeOf(Uint8Array)),_={isArray:Ft,isArrayBuffer:qe,isBuffer:$s,isFormData:Ns,isArrayBufferView:Rs,isString:Cs,isNumber:ks,isObject:Be,isPlainObject:at,isUndefined:lt,isDate:As,isFile:Is,isBlob:Ds,isFunction:Ht,isStream:Ls,isURLSearchParams:qs,isStandardBrowserEnv:Us,forEach:jt,merge:Pt,extend:Ms,trim:Bs,stripBOM:Fs,inherits:Hs,toFlatObject:js,kindOf:Mt,kindOfTest:H,endsWith:Ws,toArray:zs,isTypedArray:Zs,isFileList:Ps},W=_;function Kt(s){return encodeURIComponent(s).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var Ue=function(t,e,r){if(!e)return t;var i;if(r)i=r(e);else if(W.isURLSearchParams(e))i=e.toString();else{var n=[];W.forEach(e,function(u,h){u===null||typeof u>"u"||(W.isArray(u)?h=h+"[]":u=[u],W.forEach(u,function(c){W.isDate(c)?c=c.toISOString():W.isObject(c)&&(c=JSON.stringify(c)),n.push(Kt(h)+"="+Kt(c))}))}),i=n.join("&")}if(i){var a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t},Vs=_;function ut(){this.handlers=[]}ut.prototype.use=function(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1};ut.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)};ut.prototype.forEach=function(t){Vs.forEach(this.handlers,function(r){r!==null&&t(r)})};var Gs=ut,Js=_,Xs=function(t,e){Js.forEach(t,function(i,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=i,delete t[n])})},Me=_;function G(s,t,e,r,i){Error.call(this),this.message=s,this.name="AxiosError",t&&(this.code=t),e&&(this.config=e),r&&(this.request=r),i&&(this.response=i)}Me.inherits(G,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var Fe=G.prototype,He={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach(function(s){He[s]={value:s}});Object.defineProperties(G,He);Object.defineProperty(Fe,"isAxiosError",{value:!0});G.from=function(s,t,e,r,i,n){var a=Object.create(Fe);return Me.toFlatObject(s,a,function(u){return u!==Error.prototype}),G.call(a,s.message,t,e,r,i),a.name=s.name,n&&Object.assign(a,n),a};var X=G,je={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},C=_;function Ks(s,t){t=t||new FormData;var e=[];function r(n){return n===null?"":C.isDate(n)?n.toISOString():C.isArrayBuffer(n)||C.isTypedArray(n)?typeof Blob=="function"?new Blob([n]):Buffer.from(n):n}function i(n,a){if(C.isPlainObject(n)||C.isArray(n)){if(e.indexOf(n)!==-1)throw Error("Circular reference detected in "+a);e.push(n),C.forEach(n,function(u,h){if(!C.isUndefined(u)){var d=a?a+"."+h:h,c;if(u&&!a&&typeof u=="object"){if(C.endsWith(h,"{}"))u=JSON.stringify(u);else if(C.endsWith(h,"[]")&&(c=C.toArray(u))){c.forEach(function(o){!C.isUndefined(o)&&t.append(d,r(o))});return}}i(u,d)}}),e.pop()}else t.append(a,r(n))}return i(s),t}var We=Ks,gt,Yt;function Ys(){if(Yt)return gt;Yt=1;var s=X;return gt=function(e,r,i){var n=i.config.validateStatus;!i.status||!n||n(i.status)?e(i):r(new s("Request failed with status code "+i.status,[s.ERR_BAD_REQUEST,s.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i))},gt}var vt,Qt;function Qs(){if(Qt)return vt;Qt=1;var s=_;return vt=s.isStandardBrowserEnv()?function(){return{write:function(r,i,n,a,l,u){var h=[];h.push(r+"="+encodeURIComponent(i)),s.isNumber(n)&&h.push("expires="+new Date(n).toGMTString()),s.isString(a)&&h.push("path="+a),s.isString(l)&&h.push("domain="+l),u===!0&&h.push("secure"),document.cookie=h.join("; ")},read:function(r){var i=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return i?decodeURIComponent(i[3]):null},remove:function(r){this.write(r,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),vt}var tr=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)},er=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t},sr=tr,rr=er,ze=function(t,e){return t&&!sr(e)?rr(t,e):e},yt,te;function ir(){if(te)return yt;te=1;var s=_,t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return yt=function(r){var i={},n,a,l;return r&&s.forEach(r.split(` -`),function(h){if(l=h.indexOf(":"),n=s.trim(h.substr(0,l)).toLowerCase(),a=s.trim(h.substr(l+1)),n){if(i[n]&&t.indexOf(n)>=0)return;n==="set-cookie"?i[n]=(i[n]?i[n]:[]).concat([a]):i[n]=i[n]?i[n]+", "+a:a}}),i},yt}var bt,ee;function nr(){if(ee)return bt;ee=1;var s=_;return bt=s.isStandardBrowserEnv()?function(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),i;function n(a){var l=a;return e&&(r.setAttribute("href",l),l=r.href),r.setAttribute("href",l),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return i=n(window.location.href),function(l){var u=s.isString(l)?n(l):l;return u.protocol===i.protocol&&u.host===i.host}}():function(){return function(){return!0}}(),bt}var wt,se;function ht(){if(se)return wt;se=1;var s=X,t=_;function e(r){s.call(this,r??"canceled",s.ERR_CANCELED),this.name="CanceledError"}return t.inherits(e,s,{__CANCEL__:!0}),wt=e,wt}var _t,re;function ar(){return re||(re=1,_t=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}),_t}var xt,ie;function ne(){if(ie)return xt;ie=1;var s=_,t=Ys(),e=Qs(),r=Ue,i=ze,n=ir(),a=nr(),l=je,u=X,h=ht(),d=ar();return xt=function(o){return new Promise(function(m,y){var T=o.data,k=o.headers,A=o.responseType,I;function et(){o.cancelToken&&o.cancelToken.unsubscribe(I),o.signal&&o.signal.removeEventListener("abort",I)}s.isFormData(T)&&s.isStandardBrowserEnv()&&delete k["Content-Type"];var p=new XMLHttpRequest;if(o.auth){var is=o.auth.username||"",ns=o.auth.password?unescape(encodeURIComponent(o.auth.password)):"";k.Authorization="Basic "+btoa(is+":"+ns)}var ft=i(o.baseURL,o.url);p.open(o.method.toUpperCase(),r(ft,o.params,o.paramsSerializer),!0),p.timeout=o.timeout;function Vt(){if(p){var R="getAllResponseHeaders"in p?n(p.getAllResponseHeaders()):null,j=!A||A==="text"||A==="json"?p.responseText:p.response,B={data:j,status:p.status,statusText:p.statusText,headers:R,config:o,request:p};t(function(mt){m(mt),et()},function(mt){y(mt),et()},B),p=null}}if("onloadend"in p?p.onloadend=Vt:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(Vt)},p.onabort=function(){p&&(y(new u("Request aborted",u.ECONNABORTED,o,p)),p=null)},p.onerror=function(){y(new u("Network Error",u.ERR_NETWORK,o,p,p)),p=null},p.ontimeout=function(){var j=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",B=o.transitional||l;o.timeoutErrorMessage&&(j=o.timeoutErrorMessage),y(new u(j,B.clarifyTimeoutError?u.ETIMEDOUT:u.ECONNABORTED,o,p)),p=null},s.isStandardBrowserEnv()){var Gt=(o.withCredentials||a(ft))&&o.xsrfCookieName?e.read(o.xsrfCookieName):void 0;Gt&&(k[o.xsrfHeaderName]=Gt)}"setRequestHeader"in p&&s.forEach(k,function(j,B){typeof T>"u"&&B.toLowerCase()==="content-type"?delete k[B]:p.setRequestHeader(B,j)}),s.isUndefined(o.withCredentials)||(p.withCredentials=!!o.withCredentials),A&&A!=="json"&&(p.responseType=o.responseType),typeof o.onDownloadProgress=="function"&&p.addEventListener("progress",o.onDownloadProgress),typeof o.onUploadProgress=="function"&&p.upload&&p.upload.addEventListener("progress",o.onUploadProgress),(o.cancelToken||o.signal)&&(I=function(R){p&&(y(!R||R&&R.type?new h:R),p.abort(),p=null)},o.cancelToken&&o.cancelToken.subscribe(I),o.signal&&(o.signal.aborted?I():o.signal.addEventListener("abort",I))),T||(T=null);var pt=d(ft);if(pt&&["http","https","file"].indexOf(pt)===-1){y(new u("Unsupported protocol "+pt+":",u.ERR_BAD_REQUEST,o));return}p.send(T)})},xt}var Et,ae;function or(){return ae||(ae=1,Et=null),Et}var b=_,oe=Xs,le=X,lr=je,ur=We,hr={"Content-Type":"application/x-www-form-urlencoded"};function ue(s,t){!b.isUndefined(s)&&b.isUndefined(s["Content-Type"])&&(s["Content-Type"]=t)}function dr(){var s;return(typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(s=ne()),s}function cr(s,t,e){if(b.isString(s))try{return(t||JSON.parse)(s),b.trim(s)}catch(r){if(r.name!=="SyntaxError")throw r}return(e||JSON.stringify)(s)}var dt={transitional:lr,adapter:dr(),transformRequest:[function(t,e){if(oe(e,"Accept"),oe(e,"Content-Type"),b.isFormData(t)||b.isArrayBuffer(t)||b.isBuffer(t)||b.isStream(t)||b.isFile(t)||b.isBlob(t))return t;if(b.isArrayBufferView(t))return t.buffer;if(b.isURLSearchParams(t))return ue(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var r=b.isObject(t),i=e&&e["Content-Type"],n;if((n=b.isFileList(t))||r&&i==="multipart/form-data"){var a=this.env&&this.env.FormData;return ur(n?{"files[]":t}:t,a&&new a)}else if(r||i==="application/json")return ue(e,"application/json"),cr(t);return t}],transformResponse:[function(t){var e=this.transitional||dt.transitional,r=e&&e.silentJSONParsing,i=e&&e.forcedJSONParsing,n=!r&&this.responseType==="json";if(n||i&&b.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(n)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:or()},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};b.forEach(["delete","get","head"],function(t){dt.headers[t]={}});b.forEach(["post","put","patch"],function(t){dt.headers[t]=b.merge(hr)});var Wt=dt,fr=_,pr=Wt,mr=function(t,e,r){var i=this||pr;return fr.forEach(r,function(a){t=a.call(i,t,e)}),t},St,he;function Ze(){return he||(he=1,St=function(t){return!!(t&&t.__CANCEL__)}),St}var de=_,Tt=mr,gr=Ze(),vr=Wt,yr=ht();function Ot(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new yr}var br=function(t){Ot(t),t.headers=t.headers||{},t.data=Tt.call(t,t.data,t.headers,t.transformRequest),t.headers=de.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),de.forEach(["delete","get","head","post","put","patch","common"],function(i){delete t.headers[i]});var e=t.adapter||vr.adapter;return e(t).then(function(i){return Ot(t),i.data=Tt.call(t,i.data,i.headers,t.transformResponse),i},function(i){return gr(i)||(Ot(t),i&&i.response&&(i.response.data=Tt.call(t,i.response.data,i.response.headers,t.transformResponse))),Promise.reject(i)})},O=_,Ve=function(t,e){e=e||{};var r={};function i(d,c){return O.isPlainObject(d)&&O.isPlainObject(c)?O.merge(d,c):O.isPlainObject(c)?O.merge({},c):O.isArray(c)?c.slice():c}function n(d){if(O.isUndefined(e[d])){if(!O.isUndefined(t[d]))return i(void 0,t[d])}else return i(t[d],e[d])}function a(d){if(!O.isUndefined(e[d]))return i(void 0,e[d])}function l(d){if(O.isUndefined(e[d])){if(!O.isUndefined(t[d]))return i(void 0,t[d])}else return i(void 0,e[d])}function u(d){if(d in e)return i(t[d],e[d]);if(d in t)return i(void 0,t[d])}var h={url:a,method:a,data:a,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,responseEncoding:l,validateStatus:u};return O.forEach(Object.keys(t).concat(Object.keys(e)),function(c){var o=h[c]||n,f=o(c);O.isUndefined(f)&&o!==u||(r[c]=f)}),r},$t,ce;function Ge(){return ce||(ce=1,$t={version:"0.27.2"}),$t}var wr=Ge().version,N=X,zt={};["object","boolean","number","function","string","symbol"].forEach(function(s,t){zt[s]=function(r){return typeof r===s||"a"+(t<1?"n ":" ")+s}});var fe={};zt.transitional=function(t,e,r){function i(n,a){return"[Axios v"+wr+"] Transitional option '"+n+"'"+a+(r?". "+r:"")}return function(n,a,l){if(t===!1)throw new N(i(a," has been removed"+(e?" in "+e:"")),N.ERR_DEPRECATED);return e&&!fe[a]&&(fe[a]=!0,console.warn(i(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(n,a,l):!0}};function _r(s,t,e){if(typeof s!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(s),i=r.length;i-- >0;){var n=r[i],a=t[n];if(a){var l=s[n],u=l===void 0||a(l,n,s);if(u!==!0)throw new N("option "+n+" must be "+u,N.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new N("Unknown option "+n,N.ERR_BAD_OPTION)}}var xr={assertOptions:_r,validators:zt},Je=_,Er=Ue,pe=Gs,me=br,ct=Ve,Sr=ze,Xe=xr,z=Xe.validators;function J(s){this.defaults=s,this.interceptors={request:new pe,response:new pe}}J.prototype.request=function(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=ct(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;r!==void 0&&Xe.assertOptions(r,{silentJSONParsing:z.transitional(z.boolean),forcedJSONParsing:z.transitional(z.boolean),clarifyTimeoutError:z.transitional(z.boolean)},!1);var i=[],n=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(e)===!1||(n=n&&f.synchronous,i.unshift(f.fulfilled,f.rejected))});var a=[];this.interceptors.response.forEach(function(f){a.push(f.fulfilled,f.rejected)});var l;if(!n){var u=[me,void 0];for(Array.prototype.unshift.apply(u,i),u=u.concat(a),l=Promise.resolve(e);u.length;)l=l.then(u.shift(),u.shift());return l}for(var h=e;i.length;){var d=i.shift(),c=i.shift();try{h=d(h)}catch(o){c(o);break}}try{l=me(h)}catch(o){return Promise.reject(o)}for(;a.length;)l=l.then(a.shift(),a.shift());return l};J.prototype.getUri=function(t){t=ct(this.defaults,t);var e=Sr(t.baseURL,t.url);return Er(e,t.params,t.paramsSerializer)};Je.forEach(["delete","get","head","options"],function(t){J.prototype[t]=function(e,r){return this.request(ct(r||{},{method:t,url:e,data:(r||{}).data}))}});Je.forEach(["post","put","patch"],function(t){function e(r){return function(n,a,l){return this.request(ct(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:n,data:a}))}}J.prototype[t]=e(),J.prototype[t+"Form"]=e(!0)});var Tr=J,Rt,ge;function Or(){if(ge)return Rt;ge=1;var s=ht();function t(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var r;this.promise=new Promise(function(a){r=a});var i=this;this.promise.then(function(n){if(i._listeners){var a,l=i._listeners.length;for(a=0;a"u"?"json":"cookie"}}var _e;(function(s){s.TOTAL_COUNT="total_count",s.FILTER_COUNT="filter_count"})(_e||(_e={}));class g extends Error{constructor(t){super(`${t??"ID"} cannot be an empty string`)}}class P{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async readOne(t,e,r){if(`${t}`=="")throw new g("id");return(await this.transport.get(`${this.endpoint}/${encodeURI(t)}`,{params:e,...r==null?void 0:r.requestOptions})).data}async readMany(t,e,r){var i;const a=(i=(await this.transport.get(`/fields/${this.collection}`)).data)===null||i===void 0?void 0:i.find(h=>h.schema.is_primary_key===!0),{data:l,meta:u}=await this.transport.get(`${this.endpoint}`,{params:{...e,filter:{[a.field]:{_in:t},...e==null?void 0:e.filter},sort:(e==null?void 0:e.sort)||a.field},...r==null?void 0:r.requestOptions});return{data:l,...u&&{meta:u}}}async readByQuery(t,e){const{data:r,meta:i}=await this.transport.get(`${this.endpoint}`,{params:t,...e==null?void 0:e.requestOptions});return{data:r,...i&&{meta:i}}}async createOne(t,e,r){return(await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})).data}async createMany(t,e,r){return await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateOne(t,e,r,i){if(`${t}`=="")throw new g("id");return(await this.transport.patch(`${this.endpoint}/${encodeURI(t)}`,e,{params:r,...i==null?void 0:i.requestOptions})).data}async updateMany(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{keys:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async updateBatch(t,e,r){return await this.transport.patch(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateByQuery(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{query:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async deleteOne(t,e){if(`${t}`=="")throw new g("id");await this.transport.delete(`${this.endpoint}/${encodeURI(t)}`,void 0,e==null?void 0:e.requestOptions)}async deleteMany(t,e){await this.transport.delete(`${this.endpoint}`,t,e==null?void 0:e.requestOptions)}}class Pr{constructor(t){this.transport=t}async create(t){return(await this.transport.post("/activity/comment",t)).data}async update(t,e){if(`${t}`=="")throw new g("comment_activity_id");return(await this.transport.patch(`/activity/comment/${encodeURI(t)}`,{comment:e})).data}async delete(t){if(`${t}`=="")throw new g("comment_activity_id");await this.transport.delete(`/activity/comment/${encodeURI(t)}`)}}class Lr extends P{constructor(t){super("directus_activity",t),this._comments=new Pr(this.transport)}get comments(){return this._comments}}class Nr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("id");return(await this.transport.get(`/assets/${t}`,{responseType:"stream"})).raw}}class qr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/collections/${t}`)).data}async readAll(){const{data:t,meta:e}=await this.transport.get("/collections");return{data:t,meta:e}}async createOne(t){return(await this.transport.post("/collections",t)).data}async createMany(t){const{data:e,meta:r}=await this.transport.post("/collections",t);return{data:e,meta:r}}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");return(await this.transport.patch(`/collections/${t}`,e,{params:r})).data}async deleteOne(t){if(`${t}`=="")throw new g("collection");await this.transport.delete(`/collections/${t}`)}}class Br{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/fields/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return{data:(await this.transport.get(`/fields/${t}`)).data,meta:void 0}}async readAll(){return{data:(await this.transport.get("/fields")).data,meta:void 0}}async createOne(t,e){if(`${t}`=="")throw new g("collection");return(await this.transport.post(`/fields/${t}`,e)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/fields/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/fields/${t}/${e}`)}}class Ur extends P{constructor(t){super("directus_files",t)}async import(t){return(await this.transport.post("/files/import",t)).data}}class Mr extends P{constructor(t){super("directus_folders",t)}}class Fr extends P{constructor(t){super("directus_permissions",t)}}class Hr extends P{constructor(t){super("directus_presets",t)}}class jr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/relations/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/relations/${t}`)).data}async readAll(){return(await this.transport.get("/relations")).data}async createOne(t){return(await this.transport.post("/relations",t)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/relations/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/relations/${t}/${e}`)}}class Wr extends P{constructor(t){super("directus_revisions",t)}}class zr extends P{constructor(t){super("directus_roles",t)}}class Zr{constructor(t){this.transport=t}async ping(){return(await this.transport.get("/server/ping")).raw}async info(){return(await this.transport.get("/server/info")).data}async oas(){return(await this.transport.get("/server/specs/oas")).raw}}class Qe{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async read(t){return(await this.transport.get(`${this.endpoint}`,{params:t})).data}async update(t,e){return(await this.transport.patch(`${this.endpoint}`,t,{params:e})).data}}class Vr extends Qe{constructor(t){super("directus_settings",t)}}class Gr{constructor(t){this.transport=t}async send(t,e,r){await this.transport.post("/users/invite",{email:t,role:e,invite_url:r})}async accept(t,e){await this.transport.post("/users/invite/accept",{token:t,password:e})}}class Jr{constructor(t){this.transport=t}async generate(t){return(await this.transport.post("/users/me/tfa/generate",{password:t})).data}async enable(t,e){await this.transport.post("/users/me/tfa/enable",{secret:t,otp:e})}async disable(t){await this.transport.post("/users/me/tfa/disable",{otp:t})}}class Xr{constructor(t){this._transport=t}get tfa(){return this._tfa||(this._tfa=new Jr(this._transport))}async read(t){return(await this._transport.get("/users/me",{params:t})).data}async update(t,e){return(await this._transport.patch("/users/me",t,{params:e})).data}}class Kr extends P{constructor(t){super("directus_users",t)}get invites(){return this._invites||(this._invites=new Gr(this.transport))}get me(){return this._me||(this._me=new Xr(this.transport))}}class Yr{constructor(t){this.random={string:async(e=32)=>(await this.transport.get("/utils/random/string",{params:{length:e}})).data},this.hash={generate:async e=>(await this.transport.post("/utils/hash/generate",{string:e})).data,verify:async(e,r)=>(await this.transport.post("/utils/hash/verify",{string:e,hash:r})).data},this.transport=t}async sort(t,e,r){await this.transport.post(`/utils/sort/${encodeURI(t)}`,{item:e,to:r})}async revert(t){await this.transport.post(`/utils/revert/${encodeURI(t)}`)}}class ts{}class Lt{}class Y extends Error{constructor(t,e){var r,i;!((r=e==null?void 0:e.errors)===null||r===void 0)&&r.length?super((i=e==null?void 0:e.errors[0])===null||i===void 0?void 0:i.message):super((t==null?void 0:t.message)||"Unknown transport error"),this.parent=t,this.response=e,this.errors=(e==null?void 0:e.errors)||[],Object.values(e||{}).some(n=>n!==void 0)||(this.response=void 0),Object.setPrototypeOf(this,Y.prototype)}}var E;(function(s){s.AuthToken="auth_token",s.RefreshToken="auth_refresh_token",s.Expires="auth_expires",s.ExpiresAt="auth_expires_at"})(E||(E={}));class es extends ts{constructor(t){var e;super(),this.prefix=(e=t==null?void 0:t.prefix)!==null&&e!==void 0?e:""}get auth_token(){return this.get(E.AuthToken)}set auth_token(t){t===null?this.delete(E.AuthToken):this.set(E.AuthToken,t)}get auth_expires(){const t=this.get(E.Expires);return t===null?null:parseInt(t)}set auth_expires(t){t===null?this.delete(E.Expires):this.set(E.Expires,t.toString())}get auth_expires_at(){const t=this.get(E.ExpiresAt);return t===null?null:parseInt(t)}set auth_expires_at(t){t===null?this.delete(E.ExpiresAt):this.set(E.ExpiresAt,t.toString())}get auth_refresh_token(){return this.get(E.RefreshToken)}set auth_refresh_token(t){t===null?this.delete(E.RefreshToken):this.set(E.RefreshToken,t)}}class Qr extends es{constructor(){super(...arguments),this.values={}}get(t){const e=this.key(t);return e in this.values?this.values[e]:null}set(t,e){return this.values[this.key(t)]=e,e}delete(t){const e=this.get(t);return delete this.values[this.key(t)],e}key(t){return`${this.prefix}${t}`}}class ti extends es{get(t){const e=localStorage.getItem(this.key(t));return e!==null?e:null}set(t,e){return localStorage.setItem(this.key(t),e),e}delete(t){const e=this.get(t);return localStorage.removeItem(this.key(t)),e}key(t){return`${this.prefix}${t}`}}class ei extends Lt{constructor(t){var e;super(),this.config=t,this.axios=we.create({baseURL:this.config.url,params:this.config.params,headers:this.config.headers,onUploadProgress:this.config.onUploadProgress,maxBodyLength:this.config.maxBodyLength,maxContentLength:this.config.maxContentLength,withCredentials:!0}),!((e=this.config)===null||e===void 0)&&e.beforeRequest&&(this.beforeRequest=this.config.beforeRequest)}async beforeRequest(t){return t}get url(){return this.config.url}async request(t,e,r,i){var n,a,l,u,h;try{let d={method:t,url:e,data:r,params:i==null?void 0:i.params,headers:i==null?void 0:i.headers,responseType:i==null?void 0:i.responseType,onUploadProgress:i==null?void 0:i.onUploadProgress};d=await this.beforeRequest(d);const c=await this.axios.request(d),o={raw:c.data,status:c.status,statusText:c.statusText,headers:c.headers,data:c.data.data,meta:c.data.meta,errors:c.data.errors};if(c.data.errors)throw new Y(null,o);return o}catch(d){if(!d||!(d instanceof Error))throw d;if(we.isAxiosError(d)){const c=(n=d.response)===null||n===void 0?void 0:n.data;throw new Y(d,{raw:(a=d.response)===null||a===void 0?void 0:a.data,status:(l=d.response)===null||l===void 0?void 0:l.status,statusText:(u=d.response)===null||u===void 0?void 0:u.statusText,headers:(h=d.response)===null||h===void 0?void 0:h.headers,data:c==null?void 0:c.data,meta:c==null?void 0:c.meta,errors:c==null?void 0:c.errors})}throw new Y(d)}}async get(t,e){return await this.request("get",t,void 0,e)}async head(t,e){return await this.request("head",t,void 0,e)}async options(t,e){return await this.request("options",t,void 0,e)}async delete(t,e,r){return await this.request("delete",t,e,r)}async put(t,e,r){return await this.request("put",t,e,r)}async post(t,e,r){return await this.request("post",t,e,r)}async patch(t,e,r){return await this.request("patch",t,e,r)}}class si{constructor(t){this.transport=t}async request(t,e){await this.transport.post("/auth/password/request",{email:t,reset_url:e})}async reset(t,e){await this.transport.post("/auth/password/reset",{token:t,password:e})}}class ri extends Ye{constructor(t){var e,r,i;super(),this.autoRefresh=!0,this.msRefreshBeforeExpires=3e4,this.staticToken="",this._transport=t.transport,this._storage=t.storage,this.autoRefresh=(e=t==null?void 0:t.autoRefresh)!==null&&e!==void 0?e:this.autoRefresh,this.mode=(r=t==null?void 0:t.mode)!==null&&r!==void 0?r:this.mode,this.msRefreshBeforeExpires=(i=t==null?void 0:t.msRefreshBeforeExpires)!==null&&i!==void 0?i:this.msRefreshBeforeExpires,t!=null&&t.staticToken&&(this.staticToken=t==null?void 0:t.staticToken,this.updateStorage({access_token:this.staticToken,expires:null,refresh_token:null}))}get storage(){return this._storage}get transport(){return this._transport}get token(){return(async()=>{if(this._refreshPromise)try{await this._refreshPromise}finally{this._refreshPromise=void 0}return this._storage.auth_token})()}get password(){return this.passwords=this.passwords||new si(this._transport)}resetStorage(){this._storage.auth_token=null,this._storage.auth_refresh_token=null,this._storage.auth_expires=null,this._storage.auth_expires_at=null}updateStorage(t){var e,r;const i=(e=t.expires)!==null&&e!==void 0?e:null;this._storage.auth_token=t.access_token,this._storage.auth_refresh_token=(r=t.refresh_token)!==null&&r!==void 0?r:null,this._storage.auth_expires=i,this._storage.auth_expires_at=new Date().getTime()+(i??0)}async refreshIfExpired(){if(!this.staticToken&&this.autoRefresh){if(!this._storage.auth_expires_at){try{await this._refreshPromise}finally{this._refreshPromise=void 0}return}this._storage.auth_expires_at{var e;const r=this._storage.auth_refresh_token;this.resetStorage();const i=await this._transport.post("/auth/refresh",{refresh_token:this.mode==="json"?r:void 0});return this.updateStorage(i.data),{access_token:i.data.access_token,...((e=i.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:i.data.refresh_token},expires:i.data.expires}};return this._refreshPromise=t()}async login(t){var e;this.resetStorage();const r=await this._transport.post("/auth/login",{mode:this.mode,...t},{headers:{Authorization:null}});return this.updateStorage(r.data),{access_token:r.data.access_token,...((e=r.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:r.data.refresh_token},expires:r.data.expires}}async static(t){return this.staticToken||(this.staticToken=t),await this._transport.get("/users/me",{params:{access_token:t},headers:{Authorization:null}}),this.updateStorage({access_token:t,expires:null,refresh_token:null}),!0}async logout(){let t;this.mode==="json"&&(t=this._storage.auth_refresh_token||void 0),await this._transport.post("/auth/logout",{refresh_token:t}),this.updateStorage({access_token:null,expires:null,refresh_token:null})}}class ii{constructor(t){this.transport=t}async request(t,e,r){return await this.transport.post(t,{query:e,variables:typeof r>"u"?{}:r})}async items(t,e){return await this.request("/graphql",t,e)}async system(t,e){return await this.request("/graphql/system",t,e)}}class ni{constructor(t,e){var r,i,n,a,l,u,h,d,c;if(this._url=t,this._options=e,this._items={},this._singletons={},!((r=this._options)===null||r===void 0)&&r.storage&&((i=this._options)===null||i===void 0?void 0:i.storage)instanceof ts)this._storage=this._options.storage;else{const o=(n=this._options)===null||n===void 0?void 0:n.storage,{mode:f,...m}=o??{};f==="MemoryStorage"||typeof window>"u"?this._storage=new Qr(m):this._storage=new ti(m)}!((a=this._options)===null||a===void 0)&&a.transport&&((l=this._options)===null||l===void 0?void 0:l.transport)instanceof Lt?this._transport=this._options.transport:this._transport=new ei({url:this.url,...(u=this._options)===null||u===void 0?void 0:u.transport,beforeRequest:async o=>{var f,m,y,T,k,A;this._url.indexOf("/auth/refresh")===-1&&((f=o.method)===null||f===void 0?void 0:f.toLowerCase())!=="post"&&await this._auth.refreshIfExpired();const I=this.storage.auth_token,et=I?I.startsWith("Bearer ")?String(this.storage.auth_token):`Bearer ${this.storage.auth_token}`:"",p={...o,headers:{Authorization:et,...o.headers}};return!(((m=this._options)===null||m===void 0?void 0:m.transport)instanceof Lt)&&(!((T=(y=this._options)===null||y===void 0?void 0:y.transport)===null||T===void 0)&&T.beforeRequest)?(A=(k=this._options)===null||k===void 0?void 0:k.transport)===null||A===void 0?void 0:A.beforeRequest(p):p}}),!((h=this._options)===null||h===void 0)&&h.auth&&((d=this._options)===null||d===void 0?void 0:d.auth)instanceof Ye?this._auth=this._options.auth:this._auth=new ri({transport:this._transport,storage:this._storage,...(c=this._options)===null||c===void 0?void 0:c.auth})}get url(){return this._url}get auth(){return this._auth}get storage(){return this._storage}get transport(){return this._transport}get assets(){return this._assets||(this._assets=new Nr(this.transport))}get activity(){return this._activity||(this._activity=new Lr(this.transport))}get collections(){return this._collections||(this._collections=new qr(this.transport))}get fields(){return this._fields||(this._fields=new Br(this.transport))}get files(){return this._files||(this._files=new Ur(this.transport))}get folders(){return this._folders||(this._folders=new Mr(this.transport))}get permissions(){return this._permissions||(this._permissions=new Fr(this.transport))}get presets(){return this._presets||(this._presets=new Hr(this.transport))}get relations(){return this._relations||(this._relations=new jr(this.transport))}get revisions(){return this._revisions||(this._revisions=new Wr(this.transport))}get roles(){return this._roles||(this._roles=new zr(this.transport))}get users(){return this._users||(this._users=new Kr(this.transport))}get settings(){return this._settings||(this._settings=new Vr(this.transport))}get server(){return this._server||(this._server=new Zr(this.transport))}get utils(){return this._utils||(this._utils=new Yr(this.transport))}get graphql(){return this._graphql||(this._graphql=new ii(this.transport))}singleton(t){return this._singletons[t]||(this._singletons[t]=new Qe(t,this.transport))}items(t){return this._items[t]||(this._items[t]=new P(t,this.transport))}}const ai=new ni("https://db.chromatone.center"),Zt=os("access-granted",!1),xe=q(!1),Z=q(""),Ee=De(()=>/^[^@]+@\w+(\.\w+)+\w$/.test(Z.value));async function Se(s){const t={email:s};if(Zt.value=s,!xe.value){xe.value=!0;try{await ai.items("players").createOne(t)}catch(e){console.error(e)}}}const tt=q(!1);Pe(Zt,s=>{s&&(tt.value=!1)});const Te=q(!1),oi=JSON.parse('[{"id":1,"status":"published","sort":1,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:12:51.578Z","title":"Dotpiano","url":"https://dotpiano.com/","content":null,"img":"a55e9913-8d15-486d-9ab1-d4fe8c7fb5bf","category":null},{"id":3,"status":"published","sort":3,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:58:12.456Z","title":"TouchME by Chromatone","url":"https://touchme.chromatone.center/","content":null,"img":"67191ff8-1f6b-4ffb-9885-b0598c600981","category":null},{"id":14,"status":"published","sort":4,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:13.331Z","title":"Juno-106","url":"http://juno-106.js.org/","content":null,"img":"45297e84-6b42-446b-8a56-024ff46542b7","category":null},{"id":26,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:42.487Z","title":"Learning synths with Ableton","url":"https://learningsynths.ableton.com/","content":null,"img":"110d33fe-8c5f-4502-aaf9-6458f2119d33","category":3},{"id":30,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-30T02:33:18.609Z","title":"DX7 Synth","url":"https://mmontag.github.io/dx7-synth-js/","content":null,"img":"33b1ee5c-77f0-4fb7-86ef-d8687532688b","category":2},{"id":32,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T08:49:56.166Z","title":"Sampler synth","url":"https://play.playtronica.com/","content":null,"img":"d7b750b3-2206-46fe-a2df-d7da6b8faccd","category":null},{"id":10,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:14:42.904Z","title":"Websynths","url":"http://websynths.com/","content":null,"img":"2fd87e78-0cad-44b7-bf02-44deaf12deaa","category":null},{"id":19,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:26.708Z","title":"Theremin","url":"https://www.femurdesign.com/theremin/","content":null,"img":"1fb860e8-199e-4cd2-98f0-a718e8a6378d","category":null},{"id":22,"status":"published","sort":7,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:55.478Z","title":"Disco-computer","url":"http://www.disco-computer.com/synthesizer/synth.html","content":null,"img":"fd019ff3-512a-49b9-923d-a899e50938d5","category":null},{"id":29,"status":"published","sort":8,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-20T09:19:52.499Z","title":"Elementary synth","url":"https://chromatone.center/practice/midi/synth/","content":null,"img":"e204f6f4-2534-4587-93c9-1f3ad11de771","category":3},{"id":31,"status":"published","sort":12,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T05:38:18.890Z","title":"Video Sampler","url":"https://seeing-sound.netlify.app/","content":null,"img":"24b816fc-b3bd-4b76-9e15-1765bec844ce","category":3},{"id":27,"status":"published","sort":14,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:18.081Z","title":"Viktor NV-1","url":"http://nicroto.github.io/viktor/","content":null,"img":"47059c44-1e73-4578-bd8d-2a85676d6a6c","category":null},{"id":17,"status":"published","sort":30,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:26.088Z","title":"Sound Trap","url":"https://www.soundtrap.com/","content":null,"img":"73e783f3-84b7-430d-9a89-b1ee2fe69050","category":1},{"id":6,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:11:50.949Z","title":"MIDI–driven Web Audio","url":"https://webaudiodemos.appspot.com/midi-synth/index.html","content":null,"img":"aa8959b0-e5af-4055-8d65-276c42135c9b","category":null},{"id":8,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:23.936Z","title":"Meet the Heisenberg","url":"https://www.audiotool.com/product/device/heisenberg/","content":null,"img":"31b1a269-323a-4afe-8262-fd6ff566b136","category":null},{"id":9,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:45.798Z","title":"Cardboard Synth","url":"https://www.gsn-lib.org/apps/cardboardsynth/index.html","content":null,"img":"a737a01c-d552-44d4-ae6f-736b967333b9","category":null},{"id":11,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:04.832Z","title":"Tanguy synth","url":"http://tanguysynth.com/","content":null,"img":"cf55e3e1-0b91-4e0c-b97d-d392e242736c","category":null},{"id":12,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:25.991Z","title":"MOD synth","url":"http://mod-synth.io/","content":null,"img":"724e5054-3e1e-4ed7-b2e0-09fa78358f2d","category":null},{"id":13,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:53.105Z","title":"OLIF SY1K","url":"http://perso.numericable.fr/olivier.friker/synth/O3-synth%20V1.3.html","content":null,"img":"353b4bea-4458-4f7d-ab2d-e8cb3927fd2b","category":null},{"id":15,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:31.831Z","title":"Note Sculptor","url":"http://www.noisesculptor.com/","content":null,"img":"d2d23b94-d822-4e9e-9632-e57b96f66213","category":null},{"id":16,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:03.314Z","title":"WebAudioSynth V2","url":"http://aikelab.net/websynthv2/","content":null,"img":"c1192dc4-38a5-45af-9087-165478fffbc4","category":2},{"id":18,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:47.206Z","title":"Samplestich","url":"http://samplestitch.com.s3-website-us-east-1.amazonaws.com/","content":null,"img":"fc617933-8038-46bc-a71c-794cce369003","category":3},{"id":20,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:49.043Z","title":"Omni","url":"https://femurdesign.com/omni/","content":null,"img":"4329ecec-c6bd-4892-bc5d-1c60ebf85db6","category":null},{"id":21,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:10.192Z","title":"Web Modular","url":"https://www.g200kg.com/docs/webmodular/","content":null,"img":"ab06d1f0-0962-469c-9173-1d1b0c323da4","category":null},{"id":23,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:24.249Z","title":"Online sequencer","url":"https://onlinesequencer.net/369477","content":null,"img":"dfe830f4-6fc9-4c70-9355-266066d57e84","category":null},{"id":24,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:54.765Z","title":"PixelSynth","url":"https://ojack.github.io/PIXELSYNTH/","content":null,"img":"57a70c4c-a745-4d76-acc1-f60605b2e620","category":null},{"id":25,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:19.769Z","title":"Acid Machine 2","url":"http://errozero.co.uk/acid-machine/","content":null,"img":"006c8dc8-29f6-4451-ae69-4d4e14b69fc1","category":null},{"id":28,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:38.864Z","title":"WebSID Commodore 64","url":"http://www.igorski.nl/experiment/websid","content":null,"img":"0c43f116-2478-4306-af3c-afd5a869b7a3","category":null}]'),li=F({inject:["manager"],props:{index:{type:Number,required:!0},disabled:{type:Boolean,default:!1}},data(){return{}},watch:{index(s){this.$el&&this.$el.sortableInfo&&(this.$el.sortableInfo.index=s)},disabled(s){s?this.removeDraggable():this.setDraggable(this.index)}},mounted(){const{disabled:s,index:t}=this.$props;s||this.setDraggable(t)},beforeUnmount(){this.disabled||this.removeDraggable()},methods:{setDraggable(s){const t=this.$el;t.sortableInfo={index:s,manager:this.manager},this.ref={node:t},this.manager.add(this.ref)},removeDraggable(){this.manager.remove(this.ref)}}});class ui{constructor(){this.refs=[],this.active=null}add(t){this.refs||(this.refs=[]),this.refs.push(t)}remove(t){const e=this.getIndex(t);e!==-1&&this.refs.splice(e,1)}isActive(){return!!this.active}getActive(){return this.refs.find(({node:t})=>{var e,r;return((e=t==null?void 0:t.sortableInfo)===null||e===void 0?void 0:e.index)==((r=this===null||this===void 0?void 0:this.active)===null||r===void 0?void 0:r.index)})||null}getIndex(t){return this.refs.indexOf(t)}getRefs(){return this.refs}getOrderedRefs(){return this.refs.sort((t,e)=>t.node.sortableInfo.index-e.node.sortableInfo.index)}}const Q=s=>s.touches!=null;function Nt(s,t){return!!s&&Object.prototype.hasOwnProperty.call(s,t)}function hi(s,t,e){const r=s.slice(0);if(e>=r.length){let i=e-r.length;for(;i--+1;)r.push(void 0)}return r.splice(e,0,r.splice(t,1)[0]),r}function di(s,t){const e=s.slice(0);return t>=e.length||e.splice(t,1),e}function ci(s,t,e){const r=s.slice(0);return t===r.length?r.push(e):r.splice(t,0,e),r}const L={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","mouseup"],cancel:["touchcancel","keyup"]};function Oe(s,t){for(;s;){if(t(s))return s;s=s.parentNode}}function $e(s,t,e){return et?t:e}function st(s){return s.substr(-2)==="px"?parseFloat(s):0}function Re(s){const t=window.getComputedStyle(s);return{top:st(t.marginTop),right:st(t.marginRight),bottom:st(t.marginBottom),left:st(t.marginLeft)}}function rt(s,t="page"){const e=`${t}X`,r=`${t}Y`;return{x:Q(s)?s.touches[0][e]:s[e],y:Q(s)?s.touches[0][r]:s[r]}}function Ce(s){const t=[s];for(;s;s=s.offsetParent)t.unshift(s);return t}function fi(s,t){const e=Ce(s),r=Ce(t);if(e[0]!=r[0])throw"No common ancestor!";for(let i=0;i{i.type!=="file"&&t[n]&&(i.value=t[n].value)}),e}function pi(s,t,e){if(typeof s=="string"&&(s=+s),Array.isArray(s)||(s=[s,s]),s.length!==2)throw new Error(`lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given ${s}`);const[r,i]=s;return[Ae(r,t,e),Ae(i,t,e)]}function Ae(s,t,e){let r=s,i=s,n="px";if(typeof s=="string"){const a=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(s);if(a===null)throw new Error(`lockOffset value should be a number or a string of a number followed by "px" or "%". Given ${s}`);r=i=parseFloat(s),n=a[1]}if(!isFinite(r)||!isFinite(i))throw new Error(`lockOffset value should be a finite. Given ${s}`);return n==="%"&&(r=r*t/100,i=i*e/100),{x:r,y:i}}function Ie(s=[]){for(let t=0,e=s.length;t[]},lockAxis:{type:String,default:""},helperClass:{type:String,default:""},contentWindow:{type:Object,default:null},shouldCancelStart:{type:Function,default:s=>["input","textarea","select","option","button"].indexOf(s.target.tagName.toLowerCase())!==-1},getHelperDimensions:{type:Function,default:({node:s})=>({width:s.offsetWidth,height:s.offsetHeight})}},emits:["sort-start","sort-move","sort-end","sort-cancel","sort-insert","sort-remove","update:list"],data(){let s=!1;return this.group&&this.SlicksortHub&&(s=!0),{sorting:!1,hub:s?this.SlicksortHub:null,manager:new ui}},mounted(){this.hub&&(this.id=this.hub.getId()),this.container=this.$el,this.document=this.container.ownerDocument||document,this._window=this.contentWindow||window,this.scrollContainer=this.useWindowAsScrollContainer?{scrollLeft:0,scrollTop:0}:this.container,this.events={start:this.handleStart,move:this.handleMove,end:this.handleEnd};for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.addEventListener(t,this.events[s]));this.hub&&this.hub.addContainer(this)},beforeUnmount(){for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.removeEventListener(t,this.events[s]));this.hub&&this.hub.removeContainer(this),this.dragendTimer&&clearTimeout(this.dragendTimer),this.cancelTimer&&clearTimeout(this.cancelTimer),this.pressTimer&&clearTimeout(this.pressTimer),this.autoscrollInterval&&clearInterval(this.autoscrollInterval)},methods:{handleStart(s){const{distance:t,shouldCancelStart:e}=this.$props;if(!Q(s)&&s.button===2||e(s))return!1;this._touched=!0,this._pos=rt(s);const r=s.target,i=Oe(r,n=>n.sortableInfo!=null);if(i&&i.sortableInfo&&this.nodeIsChild(i)&&!this.sorting){const{useDragHandle:n}=this.$props,{index:a}=i.sortableInfo;if(n&&!Oe(r,l=>l.sortableHandle!=null))return;this.manager.active={index:a},r.tagName.toLowerCase()==="a"&&s.preventDefault(),t||(this.pressDelay===0?this.handlePress(s):this.pressTimer=At(()=>this.handlePress(s),this.pressDelay))}},nodeIsChild(s){return s.sortableInfo.manager===this.manager},handleMove(s){const{distance:t,pressThreshold:e}=this.$props;if(!this.sorting&&this._touched){const r=rt(s);this._delta={x:this._pos.x-r.x,y:this._pos.y-r.y};const i=Math.abs(this._delta.x)+Math.abs(this._delta.y);!t&&(!e||e&&i>=e)?(this.cancelTimer&&clearTimeout(this.cancelTimer),this.cancelTimer=At(this.cancel,0)):t&&i>=t&&this.manager.isActive()&&this.handlePress(s)}},handleEnd(){if(!this._touched)return;const{distance:s}=this.$props;this._touched=!1,s||this.cancel()},cancel(){this.sorting||(this.pressTimer&&clearTimeout(this.pressTimer),this.manager.active=null,this.hub&&this.hub.cancel())},handleSortCancel(s){(Q(s)||s.key===this.cancelKey)&&(this.newIndex=this.index,this.canceling=!0,this.translate={x:0,y:0},this.animateNodes(),this.handleSortEnd(s))},handlePress(s){s.stopPropagation();const t=this.manager.getActive();if(t){const{getHelperDimensions:e,helperClass:r,hideSortableGhost:i,appendTo:n}=this.$props,{node:a}=t,{index:l}=a.sortableInfo,u=Re(a),h=this.container.getBoundingClientRect(),d=e({index:l,node:a});this.node=a,this.margin=u,this.width=d.width,this.height=d.height,this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this.boundingClientRect=a.getBoundingClientRect(),this.containerBoundingRect=h,this.index=l,this.newIndex=l;const c=ke(a);this.helper=this.document.querySelector(n).appendChild(c),this.helper.style.position="fixed",this.helper.style.top=`${this.boundingClientRect.top-u.top}px`,this.helper.style.left=`${this.boundingClientRect.left-u.left}px`,this.helper.style.width=`${this.width}px`,this.helper.style.height=`${this.height}px`,this.helper.style.boxSizing="border-box",this.helper.style.pointerEvents="none",i&&(this.sortableGhost=a,a.style.visibility="hidden",a.style.opacity="0"),this.hub&&(this.hub.sortStart(this),this.hub.helper=this.helper,this.hub.ghost=this.sortableGhost),this.intializeOffsets(s,this.boundingClientRect),this.offsetEdge=U(a,this.container),r&&this.helper.classList.add(...r.split(" ")),this.listenerNode=Q(s)?a:this._window,L.move.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortMove)),L.end.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortEnd)),L.cancel.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortCancel)),this.sorting=!0,this.$emit("sort-start",{event:s,node:a,index:l})}},handleSortMove(s){if(s.preventDefault(),this.updatePosition(s),this.hub){const t=this.list[this.index];this.hub.handleSortMove(s,t)}(!this.hub||this.hub.isDest(this))&&(this.animateNodes(),this.autoscroll()),this.$emit("sort-move",{event:s})},handleDropOut(){const s=this.list[this.index],t=di(this.list,this.index);return this.$emit("sort-remove",{oldIndex:this.index}),this.$emit("update:list",t),s},handleDropIn(s){const t=ci(this.list,this.newIndex,s);this.$emit("sort-insert",{newIndex:this.newIndex,value:s}),this.$emit("update:list",t),this.handleDragEnd()},handleDragOut(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),this.hub.isSource(this)?(this.translate={x:1e4,y:1e4},this.animateNodes()):(this.manager.getRefs().forEach(s=>{s.node.style.transform=""}),this.dragendTimer=At(this.handleDragEnd,this.transitionDuration||0))},handleDragEnd(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),Ie(this.manager.getRefs()),this.sortableGhost&&(this.sortableGhost.remove(),this.sortableGhost=null),this.dragendTimer&&(clearTimeout(this.dragendTimer),this.dragendTimer=null),this.manager.active=null,this._touched=!1,this.sorting=!1},intializeOffsets(s,t){const{useWindowAsScrollContainer:e,containerBoundingRect:r,_window:i}=this;this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this._axis={x:this.axis.indexOf("x")>=0,y:this.axis.indexOf("y")>=0},this.initialOffset=rt(s),this.initialScroll={top:this.scrollContainer.scrollTop,left:this.scrollContainer.scrollLeft},this.initialWindowScroll={top:window.pageYOffset,left:window.pageXOffset},this.translate={x:0,y:0},this.minTranslate={},this.maxTranslate={},this._axis.x&&(this.minTranslate.x=(e?0:r.left)-t.left-this.width/2,this.maxTranslate.x=(e?i.innerWidth:r.left+r.width)-t.left-this.width/2),this._axis.y&&(this.minTranslate.y=(e?0:r.top)-t.top-this.height/2,this.maxTranslate.y=(e?i.innerHeight:r.top+r.height)-t.top-this.height/2)},handleDragIn(s,t,e){if(this.hub.isSource(this))return;this.dragendTimer&&(this.handleDragEnd(),clearTimeout(this.dragendTimer),this.dragendTimer=null);const r=this.manager.getRefs();this.index=r.length,this.manager.active={index:this.index};const i=this.container.getBoundingClientRect(),n=e.getBoundingClientRect();this.containerBoundingRect=i,this.sortableGhost=ke(t),this.container.appendChild(this.sortableGhost);const a=this.sortableGhost.getBoundingClientRect();this.boundingClientRect=a,this.margin=Re(this.sortableGhost),this.width=a.width,this.height=a.height,this.offsetEdge=U(this.sortableGhost,this.container),this.intializeOffsets(s,a),this.initialOffset.x+=a.x-n.x,this.initialOffset.y+=a.y-n.y,this.sorting=!0},handleSortEnd(s){this.listenerNode&&(L.move.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortMove)),L.end.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortEnd)),L.cancel.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortCancel)));const t=this.manager.getRefs();this.helper&&this.helperClass&&this.helper.classList.remove(...this.helperClass.split(" ")),this.autoscrollInterval&&clearInterval(this.autoscrollInterval),this.autoscrollInterval=null;const e=()=>{this.helper&&(this.helper.remove(),this.helper=null),this.hideSortableGhost&&this.sortableGhost&&(this.sortableGhost.style.visibility="",this.sortableGhost.style.opacity=""),Ie(t),this.hub&&!this.hub.isDest(this)?this.canceling?this.hub.cancel():this.hub.handleSortEnd():this.canceling?this.$emit("sort-cancel",{event:s}):(this.$emit("sort-end",{event:s,oldIndex:this.index,newIndex:this.newIndex}),this.$emit("update:list",hi(this.list,this.index,this.newIndex))),this.manager.active=null,this._touched=!1,this.canceling=!1,this.sorting=!1};this.transitionDuration||this.draggedSettlingDuration?this.transitionHelperIntoPlace(t,e):e()},transitionHelperIntoPlace(s,t){if(this.draggedSettlingDuration===0||s.length===0||!this.helper)return Promise.resolve();const e=s[this.index].node;let r=0,i=0;const n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};if(this.hub&&!this.hub.isDest(this)&&!this.canceling){const h=this.hub.getDest();if(!h)return;const d=h.newIndex,c=h.manager.getOrderedRefs(),o=d0?r+=h.offsetLeft+h.offsetWidth-(e.offsetLeft+e.offsetWidth):r+=h.offsetLeft-e.offsetLeft,i=-d.top,this.translate&&this.translate.y>0?i+=h.offsetTop+h.offsetHeight-(e.offsetTop+e.offsetHeight):i+=h.offsetTop-e.offsetTop}const a=this.draggedSettlingDuration!==null?this.draggedSettlingDuration:this.transitionDuration;qt(this.helper,`translate3d(${r}px,${i}px, 0)`,`${a}ms`);const l=h=>{(!h||h.propertyName==="transform")&&(clearTimeout(u),qt(this.helper),t())},u=setTimeout(l,a+10);this.helper.addEventListener("transitionend",l)},updatePosition(s){const{lockAxis:t,lockToContainerEdges:e}=this.$props,r=rt(s),i={x:r.x-this.initialOffset.x,y:r.y-this.initialOffset.y};if(i.y-=window.pageYOffset-this.initialWindowScroll.top,i.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=i,e){const[n,a]=pi(this.lockOffset,this.height,this.width),l={x:this.width/2-n.x,y:this.height/2-n.y},u={x:this.width/2-a.x,y:this.height/2-a.y};this.minTranslate.x&&this.maxTranslate.x&&(i.x=$e(this.minTranslate.x+l.x,this.maxTranslate.x-u.x,i.x)),this.minTranslate.y&&this.maxTranslate.y&&(i.y=$e(this.minTranslate.y+l.y,this.maxTranslate.y-u.y,i.y))}t==="x"?i.y=0:t==="y"&&(i.x=0),this.helper&&(this.helper.style.transform=`translate3d(${i.x}px,${i.y}px, 0)`)},animateNodes(){const{transitionDuration:s,hideSortableGhost:t}=this.$props,e=this.manager.getOrderedRefs(),r={left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top},i={left:this.offsetEdge.left+this.translate.x+r.left,top:this.offsetEdge.top+this.translate.y+r.top},n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};this.newIndex=null;for(let a=0,l=e.length;ad?d/2:this.width/2,height:this.height>c?c/2:this.height/2},f={x:0,y:0};let{edgeOffset:m}=e[a];m||(e[a].edgeOffset=m=U(u,this.container));const y=a0&&e[a-1];if(y&&!y.edgeOffset&&(y.edgeOffset=U(y.node,this.container)),h===this.index){t&&(this.sortableGhost=u,u.style.visibility="hidden",u.style.opacity="0");continue}s&&(u.style.transitionDuration=`${s}ms`),this._axis.x?this._axis.y?hthis.containerBoundingRect.width-o.width&&y&&(f.x=y.edgeOffset.left-m.left,f.y=y.edgeOffset.top-m.top),this.newIndex===null&&(this.newIndex=h)):h>this.index&&(i.left+n.left+o.width>=m.left&&i.top+n.top+o.height>=m.top||i.top+n.top+o.height>=m.top+c)&&(f.x=-(this.width+this.marginOffset.x),m.left+f.xthis.index&&i.left+n.left+o.width>=m.left?(f.x=-(this.width+this.marginOffset.x),this.newIndex=h):hthis.index&&i.top+n.top+o.height>=m.top?(f.y=-(this.height+this.marginOffset.y),this.newIndex=h):h=this.maxTranslate.y-this.height/2?(t.y=1,e.y=r.y*Math.abs((this.maxTranslate.y-this.height/2-s.y)/this.height)):s.x>=this.maxTranslate.x-this.width/2?(t.x=1,e.x=r.x*Math.abs((this.maxTranslate.x-this.width/2-s.x)/this.width)):s.y<=this.minTranslate.y+this.height/2?(t.y=-1,e.y=r.y*Math.abs((s.y-this.height/2-this.minTranslate.y)/this.height)):s.x<=this.minTranslate.x+this.width/2&&(t.x=-1,e.x=r.x*Math.abs((s.x-this.width/2-this.minTranslate.x)/this.width)),this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),(t.x!==0||t.y!==0)&&(this.autoscrollInterval=window.setInterval(()=>{const i={left:1*e.x*t.x,top:1*e.y*t.y};this.useWindowAsScrollContainer?this._window.scrollBy(i.left,i.top):(this.scrollContainer.scrollTop+=i.top,this.scrollContainer.scrollLeft+=i.left),this.translate.x+=i.left,this.translate.y+=i.top,this.animateNodes()},5))}}}),ss=F({name:"SlickItem",mixins:[li],props:{tag:{type:String,default:"div"}},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),gi=F({name:"SlickList",mixins:[mi],props:{tag:{type:String,default:"div"},itemKey:{type:[String,Function],default:"id"}},render(){var s,t;return this.$slots.item?K(this.tag,this.list.map((e,r)=>{let i;if(e!=null){if(typeof this.itemKey=="function")i=this.itemKey(e);else if(typeof e=="object"&&Nt(e,this.itemKey)&&typeof e[this.itemKey]=="string")i=e[this.itemKey];else if(typeof e=="string")i=e;else throw new Error("Cannot find key for item, use the item-key prop and pass a function or string");return K(ss,{key:i,index:r},{default:()=>{var n,a;return(a=(n=this.$slots).item)===null||a===void 0?void 0:a.call(n,{item:e,index:r})}})}})):K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),vi=F({props:{tag:{type:String,default:"span"}},mounted(){this.$el.sortableHandle=!0},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),yi={key:0,d:"M30.336 12.547l-10.172-1.074L16 2.133l-4.164 9.34l-10.172 1.074l7.598 6.848L7.14 29.398L16 24.29l8.86 5.11l-2.122-10.004z",fill:"#ffaa00"},bi={key:1,d:"M16 2.125l-.906 2.063l-3.25 7.28l-7.938.845l-2.25.25l1.688 1.5l5.906 5.343l-1.656 7.813l-.469 2.187l1.969-1.125l6.906-4l6.906 4l1.969 1.125l-.469-2.187l-1.656-7.813l5.906-5.343l1.688-1.5l-2.25-.25l-7.938-.844l-3.25-7.281zm0 4.906l2.563 5.782l.25.53l.562.063l6.281.656l-4.687 4.22l-.438.405l.125.563l1.313 6.156l-5.469-3.125l-.5-.312l-.5.312l-5.469 3.125l1.313-6.156l.125-.563l-.438-.406l-4.687-4.218l6.281-.657l.563-.062l.25-.531z",fill:"#888888"},wi=F({__name:"SynthFav",props:{url:{type:String,default:""}},setup(s){const e=ls("fav:"+s.url,!1);function r(i){e.value=!e.value,console.log(e.value)}return(i,n)=>(x(),$("svg",{onClick:n[0]||(n[0]=cs(a=>r(s.url),["stop","prevent"])),xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[w(e)?(x(),$("path",yi)):(x(),$("path",bi))]))}}),rs=s=>(ps("data-v-9a2748d8"),s=s(),ms(),s),_i=["src","alt"],xi=rs(()=>v("div",{class:"flex-1"},null,-1)),Ei={class:"p-4 flex items-center justify-between w-full"},Si={class:"text-md font-bold flex items-center gap-2 flex-1"},Ti={class:"flex-1"},Oi=rs(()=>v("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[v("path",{d:"M4 7v2h24V7zm0 8v2h24v-2zm0 8v2h24v-2z",fill:"#888888"})],-1)),$i=F({__name:"SynthCard",props:{off:{type:Boolean,default:!1},title:{type:String,default:""},description:{type:String,default:""},img:{type:String,default:""},url:{type:String,default:""}},setup(s){const t=s,e=q(null);Pe(Te,async i=>{try{(await fetch("https://corsproxy.io/?"+t.url)).status==200?e.value=!0:e.value=!1}catch{e.value=!1}});function r(){t.off?tt.value=!tt.value:window.open(t.url,"_blank")}return(i,n)=>{const a=fs("ClientOnly");return x(),$("button",{class:"flex flex-col text-left relative min-h-50 card p-0 bg-light-300 shadow-lg flex flex-col dark-bg-dark-300 -hover-translate-y-2px transition hover-shadow-xl rounded-xl overflow-hidden relative",onClick:r},[(x(),$("img",{key:s.title,height:"200",width:"1000",src:`/img/${s.title.toLowerCase().split(" ").join("-")}.webp`,alt:`${s.title} illustration`},null,8,_i)),xi,v("div",Ei,[v("div",Si,[v("div",Ti,It(s.title),1),w(Te)?(x(),$("div",{key:0,class:Le(["w-2 h-2 rounded-full shadow-inset",{"bg-green-500":e.value===!0,"bg-red-500":e.value===!1}])},null,2)):it("",!0),V(a,null,{default:D(()=>[V(wi,{class:"scale-70 w-10",url:s.url},null,8,["url"])]),_:1}),V(w(vi),{class:"scale-80 opacity-40 cursor-grab absolute top-2 right-2"},{default:D(()=>[Oi]),_:1})])])])}}});const Ri=gs($i,[["__scopeId","data-v-9a2748d8"]]);const Ci={class:"mx-auto p-4 max-w-75ch dark-text-light-200 text-center line-height-loose text-md intro md-text-lg pt-16"},ki={key:0,class:"p-2 flex flex-col mt-8"},Ai={class:"text-4xl font-bold"},Ii=v("div",{class:"text-lg"},"web synths",-1),Di={key:1,class:"p-2 flex flex-col mt-8"},Pi={class:"text-4xl font-bold"},Li=v("div",{class:"text-lg"},"web musicians",-1),Ni={__name:"MainPage",setup(s){const{share:t,isSupported:e}=us();function r(){t({title:"Web synths collection",text:"Look at this online synthesizer collection. No need to install anything - just your browser and any MIDI controller will do.",url:location.href})}const i=q(oi);function n(c){return!Zt.value&&c>5}const a=q([]),l=De(()=>a.value.length),u=hs(l),h=q(),d=ds(h);return vs(()=>{fetch("https://corsproxy.io/?https://db.chromatone.center/items/players?limit=-1").then(c=>c.json()).then(({data:c})=>a.value=c)}),(c,o)=>(x(),$(Jt,null,[V(w(gi),{class:"flex flex-wrap items-stretch gap-4 md-gap-6 m-2 lg-m-8",list:i.value,"onUpdate:list":o[0]||(o[0]=f=>i.value=f),axis:"xy","use-drag-handle":""},{default:D(()=>[(x(!0),$(Jt,null,ys(i.value,(f,m)=>(x(),Dt(w(ss),{class:"flex",style:{flex:"1 1 240px"},key:f.id,index:m},{default:D(()=>[(x(),Dt(Ri,{style:bs({opacity:n(m)?.8:1}),title:f.title,description:f.description,img:f.img,url:f.url,key:f.id,off:n(m)},null,8,["style","title","description","img","url","off"]))]),_:2},1032,["index"]))),128))]),_:1},8,["list"]),v("div",Ci,[nt(c.$slots,"default"),v("div",{class:"flex justify-center",ref_key:"counters",ref:h},[w(d)?(x(),$("div",ki,[v("div",Ai,It(i.value.length),1),Ii])):it("",!0),w(d)&&l.value>0?(x(),$("div",Di,[v("div",Pi,It(w(u).toFixed())+"+",1),Li])):it("",!0)],512),w(e)?(x(),$("button",{key:0,class:"py-2 px-4 mt-6 bg-light-800 shadow-lg rounded-lg cursor-pointer dark-bg-dark-800",onClick:o[1]||(o[1]=f=>r())},"Share now to save for later")):it("",!0)])],64))}};const qi={class:"fixed z-200 min-h-50dvh bottom-0 right-0 left-0 bg-light-800 bg-opacity-80 backdrop-blur flex flex-col items-center gap-4 justify-start dark-bg-dark-200 dark-bg-opacity-80 p-8 shadow"},Bi=v("path",{d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781L7.22 26.22L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z",fill:"#888888"},null,-1),Ui=[Bi],Mi={class:"flex flex-col gap-8 relative pt-8"},Fi={class:"text-center max-w-45ch",for:"email"},Hi={class:"flex gap-4 flex-wrap md-flex-nowrap"},ji=["disabled"],Wi={class:"text-xs opacity-60 text-center max-w-45ch mx-auto"},zi={__name:"TheForm",setup(s){return(t,e)=>(x(),Dt(Ss,{name:"slide"},{default:D(()=>[Xt(v("div",qi,[(x(),$("svg",{class:"absolute top-4 right-4 text-4xl cursor-pointer",onClick:e[0]||(e[0]=r=>tt.value=!1),xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 32 32"},Ui)),v("div",Mi,[v("label",Fi,[nt(t.$slots,"default")]),v("div",Hi,[Xt(v("input",{class:"flex-1 p-2 md-p-4 rounded-xl bg-light-200 shadow-md dark-bg-dark-400 flex-1",ref:"target",style:{flex:"10 1 200px"},"onUpdate:modelValue":e[1]||(e[1]=r=>_s(Z)?Z.value=r:null),id:"email",name:"email",type:"email",onKeydown:e[2]||(e[2]=xs(r=>w(Se)(w(Z)),["enter"])),placeholder:"your@gmail.com"},null,544),[[Es,w(Z)]]),v("button",{class:Le(["text-sm md-text-md p-2 font-bold md-p-4 rounded-xl shadow-xl hover-shadow-2xl transition -hover-translate-y-2px active-translate-y-0 active-shadow-md bg-green-400 dark-bg-green-700",{"grayscale-50":!w(Ee)}]),onClick:e[3]||(e[3]=r=>w(Se)(w(Z))),disabled:!w(Ee),style:{flex:"1 1 400px"}},[nt(t.$slots,"button",{},()=>[M("GET ACCESS")])],10,ji)]),v("div",Wi,[nt(t.$slots,"notice",{},()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")])])])],512),[[ws,w(tt)]])]),_:3}))}},Zi=v("h2",{class:"text-lg font-bold"},"Welcome to our free web synth collection!",-1),Vi=v("p",null,[v("a",{href:"https://playtronica.com",target:"_blank",rel:"noopener"},"Playtronica"),M(" is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. "),v("a",{href:"https://chromatone.center",target:"_blank",rel:"noopener"},"Chromatone"),M(" is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!")],-1),Ki=JSON.parse('{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","frontmatter":{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","date":"2023-06-22T00:00:00.000Z","layout":"home"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1690388893000}'),Gi={name:"index.md"},Yi=Object.assign(Gi,{setup(s){return(t,e)=>(x(),$("div",null,[V(Ni,null,{default:D(()=>[Zi,Vi]),_:1}),V(zi,null,{button:D(()=>[M("GET FULL ACCESS")]),notice:D(()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")]),default:D(()=>[M(" We are building a community of web-based musicians. Type in your e-mail to instantly get full access to the collection and occasionally receive community updates. ")]),_:1})]))}});export{Ki as __pageData,Yi as default}; +import{u as os,a as ls,b as us,c as hs,d as ds}from"./chunks/theme.1bdb9610.js";import{r as q,b as De,w as Pe,h as F,a2 as K,i as x,j as $,u as w,a0 as cs,I as fs,B as v,m as It,p as Le,x as nt,M as V,v as D,C as ps,D as ms,_ as gs,e as vs,J as Jt,K as ys,k as it,q as Dt,S as bs,a3 as Xt,a4 as ws,a5 as _s,Z as xs,a6 as Es,T as Ss,l as M}from"./chunks/framework.531526f4.js";function Ts(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Bt={exports:{}},Ne=function(t,e){return function(){for(var n=new Array(arguments.length),i=0;i"u"}function $s(s){return s!==null&&!lt(s)&&s.constructor!==null&&!lt(s.constructor)&&typeof s.constructor.isBuffer=="function"&&s.constructor.isBuffer(s)}var qe=H("ArrayBuffer");function Rs(s){var t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(s):t=s&&s.buffer&&qe(s.buffer),t}function Cs(s){return typeof s=="string"}function ks(s){return typeof s=="number"}function Be(s){return s!==null&&typeof s=="object"}function at(s){if(Mt(s)!=="object")return!1;var t=Object.getPrototypeOf(s);return t===null||t===Object.prototype}var As=H("Date"),Is=H("File"),Ds=H("Blob"),Ps=H("FileList");function Ht(s){return Ut.call(s)==="[object Function]"}function Ls(s){return Be(s)&&Ht(s.pipe)}function Ns(s){var t="[object FormData]";return s&&(typeof FormData=="function"&&s instanceof FormData||Ut.call(s)===t||Ht(s.toString)&&s.toString()===t)}var qs=H("URLSearchParams");function Bs(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,"")}function Us(){return typeof navigator<"u"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window<"u"&&typeof document<"u"}function jt(s,t){if(!(s===null||typeof s>"u"))if(typeof s!="object"&&(s=[s]),Ft(s))for(var e=0,r=s.length;e0;)i=r[n],a[i]||(t[i]=s[i],a[i]=!0);s=Object.getPrototypeOf(s)}while(s&&(!e||e(s,t))&&s!==Object.prototype);return t}function Ws(s,t,e){s=String(s),(e===void 0||e>s.length)&&(e=s.length),e-=t.length;var r=s.indexOf(t,e);return r!==-1&&r===e}function zs(s){if(!s)return null;var t=s.length;if(lt(t))return null;for(var e=new Array(t);t-- >0;)e[t]=s[t];return e}var Zs=function(s){return function(t){return s&&t instanceof s}}(typeof Uint8Array<"u"&&Object.getPrototypeOf(Uint8Array)),_={isArray:Ft,isArrayBuffer:qe,isBuffer:$s,isFormData:Ns,isArrayBufferView:Rs,isString:Cs,isNumber:ks,isObject:Be,isPlainObject:at,isUndefined:lt,isDate:As,isFile:Is,isBlob:Ds,isFunction:Ht,isStream:Ls,isURLSearchParams:qs,isStandardBrowserEnv:Us,forEach:jt,merge:Pt,extend:Ms,trim:Bs,stripBOM:Fs,inherits:Hs,toFlatObject:js,kindOf:Mt,kindOfTest:H,endsWith:Ws,toArray:zs,isTypedArray:Zs,isFileList:Ps},W=_;function Kt(s){return encodeURIComponent(s).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var Ue=function(t,e,r){if(!e)return t;var n;if(r)n=r(e);else if(W.isURLSearchParams(e))n=e.toString();else{var i=[];W.forEach(e,function(u,h){u===null||typeof u>"u"||(W.isArray(u)?h=h+"[]":u=[u],W.forEach(u,function(c){W.isDate(c)?c=c.toISOString():W.isObject(c)&&(c=JSON.stringify(c)),i.push(Kt(h)+"="+Kt(c))}))}),n=i.join("&")}if(n){var a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+n}return t},Vs=_;function ut(){this.handlers=[]}ut.prototype.use=function(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1};ut.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)};ut.prototype.forEach=function(t){Vs.forEach(this.handlers,function(r){r!==null&&t(r)})};var Gs=ut,Js=_,Xs=function(t,e){Js.forEach(t,function(n,i){i!==e&&i.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[i])})},Me=_;function G(s,t,e,r,n){Error.call(this),this.message=s,this.name="AxiosError",t&&(this.code=t),e&&(this.config=e),r&&(this.request=r),n&&(this.response=n)}Me.inherits(G,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var Fe=G.prototype,He={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach(function(s){He[s]={value:s}});Object.defineProperties(G,He);Object.defineProperty(Fe,"isAxiosError",{value:!0});G.from=function(s,t,e,r,n,i){var a=Object.create(Fe);return Me.toFlatObject(s,a,function(u){return u!==Error.prototype}),G.call(a,s.message,t,e,r,n),a.name=s.name,i&&Object.assign(a,i),a};var X=G,je={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},C=_;function Ks(s,t){t=t||new FormData;var e=[];function r(i){return i===null?"":C.isDate(i)?i.toISOString():C.isArrayBuffer(i)||C.isTypedArray(i)?typeof Blob=="function"?new Blob([i]):Buffer.from(i):i}function n(i,a){if(C.isPlainObject(i)||C.isArray(i)){if(e.indexOf(i)!==-1)throw Error("Circular reference detected in "+a);e.push(i),C.forEach(i,function(u,h){if(!C.isUndefined(u)){var d=a?a+"."+h:h,c;if(u&&!a&&typeof u=="object"){if(C.endsWith(h,"{}"))u=JSON.stringify(u);else if(C.endsWith(h,"[]")&&(c=C.toArray(u))){c.forEach(function(o){!C.isUndefined(o)&&t.append(d,r(o))});return}}n(u,d)}}),e.pop()}else t.append(a,r(i))}return n(s),t}var We=Ks,gt,Yt;function Ys(){if(Yt)return gt;Yt=1;var s=X;return gt=function(e,r,n){var i=n.config.validateStatus;!n.status||!i||i(n.status)?e(n):r(new s("Request failed with status code "+n.status,[s.ERR_BAD_REQUEST,s.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))},gt}var vt,Qt;function Qs(){if(Qt)return vt;Qt=1;var s=_;return vt=s.isStandardBrowserEnv()?function(){return{write:function(r,n,i,a,l,u){var h=[];h.push(r+"="+encodeURIComponent(n)),s.isNumber(i)&&h.push("expires="+new Date(i).toGMTString()),s.isString(a)&&h.push("path="+a),s.isString(l)&&h.push("domain="+l),u===!0&&h.push("secure"),document.cookie=h.join("; ")},read:function(r){var n=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(r){this.write(r,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),vt}var tr=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)},er=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t},sr=tr,rr=er,ze=function(t,e){return t&&!sr(e)?rr(t,e):e},yt,te;function nr(){if(te)return yt;te=1;var s=_,t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return yt=function(r){var n={},i,a,l;return r&&s.forEach(r.split(` +`),function(h){if(l=h.indexOf(":"),i=s.trim(h.substr(0,l)).toLowerCase(),a=s.trim(h.substr(l+1)),i){if(n[i]&&t.indexOf(i)>=0)return;i==="set-cookie"?n[i]=(n[i]?n[i]:[]).concat([a]):n[i]=n[i]?n[i]+", "+a:a}}),n},yt}var bt,ee;function ir(){if(ee)return bt;ee=1;var s=_;return bt=s.isStandardBrowserEnv()?function(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function i(a){var l=a;return e&&(r.setAttribute("href",l),l=r.href),r.setAttribute("href",l),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=i(window.location.href),function(l){var u=s.isString(l)?i(l):l;return u.protocol===n.protocol&&u.host===n.host}}():function(){return function(){return!0}}(),bt}var wt,se;function ht(){if(se)return wt;se=1;var s=X,t=_;function e(r){s.call(this,r??"canceled",s.ERR_CANCELED),this.name="CanceledError"}return t.inherits(e,s,{__CANCEL__:!0}),wt=e,wt}var _t,re;function ar(){return re||(re=1,_t=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}),_t}var xt,ne;function ie(){if(ne)return xt;ne=1;var s=_,t=Ys(),e=Qs(),r=Ue,n=ze,i=nr(),a=ir(),l=je,u=X,h=ht(),d=ar();return xt=function(o){return new Promise(function(m,y){var T=o.data,k=o.headers,A=o.responseType,I;function et(){o.cancelToken&&o.cancelToken.unsubscribe(I),o.signal&&o.signal.removeEventListener("abort",I)}s.isFormData(T)&&s.isStandardBrowserEnv()&&delete k["Content-Type"];var p=new XMLHttpRequest;if(o.auth){var ns=o.auth.username||"",is=o.auth.password?unescape(encodeURIComponent(o.auth.password)):"";k.Authorization="Basic "+btoa(ns+":"+is)}var ft=n(o.baseURL,o.url);p.open(o.method.toUpperCase(),r(ft,o.params,o.paramsSerializer),!0),p.timeout=o.timeout;function Vt(){if(p){var R="getAllResponseHeaders"in p?i(p.getAllResponseHeaders()):null,j=!A||A==="text"||A==="json"?p.responseText:p.response,B={data:j,status:p.status,statusText:p.statusText,headers:R,config:o,request:p};t(function(mt){m(mt),et()},function(mt){y(mt),et()},B),p=null}}if("onloadend"in p?p.onloadend=Vt:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(Vt)},p.onabort=function(){p&&(y(new u("Request aborted",u.ECONNABORTED,o,p)),p=null)},p.onerror=function(){y(new u("Network Error",u.ERR_NETWORK,o,p,p)),p=null},p.ontimeout=function(){var j=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",B=o.transitional||l;o.timeoutErrorMessage&&(j=o.timeoutErrorMessage),y(new u(j,B.clarifyTimeoutError?u.ETIMEDOUT:u.ECONNABORTED,o,p)),p=null},s.isStandardBrowserEnv()){var Gt=(o.withCredentials||a(ft))&&o.xsrfCookieName?e.read(o.xsrfCookieName):void 0;Gt&&(k[o.xsrfHeaderName]=Gt)}"setRequestHeader"in p&&s.forEach(k,function(j,B){typeof T>"u"&&B.toLowerCase()==="content-type"?delete k[B]:p.setRequestHeader(B,j)}),s.isUndefined(o.withCredentials)||(p.withCredentials=!!o.withCredentials),A&&A!=="json"&&(p.responseType=o.responseType),typeof o.onDownloadProgress=="function"&&p.addEventListener("progress",o.onDownloadProgress),typeof o.onUploadProgress=="function"&&p.upload&&p.upload.addEventListener("progress",o.onUploadProgress),(o.cancelToken||o.signal)&&(I=function(R){p&&(y(!R||R&&R.type?new h:R),p.abort(),p=null)},o.cancelToken&&o.cancelToken.subscribe(I),o.signal&&(o.signal.aborted?I():o.signal.addEventListener("abort",I))),T||(T=null);var pt=d(ft);if(pt&&["http","https","file"].indexOf(pt)===-1){y(new u("Unsupported protocol "+pt+":",u.ERR_BAD_REQUEST,o));return}p.send(T)})},xt}var Et,ae;function or(){return ae||(ae=1,Et=null),Et}var b=_,oe=Xs,le=X,lr=je,ur=We,hr={"Content-Type":"application/x-www-form-urlencoded"};function ue(s,t){!b.isUndefined(s)&&b.isUndefined(s["Content-Type"])&&(s["Content-Type"]=t)}function dr(){var s;return(typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(s=ie()),s}function cr(s,t,e){if(b.isString(s))try{return(t||JSON.parse)(s),b.trim(s)}catch(r){if(r.name!=="SyntaxError")throw r}return(e||JSON.stringify)(s)}var dt={transitional:lr,adapter:dr(),transformRequest:[function(t,e){if(oe(e,"Accept"),oe(e,"Content-Type"),b.isFormData(t)||b.isArrayBuffer(t)||b.isBuffer(t)||b.isStream(t)||b.isFile(t)||b.isBlob(t))return t;if(b.isArrayBufferView(t))return t.buffer;if(b.isURLSearchParams(t))return ue(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var r=b.isObject(t),n=e&&e["Content-Type"],i;if((i=b.isFileList(t))||r&&n==="multipart/form-data"){var a=this.env&&this.env.FormData;return ur(i?{"files[]":t}:t,a&&new a)}else if(r||n==="application/json")return ue(e,"application/json"),cr(t);return t}],transformResponse:[function(t){var e=this.transitional||dt.transitional,r=e&&e.silentJSONParsing,n=e&&e.forcedJSONParsing,i=!r&&this.responseType==="json";if(i||n&&b.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(i)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:or()},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};b.forEach(["delete","get","head"],function(t){dt.headers[t]={}});b.forEach(["post","put","patch"],function(t){dt.headers[t]=b.merge(hr)});var Wt=dt,fr=_,pr=Wt,mr=function(t,e,r){var n=this||pr;return fr.forEach(r,function(a){t=a.call(n,t,e)}),t},St,he;function Ze(){return he||(he=1,St=function(t){return!!(t&&t.__CANCEL__)}),St}var de=_,Tt=mr,gr=Ze(),vr=Wt,yr=ht();function Ot(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new yr}var br=function(t){Ot(t),t.headers=t.headers||{},t.data=Tt.call(t,t.data,t.headers,t.transformRequest),t.headers=de.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),de.forEach(["delete","get","head","post","put","patch","common"],function(n){delete t.headers[n]});var e=t.adapter||vr.adapter;return e(t).then(function(n){return Ot(t),n.data=Tt.call(t,n.data,n.headers,t.transformResponse),n},function(n){return gr(n)||(Ot(t),n&&n.response&&(n.response.data=Tt.call(t,n.response.data,n.response.headers,t.transformResponse))),Promise.reject(n)})},O=_,Ve=function(t,e){e=e||{};var r={};function n(d,c){return O.isPlainObject(d)&&O.isPlainObject(c)?O.merge(d,c):O.isPlainObject(c)?O.merge({},c):O.isArray(c)?c.slice():c}function i(d){if(O.isUndefined(e[d])){if(!O.isUndefined(t[d]))return n(void 0,t[d])}else return n(t[d],e[d])}function a(d){if(!O.isUndefined(e[d]))return n(void 0,e[d])}function l(d){if(O.isUndefined(e[d])){if(!O.isUndefined(t[d]))return n(void 0,t[d])}else return n(void 0,e[d])}function u(d){if(d in e)return n(t[d],e[d]);if(d in t)return n(void 0,t[d])}var h={url:a,method:a,data:a,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,responseEncoding:l,validateStatus:u};return O.forEach(Object.keys(t).concat(Object.keys(e)),function(c){var o=h[c]||i,f=o(c);O.isUndefined(f)&&o!==u||(r[c]=f)}),r},$t,ce;function Ge(){return ce||(ce=1,$t={version:"0.27.2"}),$t}var wr=Ge().version,N=X,zt={};["object","boolean","number","function","string","symbol"].forEach(function(s,t){zt[s]=function(r){return typeof r===s||"a"+(t<1?"n ":" ")+s}});var fe={};zt.transitional=function(t,e,r){function n(i,a){return"[Axios v"+wr+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return function(i,a,l){if(t===!1)throw new N(n(a," has been removed"+(e?" in "+e:"")),N.ERR_DEPRECATED);return e&&!fe[a]&&(fe[a]=!0,console.warn(n(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(i,a,l):!0}};function _r(s,t,e){if(typeof s!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(s),n=r.length;n-- >0;){var i=r[n],a=t[i];if(a){var l=s[i],u=l===void 0||a(l,i,s);if(u!==!0)throw new N("option "+i+" must be "+u,N.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new N("Unknown option "+i,N.ERR_BAD_OPTION)}}var xr={assertOptions:_r,validators:zt},Je=_,Er=Ue,pe=Gs,me=br,ct=Ve,Sr=ze,Xe=xr,z=Xe.validators;function J(s){this.defaults=s,this.interceptors={request:new pe,response:new pe}}J.prototype.request=function(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=ct(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;r!==void 0&&Xe.assertOptions(r,{silentJSONParsing:z.transitional(z.boolean),forcedJSONParsing:z.transitional(z.boolean),clarifyTimeoutError:z.transitional(z.boolean)},!1);var n=[],i=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(e)===!1||(i=i&&f.synchronous,n.unshift(f.fulfilled,f.rejected))});var a=[];this.interceptors.response.forEach(function(f){a.push(f.fulfilled,f.rejected)});var l;if(!i){var u=[me,void 0];for(Array.prototype.unshift.apply(u,n),u=u.concat(a),l=Promise.resolve(e);u.length;)l=l.then(u.shift(),u.shift());return l}for(var h=e;n.length;){var d=n.shift(),c=n.shift();try{h=d(h)}catch(o){c(o);break}}try{l=me(h)}catch(o){return Promise.reject(o)}for(;a.length;)l=l.then(a.shift(),a.shift());return l};J.prototype.getUri=function(t){t=ct(this.defaults,t);var e=Sr(t.baseURL,t.url);return Er(e,t.params,t.paramsSerializer)};Je.forEach(["delete","get","head","options"],function(t){J.prototype[t]=function(e,r){return this.request(ct(r||{},{method:t,url:e,data:(r||{}).data}))}});Je.forEach(["post","put","patch"],function(t){function e(r){return function(i,a,l){return this.request(ct(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}J.prototype[t]=e(),J.prototype[t+"Form"]=e(!0)});var Tr=J,Rt,ge;function Or(){if(ge)return Rt;ge=1;var s=ht();function t(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var r;this.promise=new Promise(function(a){r=a});var n=this;this.promise.then(function(i){if(n._listeners){var a,l=n._listeners.length;for(a=0;a"u"?"json":"cookie"}}var _e;(function(s){s.TOTAL_COUNT="total_count",s.FILTER_COUNT="filter_count"})(_e||(_e={}));class g extends Error{constructor(t){super(`${t??"ID"} cannot be an empty string`)}}class P{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async readOne(t,e,r){if(`${t}`=="")throw new g("id");return(await this.transport.get(`${this.endpoint}/${encodeURI(t)}`,{params:e,...r==null?void 0:r.requestOptions})).data}async readMany(t,e,r){var n;const a=(n=(await this.transport.get(`/fields/${this.collection}`)).data)===null||n===void 0?void 0:n.find(h=>h.schema.is_primary_key===!0),{data:l,meta:u}=await this.transport.get(`${this.endpoint}`,{params:{...e,filter:{[a.field]:{_in:t},...e==null?void 0:e.filter},sort:(e==null?void 0:e.sort)||a.field},...r==null?void 0:r.requestOptions});return{data:l,...u&&{meta:u}}}async readByQuery(t,e){const{data:r,meta:n}=await this.transport.get(`${this.endpoint}`,{params:t,...e==null?void 0:e.requestOptions});return{data:r,...n&&{meta:n}}}async createOne(t,e,r){return(await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})).data}async createMany(t,e,r){return await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateOne(t,e,r,n){if(`${t}`=="")throw new g("id");return(await this.transport.patch(`${this.endpoint}/${encodeURI(t)}`,e,{params:r,...n==null?void 0:n.requestOptions})).data}async updateMany(t,e,r,n){return await this.transport.patch(`${this.endpoint}`,{keys:t,data:e},{params:r,...n==null?void 0:n.requestOptions})}async updateBatch(t,e,r){return await this.transport.patch(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateByQuery(t,e,r,n){return await this.transport.patch(`${this.endpoint}`,{query:t,data:e},{params:r,...n==null?void 0:n.requestOptions})}async deleteOne(t,e){if(`${t}`=="")throw new g("id");await this.transport.delete(`${this.endpoint}/${encodeURI(t)}`,void 0,e==null?void 0:e.requestOptions)}async deleteMany(t,e){await this.transport.delete(`${this.endpoint}`,t,e==null?void 0:e.requestOptions)}}class Pr{constructor(t){this.transport=t}async create(t){return(await this.transport.post("/activity/comment",t)).data}async update(t,e){if(`${t}`=="")throw new g("comment_activity_id");return(await this.transport.patch(`/activity/comment/${encodeURI(t)}`,{comment:e})).data}async delete(t){if(`${t}`=="")throw new g("comment_activity_id");await this.transport.delete(`/activity/comment/${encodeURI(t)}`)}}class Lr extends P{constructor(t){super("directus_activity",t),this._comments=new Pr(this.transport)}get comments(){return this._comments}}class Nr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("id");return(await this.transport.get(`/assets/${t}`,{responseType:"stream"})).raw}}class qr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/collections/${t}`)).data}async readAll(){const{data:t,meta:e}=await this.transport.get("/collections");return{data:t,meta:e}}async createOne(t){return(await this.transport.post("/collections",t)).data}async createMany(t){const{data:e,meta:r}=await this.transport.post("/collections",t);return{data:e,meta:r}}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");return(await this.transport.patch(`/collections/${t}`,e,{params:r})).data}async deleteOne(t){if(`${t}`=="")throw new g("collection");await this.transport.delete(`/collections/${t}`)}}class Br{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/fields/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return{data:(await this.transport.get(`/fields/${t}`)).data,meta:void 0}}async readAll(){return{data:(await this.transport.get("/fields")).data,meta:void 0}}async createOne(t,e){if(`${t}`=="")throw new g("collection");return(await this.transport.post(`/fields/${t}`,e)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/fields/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/fields/${t}/${e}`)}}class Ur extends P{constructor(t){super("directus_files",t)}async import(t){return(await this.transport.post("/files/import",t)).data}}class Mr extends P{constructor(t){super("directus_folders",t)}}class Fr extends P{constructor(t){super("directus_permissions",t)}}class Hr extends P{constructor(t){super("directus_presets",t)}}class jr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/relations/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/relations/${t}`)).data}async readAll(){return(await this.transport.get("/relations")).data}async createOne(t){return(await this.transport.post("/relations",t)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/relations/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/relations/${t}/${e}`)}}class Wr extends P{constructor(t){super("directus_revisions",t)}}class zr extends P{constructor(t){super("directus_roles",t)}}class Zr{constructor(t){this.transport=t}async ping(){return(await this.transport.get("/server/ping")).raw}async info(){return(await this.transport.get("/server/info")).data}async oas(){return(await this.transport.get("/server/specs/oas")).raw}}class Qe{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async read(t){return(await this.transport.get(`${this.endpoint}`,{params:t})).data}async update(t,e){return(await this.transport.patch(`${this.endpoint}`,t,{params:e})).data}}class Vr extends Qe{constructor(t){super("directus_settings",t)}}class Gr{constructor(t){this.transport=t}async send(t,e,r){await this.transport.post("/users/invite",{email:t,role:e,invite_url:r})}async accept(t,e){await this.transport.post("/users/invite/accept",{token:t,password:e})}}class Jr{constructor(t){this.transport=t}async generate(t){return(await this.transport.post("/users/me/tfa/generate",{password:t})).data}async enable(t,e){await this.transport.post("/users/me/tfa/enable",{secret:t,otp:e})}async disable(t){await this.transport.post("/users/me/tfa/disable",{otp:t})}}class Xr{constructor(t){this._transport=t}get tfa(){return this._tfa||(this._tfa=new Jr(this._transport))}async read(t){return(await this._transport.get("/users/me",{params:t})).data}async update(t,e){return(await this._transport.patch("/users/me",t,{params:e})).data}}class Kr extends P{constructor(t){super("directus_users",t)}get invites(){return this._invites||(this._invites=new Gr(this.transport))}get me(){return this._me||(this._me=new Xr(this.transport))}}class Yr{constructor(t){this.random={string:async(e=32)=>(await this.transport.get("/utils/random/string",{params:{length:e}})).data},this.hash={generate:async e=>(await this.transport.post("/utils/hash/generate",{string:e})).data,verify:async(e,r)=>(await this.transport.post("/utils/hash/verify",{string:e,hash:r})).data},this.transport=t}async sort(t,e,r){await this.transport.post(`/utils/sort/${encodeURI(t)}`,{item:e,to:r})}async revert(t){await this.transport.post(`/utils/revert/${encodeURI(t)}`)}}class ts{}class Lt{}class Y extends Error{constructor(t,e){var r,n;!((r=e==null?void 0:e.errors)===null||r===void 0)&&r.length?super((n=e==null?void 0:e.errors[0])===null||n===void 0?void 0:n.message):super((t==null?void 0:t.message)||"Unknown transport error"),this.parent=t,this.response=e,this.errors=(e==null?void 0:e.errors)||[],Object.values(e||{}).some(i=>i!==void 0)||(this.response=void 0),Object.setPrototypeOf(this,Y.prototype)}}var E;(function(s){s.AuthToken="auth_token",s.RefreshToken="auth_refresh_token",s.Expires="auth_expires",s.ExpiresAt="auth_expires_at"})(E||(E={}));class es extends ts{constructor(t){var e;super(),this.prefix=(e=t==null?void 0:t.prefix)!==null&&e!==void 0?e:""}get auth_token(){return this.get(E.AuthToken)}set auth_token(t){t===null?this.delete(E.AuthToken):this.set(E.AuthToken,t)}get auth_expires(){const t=this.get(E.Expires);return t===null?null:parseInt(t)}set auth_expires(t){t===null?this.delete(E.Expires):this.set(E.Expires,t.toString())}get auth_expires_at(){const t=this.get(E.ExpiresAt);return t===null?null:parseInt(t)}set auth_expires_at(t){t===null?this.delete(E.ExpiresAt):this.set(E.ExpiresAt,t.toString())}get auth_refresh_token(){return this.get(E.RefreshToken)}set auth_refresh_token(t){t===null?this.delete(E.RefreshToken):this.set(E.RefreshToken,t)}}class Qr extends es{constructor(){super(...arguments),this.values={}}get(t){const e=this.key(t);return e in this.values?this.values[e]:null}set(t,e){return this.values[this.key(t)]=e,e}delete(t){const e=this.get(t);return delete this.values[this.key(t)],e}key(t){return`${this.prefix}${t}`}}class tn extends es{get(t){const e=localStorage.getItem(this.key(t));return e!==null?e:null}set(t,e){return localStorage.setItem(this.key(t),e),e}delete(t){const e=this.get(t);return localStorage.removeItem(this.key(t)),e}key(t){return`${this.prefix}${t}`}}class en extends Lt{constructor(t){var e;super(),this.config=t,this.axios=we.create({baseURL:this.config.url,params:this.config.params,headers:this.config.headers,onUploadProgress:this.config.onUploadProgress,maxBodyLength:this.config.maxBodyLength,maxContentLength:this.config.maxContentLength,withCredentials:!0}),!((e=this.config)===null||e===void 0)&&e.beforeRequest&&(this.beforeRequest=this.config.beforeRequest)}async beforeRequest(t){return t}get url(){return this.config.url}async request(t,e,r,n){var i,a,l,u,h;try{let d={method:t,url:e,data:r,params:n==null?void 0:n.params,headers:n==null?void 0:n.headers,responseType:n==null?void 0:n.responseType,onUploadProgress:n==null?void 0:n.onUploadProgress};d=await this.beforeRequest(d);const c=await this.axios.request(d),o={raw:c.data,status:c.status,statusText:c.statusText,headers:c.headers,data:c.data.data,meta:c.data.meta,errors:c.data.errors};if(c.data.errors)throw new Y(null,o);return o}catch(d){if(!d||!(d instanceof Error))throw d;if(we.isAxiosError(d)){const c=(i=d.response)===null||i===void 0?void 0:i.data;throw new Y(d,{raw:(a=d.response)===null||a===void 0?void 0:a.data,status:(l=d.response)===null||l===void 0?void 0:l.status,statusText:(u=d.response)===null||u===void 0?void 0:u.statusText,headers:(h=d.response)===null||h===void 0?void 0:h.headers,data:c==null?void 0:c.data,meta:c==null?void 0:c.meta,errors:c==null?void 0:c.errors})}throw new Y(d)}}async get(t,e){return await this.request("get",t,void 0,e)}async head(t,e){return await this.request("head",t,void 0,e)}async options(t,e){return await this.request("options",t,void 0,e)}async delete(t,e,r){return await this.request("delete",t,e,r)}async put(t,e,r){return await this.request("put",t,e,r)}async post(t,e,r){return await this.request("post",t,e,r)}async patch(t,e,r){return await this.request("patch",t,e,r)}}class sn{constructor(t){this.transport=t}async request(t,e){await this.transport.post("/auth/password/request",{email:t,reset_url:e})}async reset(t,e){await this.transport.post("/auth/password/reset",{token:t,password:e})}}class rn extends Ye{constructor(t){var e,r,n;super(),this.autoRefresh=!0,this.msRefreshBeforeExpires=3e4,this.staticToken="",this._transport=t.transport,this._storage=t.storage,this.autoRefresh=(e=t==null?void 0:t.autoRefresh)!==null&&e!==void 0?e:this.autoRefresh,this.mode=(r=t==null?void 0:t.mode)!==null&&r!==void 0?r:this.mode,this.msRefreshBeforeExpires=(n=t==null?void 0:t.msRefreshBeforeExpires)!==null&&n!==void 0?n:this.msRefreshBeforeExpires,t!=null&&t.staticToken&&(this.staticToken=t==null?void 0:t.staticToken,this.updateStorage({access_token:this.staticToken,expires:null,refresh_token:null}))}get storage(){return this._storage}get transport(){return this._transport}get token(){return(async()=>{if(this._refreshPromise)try{await this._refreshPromise}finally{this._refreshPromise=void 0}return this._storage.auth_token})()}get password(){return this.passwords=this.passwords||new sn(this._transport)}resetStorage(){this._storage.auth_token=null,this._storage.auth_refresh_token=null,this._storage.auth_expires=null,this._storage.auth_expires_at=null}updateStorage(t){var e,r;const n=(e=t.expires)!==null&&e!==void 0?e:null;this._storage.auth_token=t.access_token,this._storage.auth_refresh_token=(r=t.refresh_token)!==null&&r!==void 0?r:null,this._storage.auth_expires=n,this._storage.auth_expires_at=new Date().getTime()+(n??0)}async refreshIfExpired(){if(!this.staticToken&&this.autoRefresh){if(!this._storage.auth_expires_at){try{await this._refreshPromise}finally{this._refreshPromise=void 0}return}this._storage.auth_expires_at{var e;const r=this._storage.auth_refresh_token;this.resetStorage();const n=await this._transport.post("/auth/refresh",{refresh_token:this.mode==="json"?r:void 0});return this.updateStorage(n.data),{access_token:n.data.access_token,...((e=n.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:n.data.refresh_token},expires:n.data.expires}};return this._refreshPromise=t()}async login(t){var e;this.resetStorage();const r=await this._transport.post("/auth/login",{mode:this.mode,...t},{headers:{Authorization:null}});return this.updateStorage(r.data),{access_token:r.data.access_token,...((e=r.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:r.data.refresh_token},expires:r.data.expires}}async static(t){return this.staticToken||(this.staticToken=t),await this._transport.get("/users/me",{params:{access_token:t},headers:{Authorization:null}}),this.updateStorage({access_token:t,expires:null,refresh_token:null}),!0}async logout(){let t;this.mode==="json"&&(t=this._storage.auth_refresh_token||void 0),await this._transport.post("/auth/logout",{refresh_token:t}),this.updateStorage({access_token:null,expires:null,refresh_token:null})}}class nn{constructor(t){this.transport=t}async request(t,e,r){return await this.transport.post(t,{query:e,variables:typeof r>"u"?{}:r})}async items(t,e){return await this.request("/graphql",t,e)}async system(t,e){return await this.request("/graphql/system",t,e)}}class an{constructor(t,e){var r,n,i,a,l,u,h,d,c;if(this._url=t,this._options=e,this._items={},this._singletons={},!((r=this._options)===null||r===void 0)&&r.storage&&((n=this._options)===null||n===void 0?void 0:n.storage)instanceof ts)this._storage=this._options.storage;else{const o=(i=this._options)===null||i===void 0?void 0:i.storage,{mode:f,...m}=o??{};f==="MemoryStorage"||typeof window>"u"?this._storage=new Qr(m):this._storage=new tn(m)}!((a=this._options)===null||a===void 0)&&a.transport&&((l=this._options)===null||l===void 0?void 0:l.transport)instanceof Lt?this._transport=this._options.transport:this._transport=new en({url:this.url,...(u=this._options)===null||u===void 0?void 0:u.transport,beforeRequest:async o=>{var f,m,y,T,k,A;this._url.indexOf("/auth/refresh")===-1&&((f=o.method)===null||f===void 0?void 0:f.toLowerCase())!=="post"&&await this._auth.refreshIfExpired();const I=this.storage.auth_token,et=I?I.startsWith("Bearer ")?String(this.storage.auth_token):`Bearer ${this.storage.auth_token}`:"",p={...o,headers:{Authorization:et,...o.headers}};return!(((m=this._options)===null||m===void 0?void 0:m.transport)instanceof Lt)&&(!((T=(y=this._options)===null||y===void 0?void 0:y.transport)===null||T===void 0)&&T.beforeRequest)?(A=(k=this._options)===null||k===void 0?void 0:k.transport)===null||A===void 0?void 0:A.beforeRequest(p):p}}),!((h=this._options)===null||h===void 0)&&h.auth&&((d=this._options)===null||d===void 0?void 0:d.auth)instanceof Ye?this._auth=this._options.auth:this._auth=new rn({transport:this._transport,storage:this._storage,...(c=this._options)===null||c===void 0?void 0:c.auth})}get url(){return this._url}get auth(){return this._auth}get storage(){return this._storage}get transport(){return this._transport}get assets(){return this._assets||(this._assets=new Nr(this.transport))}get activity(){return this._activity||(this._activity=new Lr(this.transport))}get collections(){return this._collections||(this._collections=new qr(this.transport))}get fields(){return this._fields||(this._fields=new Br(this.transport))}get files(){return this._files||(this._files=new Ur(this.transport))}get folders(){return this._folders||(this._folders=new Mr(this.transport))}get permissions(){return this._permissions||(this._permissions=new Fr(this.transport))}get presets(){return this._presets||(this._presets=new Hr(this.transport))}get relations(){return this._relations||(this._relations=new jr(this.transport))}get revisions(){return this._revisions||(this._revisions=new Wr(this.transport))}get roles(){return this._roles||(this._roles=new zr(this.transport))}get users(){return this._users||(this._users=new Kr(this.transport))}get settings(){return this._settings||(this._settings=new Vr(this.transport))}get server(){return this._server||(this._server=new Zr(this.transport))}get utils(){return this._utils||(this._utils=new Yr(this.transport))}get graphql(){return this._graphql||(this._graphql=new nn(this.transport))}singleton(t){return this._singletons[t]||(this._singletons[t]=new Qe(t,this.transport))}items(t){return this._items[t]||(this._items[t]=new P(t,this.transport))}}const on=new an("https://db.chromatone.center"),Zt=os("access-granted",!1),xe=q(!1),Z=q(""),Ee=De(()=>/^[^@]+@\w+(\.\w+)+\w$/.test(Z.value));async function Se(s){const t={email:s};if(Zt.value=s,!xe.value){xe.value=!0;try{await on.items("players").createOne(t)}catch(e){console.error(e)}}}const tt=q(!1);Pe(Zt,s=>{s&&(tt.value=!1)});const Te=q(!1),ln=JSON.parse('[{"id":1,"status":"published","sort":1,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:12:51.578Z","title":"Dotpiano","url":"https://dotpiano.com/","content":null,"img":"a55e9913-8d15-486d-9ab1-d4fe8c7fb5bf","category":null},{"id":3,"status":"published","sort":3,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:58:12.456Z","title":"TouchME by Chromatone","url":"https://touchme.chromatone.center/","content":null,"img":"67191ff8-1f6b-4ffb-9885-b0598c600981","category":null},{"id":14,"status":"published","sort":4,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:13.331Z","title":"Juno-106","url":"http://juno-106.js.org/","content":null,"img":"45297e84-6b42-446b-8a56-024ff46542b7","category":null},{"id":26,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:42.487Z","title":"Learning synths with Ableton","url":"https://learningsynths.ableton.com/","content":null,"img":"110d33fe-8c5f-4502-aaf9-6458f2119d33","category":3},{"id":30,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-30T02:33:18.609Z","title":"DX7 Synth","url":"https://mmontag.github.io/dx7-synth-js/","content":null,"img":"33b1ee5c-77f0-4fb7-86ef-d8687532688b","category":2},{"id":32,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T08:49:56.166Z","title":"Sampler synth","url":"https://play.playtronica.com/","content":null,"img":"d7b750b3-2206-46fe-a2df-d7da6b8faccd","category":null},{"id":10,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:14:42.904Z","title":"Websynths","url":"http://websynths.com/","content":null,"img":"2fd87e78-0cad-44b7-bf02-44deaf12deaa","category":null},{"id":19,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:26.708Z","title":"Theremin","url":"https://www.femurdesign.com/theremin/","content":null,"img":"1fb860e8-199e-4cd2-98f0-a718e8a6378d","category":null},{"id":22,"status":"published","sort":7,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:55.478Z","title":"Disco-computer","url":"http://www.disco-computer.com/synthesizer/synth.html","content":null,"img":"fd019ff3-512a-49b9-923d-a899e50938d5","category":null},{"id":29,"status":"published","sort":8,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-20T09:19:52.499Z","title":"Elementary synth","url":"https://chromatone.center/practice/midi/synth/","content":null,"img":"e204f6f4-2534-4587-93c9-1f3ad11de771","category":3},{"id":31,"status":"published","sort":12,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T05:38:18.890Z","title":"Video Sampler","url":"https://seeing-sound.netlify.app/","content":null,"img":"24b816fc-b3bd-4b76-9e15-1765bec844ce","category":3},{"id":27,"status":"published","sort":14,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:18.081Z","title":"Viktor NV-1","url":"http://nicroto.github.io/viktor/","content":null,"img":"47059c44-1e73-4578-bd8d-2a85676d6a6c","category":null},{"id":17,"status":"published","sort":30,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:26.088Z","title":"Sound Trap","url":"https://www.soundtrap.com/","content":null,"img":"73e783f3-84b7-430d-9a89-b1ee2fe69050","category":1},{"id":6,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:11:50.949Z","title":"MIDI–driven Web Audio","url":"https://webaudiodemos.appspot.com/midi-synth/index.html","content":null,"img":"aa8959b0-e5af-4055-8d65-276c42135c9b","category":null},{"id":8,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:23.936Z","title":"Meet the Heisenberg","url":"https://www.audiotool.com/product/device/heisenberg/","content":null,"img":"31b1a269-323a-4afe-8262-fd6ff566b136","category":null},{"id":9,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:45.798Z","title":"Cardboard Synth","url":"https://www.gsn-lib.org/apps/cardboardsynth/index.html","content":null,"img":"a737a01c-d552-44d4-ae6f-736b967333b9","category":null},{"id":11,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:04.832Z","title":"Tanguy synth","url":"http://tanguysynth.com/","content":null,"img":"cf55e3e1-0b91-4e0c-b97d-d392e242736c","category":null},{"id":12,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:25.991Z","title":"MOD synth","url":"http://mod-synth.io/","content":null,"img":"724e5054-3e1e-4ed7-b2e0-09fa78358f2d","category":null},{"id":13,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:53.105Z","title":"OLIF SY1K","url":"http://perso.numericable.fr/olivier.friker/synth/O3-synth%20V1.3.html","content":null,"img":"353b4bea-4458-4f7d-ab2d-e8cb3927fd2b","category":null},{"id":15,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:31.831Z","title":"Note Sculptor","url":"http://www.noisesculptor.com/","content":null,"img":"d2d23b94-d822-4e9e-9632-e57b96f66213","category":null},{"id":16,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:03.314Z","title":"WebAudioSynth V2","url":"http://aikelab.net/websynthv2/","content":null,"img":"c1192dc4-38a5-45af-9087-165478fffbc4","category":2},{"id":18,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:47.206Z","title":"Samplestich","url":"http://samplestitch.com.s3-website-us-east-1.amazonaws.com/","content":null,"img":"fc617933-8038-46bc-a71c-794cce369003","category":3},{"id":20,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:49.043Z","title":"Omni","url":"https://femurdesign.com/omni/","content":null,"img":"4329ecec-c6bd-4892-bc5d-1c60ebf85db6","category":null},{"id":21,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:10.192Z","title":"Web Modular","url":"https://www.g200kg.com/docs/webmodular/","content":null,"img":"ab06d1f0-0962-469c-9173-1d1b0c323da4","category":null},{"id":23,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:24.249Z","title":"Online sequencer","url":"https://onlinesequencer.net/369477","content":null,"img":"dfe830f4-6fc9-4c70-9355-266066d57e84","category":null},{"id":24,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:54.765Z","title":"PixelSynth","url":"https://ojack.github.io/PIXELSYNTH/","content":null,"img":"57a70c4c-a745-4d76-acc1-f60605b2e620","category":null},{"id":25,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:19.769Z","title":"Acid Machine 2","url":"http://errozero.co.uk/acid-machine/","content":null,"img":"006c8dc8-29f6-4451-ae69-4d4e14b69fc1","category":null},{"id":28,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:38.864Z","title":"WebSID Commodore 64","url":"http://www.igorski.nl/experiment/websid","content":null,"img":"0c43f116-2478-4306-af3c-afd5a869b7a3","category":null}]'),un=F({inject:["manager"],props:{index:{type:Number,required:!0},disabled:{type:Boolean,default:!1}},data(){return{}},watch:{index(s){this.$el&&this.$el.sortableInfo&&(this.$el.sortableInfo.index=s)},disabled(s){s?this.removeDraggable():this.setDraggable(this.index)}},mounted(){const{disabled:s,index:t}=this.$props;s||this.setDraggable(t)},beforeUnmount(){this.disabled||this.removeDraggable()},methods:{setDraggable(s){const t=this.$el;t.sortableInfo={index:s,manager:this.manager},this.ref={node:t},this.manager.add(this.ref)},removeDraggable(){this.manager.remove(this.ref)}}});class hn{constructor(){this.refs=[],this.active=null}add(t){this.refs||(this.refs=[]),this.refs.push(t)}remove(t){const e=this.getIndex(t);e!==-1&&this.refs.splice(e,1)}isActive(){return!!this.active}getActive(){return this.refs.find(({node:t})=>{var e,r;return((e=t==null?void 0:t.sortableInfo)===null||e===void 0?void 0:e.index)==((r=this===null||this===void 0?void 0:this.active)===null||r===void 0?void 0:r.index)})||null}getIndex(t){return this.refs.indexOf(t)}getRefs(){return this.refs}getOrderedRefs(){return this.refs.sort((t,e)=>t.node.sortableInfo.index-e.node.sortableInfo.index)}}const Q=s=>s.touches!=null;function Nt(s,t){return!!s&&Object.prototype.hasOwnProperty.call(s,t)}function dn(s,t,e){const r=s.slice(0);if(e>=r.length){let n=e-r.length;for(;n--+1;)r.push(void 0)}return r.splice(e,0,r.splice(t,1)[0]),r}function cn(s,t){const e=s.slice(0);return t>=e.length||e.splice(t,1),e}function fn(s,t,e){const r=s.slice(0);return t===r.length?r.push(e):r.splice(t,0,e),r}const L={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","mouseup"],cancel:["touchcancel","keyup"]};function Oe(s,t){for(;s;){if(t(s))return s;s=s.parentNode}}function $e(s,t,e){return et?t:e}function st(s){return s.substr(-2)==="px"?parseFloat(s):0}function Re(s){const t=window.getComputedStyle(s);return{top:st(t.marginTop),right:st(t.marginRight),bottom:st(t.marginBottom),left:st(t.marginLeft)}}function rt(s,t="page"){const e=`${t}X`,r=`${t}Y`;return{x:Q(s)?s.touches[0][e]:s[e],y:Q(s)?s.touches[0][r]:s[r]}}function Ce(s){const t=[s];for(;s;s=s.offsetParent)t.unshift(s);return t}function pn(s,t){const e=Ce(s),r=Ce(t);if(e[0]!=r[0])throw"No common ancestor!";for(let n=0;n{n.type!=="file"&&t[i]&&(n.value=t[i].value)}),e}function mn(s,t,e){if(typeof s=="string"&&(s=+s),Array.isArray(s)||(s=[s,s]),s.length!==2)throw new Error(`lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given ${s}`);const[r,n]=s;return[Ae(r,t,e),Ae(n,t,e)]}function Ae(s,t,e){let r=s,n=s,i="px";if(typeof s=="string"){const a=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(s);if(a===null)throw new Error(`lockOffset value should be a number or a string of a number followed by "px" or "%". Given ${s}`);r=n=parseFloat(s),i=a[1]}if(!isFinite(r)||!isFinite(n))throw new Error(`lockOffset value should be a finite. Given ${s}`);return i==="%"&&(r=r*t/100,n=n*e/100),{x:r,y:n}}function Ie(s=[]){for(let t=0,e=s.length;t[]},lockAxis:{type:String,default:""},helperClass:{type:String,default:""},contentWindow:{type:Object,default:null},shouldCancelStart:{type:Function,default:s=>["input","textarea","select","option","button"].indexOf(s.target.tagName.toLowerCase())!==-1},getHelperDimensions:{type:Function,default:({node:s})=>({width:s.offsetWidth,height:s.offsetHeight})}},emits:["sort-start","sort-move","sort-end","sort-cancel","sort-insert","sort-remove","update:list"],data(){let s=!1;return this.group&&this.SlicksortHub&&(s=!0),{sorting:!1,hub:s?this.SlicksortHub:null,manager:new hn}},mounted(){this.hub&&(this.id=this.hub.getId()),this.container=this.$el,this.document=this.container.ownerDocument||document,this._window=this.contentWindow||window,this.scrollContainer=this.useWindowAsScrollContainer?{scrollLeft:0,scrollTop:0}:this.container,this.events={start:this.handleStart,move:this.handleMove,end:this.handleEnd};for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.addEventListener(t,this.events[s]));this.hub&&this.hub.addContainer(this)},beforeUnmount(){for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.removeEventListener(t,this.events[s]));this.hub&&this.hub.removeContainer(this),this.dragendTimer&&clearTimeout(this.dragendTimer),this.cancelTimer&&clearTimeout(this.cancelTimer),this.pressTimer&&clearTimeout(this.pressTimer),this.autoscrollInterval&&clearInterval(this.autoscrollInterval)},methods:{handleStart(s){const{distance:t,shouldCancelStart:e}=this.$props;if(!Q(s)&&s.button===2||e(s))return!1;this._touched=!0,this._pos=rt(s);const r=s.target,n=Oe(r,i=>i.sortableInfo!=null);if(n&&n.sortableInfo&&this.nodeIsChild(n)&&!this.sorting){const{useDragHandle:i}=this.$props,{index:a}=n.sortableInfo;if(i&&!Oe(r,l=>l.sortableHandle!=null))return;this.manager.active={index:a},r.tagName.toLowerCase()==="a"&&s.preventDefault(),t||(this.pressDelay===0?this.handlePress(s):this.pressTimer=At(()=>this.handlePress(s),this.pressDelay))}},nodeIsChild(s){return s.sortableInfo.manager===this.manager},handleMove(s){const{distance:t,pressThreshold:e}=this.$props;if(!this.sorting&&this._touched){const r=rt(s);this._delta={x:this._pos.x-r.x,y:this._pos.y-r.y};const n=Math.abs(this._delta.x)+Math.abs(this._delta.y);!t&&(!e||e&&n>=e)?(this.cancelTimer&&clearTimeout(this.cancelTimer),this.cancelTimer=At(this.cancel,0)):t&&n>=t&&this.manager.isActive()&&this.handlePress(s)}},handleEnd(){if(!this._touched)return;const{distance:s}=this.$props;this._touched=!1,s||this.cancel()},cancel(){this.sorting||(this.pressTimer&&clearTimeout(this.pressTimer),this.manager.active=null,this.hub&&this.hub.cancel())},handleSortCancel(s){(Q(s)||s.key===this.cancelKey)&&(this.newIndex=this.index,this.canceling=!0,this.translate={x:0,y:0},this.animateNodes(),this.handleSortEnd(s))},handlePress(s){s.stopPropagation();const t=this.manager.getActive();if(t){const{getHelperDimensions:e,helperClass:r,hideSortableGhost:n,appendTo:i}=this.$props,{node:a}=t,{index:l}=a.sortableInfo,u=Re(a),h=this.container.getBoundingClientRect(),d=e({index:l,node:a});this.node=a,this.margin=u,this.width=d.width,this.height=d.height,this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this.boundingClientRect=a.getBoundingClientRect(),this.containerBoundingRect=h,this.index=l,this.newIndex=l;const c=ke(a);this.helper=this.document.querySelector(i).appendChild(c),this.helper.style.position="fixed",this.helper.style.top=`${this.boundingClientRect.top-u.top}px`,this.helper.style.left=`${this.boundingClientRect.left-u.left}px`,this.helper.style.width=`${this.width}px`,this.helper.style.height=`${this.height}px`,this.helper.style.boxSizing="border-box",this.helper.style.pointerEvents="none",n&&(this.sortableGhost=a,a.style.visibility="hidden",a.style.opacity="0"),this.hub&&(this.hub.sortStart(this),this.hub.helper=this.helper,this.hub.ghost=this.sortableGhost),this.intializeOffsets(s,this.boundingClientRect),this.offsetEdge=U(a,this.container),r&&this.helper.classList.add(...r.split(" ")),this.listenerNode=Q(s)?a:this._window,L.move.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortMove)),L.end.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortEnd)),L.cancel.forEach(o=>this.listenerNode.addEventListener(o,this.handleSortCancel)),this.sorting=!0,this.$emit("sort-start",{event:s,node:a,index:l})}},handleSortMove(s){if(s.preventDefault(),this.updatePosition(s),this.hub){const t=this.list[this.index];this.hub.handleSortMove(s,t)}(!this.hub||this.hub.isDest(this))&&(this.animateNodes(),this.autoscroll()),this.$emit("sort-move",{event:s})},handleDropOut(){const s=this.list[this.index],t=cn(this.list,this.index);return this.$emit("sort-remove",{oldIndex:this.index}),this.$emit("update:list",t),s},handleDropIn(s){const t=fn(this.list,this.newIndex,s);this.$emit("sort-insert",{newIndex:this.newIndex,value:s}),this.$emit("update:list",t),this.handleDragEnd()},handleDragOut(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),this.hub.isSource(this)?(this.translate={x:1e4,y:1e4},this.animateNodes()):(this.manager.getRefs().forEach(s=>{s.node.style.transform=""}),this.dragendTimer=At(this.handleDragEnd,this.transitionDuration||0))},handleDragEnd(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),Ie(this.manager.getRefs()),this.sortableGhost&&(this.sortableGhost.remove(),this.sortableGhost=null),this.dragendTimer&&(clearTimeout(this.dragendTimer),this.dragendTimer=null),this.manager.active=null,this._touched=!1,this.sorting=!1},intializeOffsets(s,t){const{useWindowAsScrollContainer:e,containerBoundingRect:r,_window:n}=this;this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this._axis={x:this.axis.indexOf("x")>=0,y:this.axis.indexOf("y")>=0},this.initialOffset=rt(s),this.initialScroll={top:this.scrollContainer.scrollTop,left:this.scrollContainer.scrollLeft},this.initialWindowScroll={top:window.pageYOffset,left:window.pageXOffset},this.translate={x:0,y:0},this.minTranslate={},this.maxTranslate={},this._axis.x&&(this.minTranslate.x=(e?0:r.left)-t.left-this.width/2,this.maxTranslate.x=(e?n.innerWidth:r.left+r.width)-t.left-this.width/2),this._axis.y&&(this.minTranslate.y=(e?0:r.top)-t.top-this.height/2,this.maxTranslate.y=(e?n.innerHeight:r.top+r.height)-t.top-this.height/2)},handleDragIn(s,t,e){if(this.hub.isSource(this))return;this.dragendTimer&&(this.handleDragEnd(),clearTimeout(this.dragendTimer),this.dragendTimer=null);const r=this.manager.getRefs();this.index=r.length,this.manager.active={index:this.index};const n=this.container.getBoundingClientRect(),i=e.getBoundingClientRect();this.containerBoundingRect=n,this.sortableGhost=ke(t),this.container.appendChild(this.sortableGhost);const a=this.sortableGhost.getBoundingClientRect();this.boundingClientRect=a,this.margin=Re(this.sortableGhost),this.width=a.width,this.height=a.height,this.offsetEdge=U(this.sortableGhost,this.container),this.intializeOffsets(s,a),this.initialOffset.x+=a.x-i.x,this.initialOffset.y+=a.y-i.y,this.sorting=!0},handleSortEnd(s){this.listenerNode&&(L.move.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortMove)),L.end.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortEnd)),L.cancel.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortCancel)));const t=this.manager.getRefs();this.helper&&this.helperClass&&this.helper.classList.remove(...this.helperClass.split(" ")),this.autoscrollInterval&&clearInterval(this.autoscrollInterval),this.autoscrollInterval=null;const e=()=>{this.helper&&(this.helper.remove(),this.helper=null),this.hideSortableGhost&&this.sortableGhost&&(this.sortableGhost.style.visibility="",this.sortableGhost.style.opacity=""),Ie(t),this.hub&&!this.hub.isDest(this)?this.canceling?this.hub.cancel():this.hub.handleSortEnd():this.canceling?this.$emit("sort-cancel",{event:s}):(this.$emit("sort-end",{event:s,oldIndex:this.index,newIndex:this.newIndex}),this.$emit("update:list",dn(this.list,this.index,this.newIndex))),this.manager.active=null,this._touched=!1,this.canceling=!1,this.sorting=!1};this.transitionDuration||this.draggedSettlingDuration?this.transitionHelperIntoPlace(t,e):e()},transitionHelperIntoPlace(s,t){if(this.draggedSettlingDuration===0||s.length===0||!this.helper)return Promise.resolve();const e=s[this.index].node;let r=0,n=0;const i={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};if(this.hub&&!this.hub.isDest(this)&&!this.canceling){const h=this.hub.getDest();if(!h)return;const d=h.newIndex,c=h.manager.getOrderedRefs(),o=d0?r+=h.offsetLeft+h.offsetWidth-(e.offsetLeft+e.offsetWidth):r+=h.offsetLeft-e.offsetLeft,n=-d.top,this.translate&&this.translate.y>0?n+=h.offsetTop+h.offsetHeight-(e.offsetTop+e.offsetHeight):n+=h.offsetTop-e.offsetTop}const a=this.draggedSettlingDuration!==null?this.draggedSettlingDuration:this.transitionDuration;qt(this.helper,`translate3d(${r}px,${n}px, 0)`,`${a}ms`);const l=h=>{(!h||h.propertyName==="transform")&&(clearTimeout(u),qt(this.helper),t())},u=setTimeout(l,a+10);this.helper.addEventListener("transitionend",l)},updatePosition(s){const{lockAxis:t,lockToContainerEdges:e}=this.$props,r=rt(s),n={x:r.x-this.initialOffset.x,y:r.y-this.initialOffset.y};if(n.y-=window.pageYOffset-this.initialWindowScroll.top,n.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=n,e){const[i,a]=mn(this.lockOffset,this.height,this.width),l={x:this.width/2-i.x,y:this.height/2-i.y},u={x:this.width/2-a.x,y:this.height/2-a.y};this.minTranslate.x&&this.maxTranslate.x&&(n.x=$e(this.minTranslate.x+l.x,this.maxTranslate.x-u.x,n.x)),this.minTranslate.y&&this.maxTranslate.y&&(n.y=$e(this.minTranslate.y+l.y,this.maxTranslate.y-u.y,n.y))}t==="x"?n.y=0:t==="y"&&(n.x=0),this.helper&&(this.helper.style.transform=`translate3d(${n.x}px,${n.y}px, 0)`)},animateNodes(){const{transitionDuration:s,hideSortableGhost:t}=this.$props,e=this.manager.getOrderedRefs(),r={left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top},n={left:this.offsetEdge.left+this.translate.x+r.left,top:this.offsetEdge.top+this.translate.y+r.top},i={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};this.newIndex=null;for(let a=0,l=e.length;ad?d/2:this.width/2,height:this.height>c?c/2:this.height/2},f={x:0,y:0};let{edgeOffset:m}=e[a];m||(e[a].edgeOffset=m=U(u,this.container));const y=a0&&e[a-1];if(y&&!y.edgeOffset&&(y.edgeOffset=U(y.node,this.container)),h===this.index){t&&(this.sortableGhost=u,u.style.visibility="hidden",u.style.opacity="0");continue}s&&(u.style.transitionDuration=`${s}ms`),this._axis.x?this._axis.y?hthis.containerBoundingRect.width-o.width&&y&&(f.x=y.edgeOffset.left-m.left,f.y=y.edgeOffset.top-m.top),this.newIndex===null&&(this.newIndex=h)):h>this.index&&(n.left+i.left+o.width>=m.left&&n.top+i.top+o.height>=m.top||n.top+i.top+o.height>=m.top+c)&&(f.x=-(this.width+this.marginOffset.x),m.left+f.xthis.index&&n.left+i.left+o.width>=m.left?(f.x=-(this.width+this.marginOffset.x),this.newIndex=h):hthis.index&&n.top+i.top+o.height>=m.top?(f.y=-(this.height+this.marginOffset.y),this.newIndex=h):h=this.maxTranslate.y-this.height/2?(t.y=1,e.y=r.y*Math.abs((this.maxTranslate.y-this.height/2-s.y)/this.height)):s.x>=this.maxTranslate.x-this.width/2?(t.x=1,e.x=r.x*Math.abs((this.maxTranslate.x-this.width/2-s.x)/this.width)):s.y<=this.minTranslate.y+this.height/2?(t.y=-1,e.y=r.y*Math.abs((s.y-this.height/2-this.minTranslate.y)/this.height)):s.x<=this.minTranslate.x+this.width/2&&(t.x=-1,e.x=r.x*Math.abs((s.x-this.width/2-this.minTranslate.x)/this.width)),this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),(t.x!==0||t.y!==0)&&(this.autoscrollInterval=window.setInterval(()=>{const n={left:1*e.x*t.x,top:1*e.y*t.y};this.useWindowAsScrollContainer?this._window.scrollBy(n.left,n.top):(this.scrollContainer.scrollTop+=n.top,this.scrollContainer.scrollLeft+=n.left),this.translate.x+=n.left,this.translate.y+=n.top,this.animateNodes()},5))}}}),ss=F({name:"SlickItem",mixins:[un],props:{tag:{type:String,default:"div"}},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),vn=F({name:"SlickList",mixins:[gn],props:{tag:{type:String,default:"div"},itemKey:{type:[String,Function],default:"id"}},render(){var s,t;return this.$slots.item?K(this.tag,this.list.map((e,r)=>{let n;if(e!=null){if(typeof this.itemKey=="function")n=this.itemKey(e);else if(typeof e=="object"&&Nt(e,this.itemKey)&&typeof e[this.itemKey]=="string")n=e[this.itemKey];else if(typeof e=="string")n=e;else throw new Error("Cannot find key for item, use the item-key prop and pass a function or string");return K(ss,{key:n,index:r},{default:()=>{var i,a;return(a=(i=this.$slots).item)===null||a===void 0?void 0:a.call(i,{item:e,index:r})}})}})):K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),yn=F({props:{tag:{type:String,default:"span"}},mounted(){this.$el.sortableHandle=!0},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),bn={key:0,d:"M30.336 12.547l-10.172-1.074L16 2.133l-4.164 9.34l-10.172 1.074l7.598 6.848L7.14 29.398L16 24.29l8.86 5.11l-2.122-10.004z",fill:"#ffaa00"},wn={key:1,d:"M16 2.125l-.906 2.063l-3.25 7.28l-7.938.845l-2.25.25l1.688 1.5l5.906 5.343l-1.656 7.813l-.469 2.187l1.969-1.125l6.906-4l6.906 4l1.969 1.125l-.469-2.187l-1.656-7.813l5.906-5.343l1.688-1.5l-2.25-.25l-7.938-.844l-3.25-7.281zm0 4.906l2.563 5.782l.25.53l.562.063l6.281.656l-4.687 4.22l-.438.405l.125.563l1.313 6.156l-5.469-3.125l-.5-.312l-.5.312l-5.469 3.125l1.313-6.156l.125-.563l-.438-.406l-4.687-4.218l6.281-.657l.563-.062l.25-.531z",fill:"#888888"},_n=F({__name:"SynthFav",props:{url:{type:String,default:""}},setup(s){const e=ls("fav:"+s.url,!1);function r(n){e.value=!e.value,console.log(e.value)}return(n,i)=>(x(),$("svg",{onClick:i[0]||(i[0]=cs(a=>r(s.url),["stop","prevent"])),xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[w(e)?(x(),$("path",bn)):(x(),$("path",wn))]))}}),rs=s=>(ps("data-v-9a2748d8"),s=s(),ms(),s),xn=["src","alt"],En=rs(()=>v("div",{class:"flex-1"},null,-1)),Sn={class:"p-4 flex items-center justify-between w-full"},Tn={class:"text-md font-bold flex items-center gap-2 flex-1"},On={class:"flex-1"},$n=rs(()=>v("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[v("path",{d:"M4 7v2h24V7zm0 8v2h24v-2zm0 8v2h24v-2z",fill:"#888888"})],-1)),Rn=F({__name:"SynthCard",props:{off:{type:Boolean,default:!1},title:{type:String,default:""},description:{type:String,default:""},img:{type:String,default:""},url:{type:String,default:""}},setup(s){const t=s,e=q(null);Pe(Te,async n=>{try{(await fetch("https://corsproxy.io/?"+t.url)).status==200?e.value=!0:e.value=!1}catch{e.value=!1}});function r(){t.off?tt.value=!tt.value:window.open(t.url,"_blank")}return(n,i)=>{const a=fs("ClientOnly");return x(),$("button",{class:"flex flex-col text-left relative min-h-50 card p-0 bg-light-300 shadow-lg flex flex-col dark-bg-dark-300 -hover-translate-y-2px transition hover-shadow-xl rounded-xl overflow-hidden relative",onClick:r},[(x(),$("img",{key:s.title,height:"200",width:"1000",src:`/img/${s.title.toLowerCase().split(" ").join("-")}.webp`,alt:`${s.title} illustration`},null,8,xn)),En,v("div",Sn,[v("div",Tn,[v("div",On,It(s.title),1),w(Te)?(x(),$("div",{key:0,class:Le(["w-2 h-2 rounded-full shadow-inset",{"bg-green-500":e.value===!0,"bg-red-500":e.value===!1}])},null,2)):nt("",!0),V(a,null,{default:D(()=>[V(_n,{class:"scale-70 w-10",url:s.url},null,8,["url"])]),_:1}),V(w(yn),{class:"scale-80 opacity-40 cursor-grab absolute top-2 right-2"},{default:D(()=>[$n]),_:1})])])])}}});const Cn=gs(Rn,[["__scopeId","data-v-9a2748d8"]]);const kn={class:"mx-auto p-4 max-w-75ch dark-text-light-200 text-center line-height-loose text-md intro md-text-lg pt-16"},An={key:0,class:"p-2 flex flex-col mt-8"},In={class:"text-4xl font-bold"},Dn=v("div",{class:"text-lg"},"web synths",-1),Pn={key:1,class:"p-2 flex flex-col mt-8"},Ln={class:"text-4xl font-bold"},Nn=v("div",{class:"text-lg"},"web musicians",-1),qn={__name:"MainPage",setup(s){const{share:t,isSupported:e}=us();function r(){t({title:"Web synths collection",text:"Look at this online synthesizer collection. No need to install anything - just your browser and any MIDI controller will do.",url:location.href})}const n=q(ln);function i(c){return!Zt.value&&c>5}const a=q([]),l=De(()=>a.value.length),u=hs(l),h=q(),d=ds(h);return vs(()=>{fetch("https://corsproxy.io/?https://db.chromatone.center/items/players?limit=-1").then(c=>c.json()).then(({data:c})=>a.value=c)}),(c,o)=>(x(),$(Jt,null,[V(w(vn),{class:"flex flex-wrap items-stretch gap-4 md-gap-6 m-2 lg-m-8",list:n.value,"onUpdate:list":o[0]||(o[0]=f=>n.value=f),axis:"xy","use-drag-handle":""},{default:D(()=>[(x(!0),$(Jt,null,ys(n.value,(f,m)=>(x(),Dt(w(ss),{class:"flex",style:{flex:"1 1 240px"},key:f.id,index:m},{default:D(()=>[(x(),Dt(Cn,{style:bs({opacity:i(m)?.8:1}),title:f.title,description:f.description,img:f.img,url:f.url,key:f.id,off:i(m)},null,8,["style","title","description","img","url","off"]))]),_:2},1032,["index"]))),128))]),_:1},8,["list"]),v("div",kn,[it(c.$slots,"default"),v("div",{class:"flex justify-center",ref_key:"counters",ref:h},[w(d)?(x(),$("div",An,[v("div",In,It(n.value.length),1),Dn])):nt("",!0),w(d)&&l.value>0?(x(),$("div",Pn,[v("div",Ln,It(w(u).toFixed())+"+",1),Nn])):nt("",!0)],512),w(e)?(x(),$("button",{key:0,class:"text-white py-2 px-4 mt-6 shadow-lg rounded-lg cursor-pointer bg-green-600 -hover-translate-y-2px transition",onClick:o[1]||(o[1]=f=>r())},"Share now to save for later")):nt("",!0)])],64))}};const Bn={class:"fixed z-200 min-h-50dvh bottom-0 right-0 left-0 bg-light-800 bg-opacity-80 backdrop-blur flex flex-col items-center gap-4 justify-start dark-bg-dark-200 dark-bg-opacity-80 p-8 shadow"},Un=v("path",{d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781L7.22 26.22L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z",fill:"#888888"},null,-1),Mn=[Un],Fn={class:"flex flex-col gap-8 relative pt-8"},Hn={class:"text-center max-w-45ch",for:"email"},jn={class:"flex gap-4 flex-wrap md-flex-nowrap"},Wn=["disabled"],zn={class:"text-xs opacity-60 text-center max-w-45ch mx-auto"},Zn={__name:"TheForm",setup(s){return(t,e)=>(x(),Dt(Ss,{name:"slide"},{default:D(()=>[Xt(v("div",Bn,[(x(),$("svg",{class:"absolute top-4 right-4 text-4xl cursor-pointer",onClick:e[0]||(e[0]=r=>tt.value=!1),xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 32 32"},Mn)),v("div",Fn,[v("label",Hn,[it(t.$slots,"default")]),v("div",jn,[Xt(v("input",{class:"flex-1 p-2 md-p-4 rounded-xl bg-light-200 shadow-md dark-bg-dark-400 flex-1",ref:"target",style:{flex:"10 1 200px"},"onUpdate:modelValue":e[1]||(e[1]=r=>_s(Z)?Z.value=r:null),id:"email",name:"email",type:"email",onKeydown:e[2]||(e[2]=xs(r=>w(Se)(w(Z)),["enter"])),placeholder:"your@gmail.com"},null,544),[[Es,w(Z)]]),v("button",{class:Le(["text-sm md-text-md p-2 font-bold md-p-4 rounded-xl shadow-xl hover-shadow-2xl transition -hover-translate-y-2px active-translate-y-0 active-shadow-md bg-green-400 dark-bg-green-700",{"grayscale-50":!w(Ee)}]),onClick:e[3]||(e[3]=r=>w(Se)(w(Z))),disabled:!w(Ee),style:{flex:"1 1 400px"}},[it(t.$slots,"button",{},()=>[M("GET ACCESS")])],10,Wn)]),v("div",zn,[it(t.$slots,"notice",{},()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")])])])],512),[[ws,w(tt)]])]),_:3}))}},Vn=v("h2",{class:"text-lg font-bold"},"Welcome to our free web synth collection!",-1),Gn=v("p",null,[v("a",{href:"https://playtronica.com",target:"_blank",rel:"noopener"},"Playtronica"),M(" is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. "),v("a",{href:"https://chromatone.center",target:"_blank",rel:"noopener"},"Chromatone"),M(" is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!")],-1),Yn=JSON.parse('{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","frontmatter":{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","date":"2023-06-22T00:00:00.000Z","layout":"home"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1690388893000}'),Jn={name:"index.md"},Qn=Object.assign(Jn,{setup(s){return(t,e)=>(x(),$("div",null,[V(qn,null,{default:D(()=>[Vn,Gn]),_:1}),V(Zn,null,{button:D(()=>[M("GET FULL ACCESS")]),notice:D(()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")]),default:D(()=>[M(" We are building a community of web-based musicians. Type in your e-mail to instantly get full access to the collection and occasionally receive community updates. ")]),_:1})]))}});export{Yn as __pageData,Qn as default}; diff --git a/assets/style.f3daf369.css b/assets/style.8a1da938.css similarity index 94% rename from assets/style.f3daf369.css rename to assets/style.8a1da938.css index 09b8e8dd..a68b1a5c 100644 --- a/assets/style.f3daf369.css +++ b/assets/style.8a1da938.css @@ -1 +1 @@ -@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: rgba(60, 60, 67, .29);--vp-c-divider: rgba(60, 60, 67, .12);--vp-c-gutter: rgba(60, 60, 67, .12);--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-brand: var(--vp-c-green);--vp-c-brand-light: var(--vp-c-green-light);--vp-c-brand-lighter: var(--vp-c-green-lighter);--vp-c-brand-dark: var(--vp-c-green-dark);--vp-c-brand-darker: var(--vp-c-green-darker);--vp-c-mute: #f6f6f7;--vp-c-mute-light: #f9f9fc;--vp-c-mute-lighter: #ffffff;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #313136;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #313136;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #313136;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #313136;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #313136;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #2c2c30;--vp-c-mute-darker: #252529}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-c-code-dimm: var(--vp-c-text-dark-3);--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #292b30;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root:not(.dark) .vp-adaptive-theme{--vp-c-code-dimm: var(--vp-c-text-2);--vp-code-block-color: var(--vp-c-text-1);--vp-code-block-bg: #f8f8f8;--vp-code-block-divider-color: var(--vp-c-divider);--vp-code-line-highlight-color: #ececec;--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-copy-code-bg: #e2e2e2;--vp-code-copy-code-hover-bg: #dcdcdc;--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-tab-divider: var(--vp-c-divider);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1)}:root{--vp-button-brand-border: var(--vp-c-brand-lighter);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-lighter);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-lighter);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darker);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft-up);--vp-custom-block-info-code-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-border: var(--vp-c-green);--vp-custom-block-tip-text: var(--vp-c-green-dark);--vp-custom-block-tip-bg: var(--vp-c-bg-soft-up);--vp-custom-block-tip-code-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft-up);--vp-custom-block-warning-code-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft-up);--vp-custom-block-danger-code-bg: var(--vp-c-bg-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-bg-soft-up);--vp-badge-tip-border: var(--vp-c-green-dark);--vp-badge-tip-text: var(--vp-c-green);--vp-badge-tip-bg: var(--vp-c-green-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow-dark);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red-dark);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}select{-webkit-appearance:none}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600}.custom-block a:hover{text-decoration:underline}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden}.vp-code-group .tabs:after{position:absolute;right:0;bottom:0;left:0;height:1px;background-color:var(--vp-code-tab-divider);content:""}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-]{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active{display:block}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.vp-doc a:hover{text-decoration:underline}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block a:hover{text-decoration:underline}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand);transition:color .25s}.vp-doc a:hover>code{color:var(--vp-c-brand-dark)}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-code-dimm);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target="_blank"]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-7e07b4f4]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:10px;padding:0 8px;line-height:18px;font-size:12px;font-weight:600;transform:translateY(-2px)}h1 .VPBadge[data-v-7e07b4f4],h2 .VPBadge[data-v-7e07b4f4],h3 .VPBadge[data-v-7e07b4f4],h4 .VPBadge[data-v-7e07b4f4],h5 .VPBadge[data-v-7e07b4f4],h6 .VPBadge[data-v-7e07b4f4]{vertical-align:top}h2 .VPBadge[data-v-7e07b4f4]{border-radius:11px;line-height:20px}.VPBadge.info[data-v-7e07b4f4]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-7e07b4f4]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-7e07b4f4]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-7e07b4f4]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-d6f800c3]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-d6f800c3],.VPBackdrop.fade-leave-to[data-v-d6f800c3]{opacity:0}.VPBackdrop.fade-leave-active[data-v-d6f800c3]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-d6f800c3]{display:none}}.NotFound[data-v-191e604a]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-191e604a]{padding:96px 32px 168px}}.code[data-v-191e604a]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-191e604a]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-191e604a]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-191e604a]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-191e604a]{padding-top:20px}.link[data-v-191e604a]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-191e604a]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.root[data-v-cc9e14a6]{position:relative;z-index:1}.nested[data-v-cc9e14a6]{padding-left:13px}.outline-link[data-v-cc9e14a6]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:500}.outline-link[data-v-cc9e14a6]:hover,.outline-link.active[data-v-cc9e14a6]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-cc9e14a6]{padding-left:13px}.VPDocAsideOutline[data-v-a090ee94]{display:none}.VPDocAsideOutline.has-outline[data-v-a090ee94]{display:block}.content[data-v-a090ee94]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-a090ee94]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-a090ee94]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-45247649]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-45247649]{flex-grow:1}.VPDocAside[data-v-45247649] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-45247649] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-45247649] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-31b2b01e]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-31b2b01e]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-83c6d7ca]{margin-top:64px}.edit-info[data-v-83c6d7ca]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-83c6d7ca]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-83c6d7ca]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-83c6d7ca]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-83c6d7ca]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-83c6d7ca]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-83c6d7ca]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-83c6d7ca]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-83c6d7ca]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-83c6d7ca]{margin-left:auto;text-align:right}.desc[data-v-83c6d7ca]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-83c6d7ca]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-67456c21]{margin-bottom:42px}.VPDocOutlineDropdown button[data-v-67456c21]{display:block;font-size:14px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;border:1px solid var(--vp-c-border);padding:4px 12px;border-radius:8px}.VPDocOutlineDropdown button[data-v-67456c21]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-67456c21]{color:var(--vp-c-text-1)}.icon[data-v-67456c21]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-67456c21] .outline-link{font-size:13px}.open>.icon[data-v-67456c21]{transform:rotate(90deg)}.items[data-v-67456c21]{margin-top:10px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-8a390ba0]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-8a390ba0]{display:none}@media (min-width: 960px) and (max-width: 1279px){.VPDoc .VPDocOutlineDropdown[data-v-8a390ba0]{display:block}}@media (min-width: 768px){.VPDoc[data-v-8a390ba0]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-8a390ba0]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-8a390ba0]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-8a390ba0]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-8a390ba0]{display:flex;justify-content:center}.VPDoc .aside[data-v-8a390ba0]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-8a390ba0]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-8a390ba0]{max-width:1104px}}.container[data-v-8a390ba0]{margin:0 auto;width:100%}.aside[data-v-8a390ba0]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-8a390ba0]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-8a390ba0]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-8a390ba0]::-webkit-scrollbar{display:none}.aside-curtain[data-v-8a390ba0]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-8a390ba0]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-8a390ba0]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-8a390ba0]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-8a390ba0]{order:1;margin:0;min-width:640px}}.content-container[data-v-8a390ba0]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-8a390ba0]{max-width:688px}.external-link-icon-enabled[data-v-8a390ba0] :is(.vp-doc a[href*="://"],.vp-doc a[target="_blank"]):after{content:"";color:currentColor}.VPButton[data-v-ea79a1ec]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-ea79a1ec]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-ea79a1ec]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-ea79a1ec]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-ea79a1ec]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-ea79a1ec]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-ea79a1ec]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-ea79a1ec]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-ea79a1ec]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-ea79a1ec]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-ea79a1ec]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-ea79a1ec]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-ea79a1ec]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-35d6bbfc]{display:none}.dark .VPImage.light[data-v-35d6bbfc]{display:none}.VPHero[data-v-32cf32d7]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-32cf32d7]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-32cf32d7]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-32cf32d7]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-32cf32d7]{flex-direction:row}}.main[data-v-32cf32d7]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-32cf32d7]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-32cf32d7]{text-align:left}}@media (min-width: 960px){.main[data-v-32cf32d7]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-32cf32d7]{max-width:592px}}.name[data-v-32cf32d7],.text[data-v-32cf32d7]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-32cf32d7],.VPHero.has-image .text[data-v-32cf32d7]{margin:0 auto}.name[data-v-32cf32d7]{color:var(--vp-home-hero-name-color)}.clip[data-v-32cf32d7]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-32cf32d7],.text[data-v-32cf32d7]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-32cf32d7],.text[data-v-32cf32d7]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-32cf32d7],.VPHero.has-image .text[data-v-32cf32d7]{margin:0}}.tagline[data-v-32cf32d7]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-32cf32d7]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-32cf32d7]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-32cf32d7]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-32cf32d7]{margin:0}}.actions[data-v-32cf32d7]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-32cf32d7]{justify-content:center}@media (min-width: 640px){.actions[data-v-32cf32d7]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-32cf32d7]{justify-content:flex-start}}.action[data-v-32cf32d7]{flex-shrink:0;padding:6px}.image[data-v-32cf32d7]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-32cf32d7]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-32cf32d7]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-32cf32d7]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-32cf32d7]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-32cf32d7]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-32cf32d7]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-32cf32d7]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-32cf32d7]{width:320px;height:320px}}[data-v-32cf32d7] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-32cf32d7] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-32cf32d7] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-8b43eb61]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-8b43eb61]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-8b43eb61]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-8b43eb61] .VPImage{width:48px;height:48px;margin-bottom:20px}.icon[data-v-8b43eb61]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-8b43eb61]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-8b43eb61]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-8b43eb61]{padding-top:8px}.link-text-value[data-v-8b43eb61]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-8b43eb61]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-025b21f0]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-025b21f0]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-025b21f0]{padding:0 64px}}.container[data-v-025b21f0]{margin:0 auto;max-width:1152px}.items[data-v-025b21f0]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-025b21f0]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-025b21f0],.item.grid-4[data-v-025b21f0],.item.grid-6[data-v-025b21f0]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-025b21f0],.item.grid-4[data-v-025b21f0]{width:50%}.item.grid-3[data-v-025b21f0],.item.grid-6[data-v-025b21f0]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-025b21f0]{width:25%}}.VPHome[data-v-efc768b1]{padding-bottom:96px}.VPHome[data-v-efc768b1] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-efc768b1]{padding-bottom:128px}}.VPContent[data-v-e789adba]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-e789adba]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-e789adba]{margin:0}@media (min-width: 960px){.VPContent[data-v-e789adba]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-e789adba]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-e789adba]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-3307258e]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-3307258e]{display:none}@media (min-width: 768px){.VPFooter[data-v-3307258e]{padding:32px}}.container[data-v-3307258e]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-3307258e],.copyright[data-v-3307258e]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-f2507778]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-f2507778]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-f2507778]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-f2507778]{color:var(--vp-c-text-1)}.icon[data-v-f2507778]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-f2507778] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-f2507778]{transform:rotate(90deg)}.items[data-v-f2507778]{position:absolute;left:20px;right:20px;top:64px;background-color:var(--vp-local-nav-bg-color);padding:4px 10px 16px;border:1px solid var(--vp-c-divider);border-radius:8px;max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.top-link[data-v-f2507778]{display:block;color:var(--vp-c-brand);font-size:13px;font-weight:500;padding:6px 0;margin:0 13px 10px;border-bottom:1px solid var(--vp-c-divider)}.flyout-enter-active[data-v-f2507778]{transition:all .2s ease-out}.flyout-leave-active[data-v-f2507778]{transition:all .15s ease-in}.flyout-enter-from[data-v-f2507778],.flyout-leave-to[data-v-f2507778]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-9c4b6fbb]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--vp-c-gutter);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-9c4b6fbb]{position:fixed}.VPLocalNav.reached-top[data-v-9c4b6fbb]{border-top-color:transparent}@media (min-width: 960px){.VPLocalNav[data-v-9c4b6fbb]{display:none}}.menu[data-v-9c4b6fbb]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-9c4b6fbb]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-9c4b6fbb]{padding:0 32px}}.menu-icon[data-v-9c4b6fbb]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-9c4b6fbb]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-9c4b6fbb]{padding:12px 32px 11px}}.VPSwitch[data-v-6210fbdc]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-6210fbdc]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-6210fbdc]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-6210fbdc]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-6210fbdc] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-6210fbdc] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-28f22231]{opacity:1}.moon[data-v-28f22231],.dark .sun[data-v-28f22231]{opacity:0}.dark .moon[data-v-28f22231]{opacity:1}.dark .VPSwitchAppearance[data-v-28f22231] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-b018fe68]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-b018fe68]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-c8f8bfc4]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-c8f8bfc4]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-c8f8bfc4]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-c8f8bfc4]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-bc3ed0f7]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-bc3ed0f7]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-bc3ed0f7]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-bc3ed0f7]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-70092dad]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-70092dad] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-70092dad] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-70092dad] .group:last-child{padding-bottom:0}.VPMenu[data-v-70092dad] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-70092dad] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-70092dad] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-70092dad] .action{padding-left:24px}.VPFlyout[data-v-3189c2f6]{position:relative}.VPFlyout[data-v-3189c2f6]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-3189c2f6]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-3189c2f6]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-3189c2f6]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-3189c2f6]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-3189c2f6],.button[aria-expanded=true]+.menu[data-v-3189c2f6]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-3189c2f6]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-3189c2f6]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-3189c2f6]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-3189c2f6]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-3189c2f6]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-3189c2f6]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-7a41c744]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-7a41c744]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-7a41c744]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-8e2f0e3a]{display:flex;justify-content:center}.VPNavBarExtra[data-v-30d183b7]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-30d183b7]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-30d183b7]{display:none}}.trans-title[data-v-30d183b7]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-30d183b7],.item.social-links[data-v-30d183b7]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-30d183b7]{min-width:176px}.appearance-action[data-v-30d183b7]{margin-right:-2px}.social-links-list[data-v-30d183b7]{margin:-4px -8px}.VPNavBarHamburger[data-v-129f7633]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-129f7633]{display:none}}.container[data-v-129f7633]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-129f7633]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-129f7633]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-129f7633]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-129f7633]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-129f7633]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-129f7633]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-129f7633],.VPNavBarHamburger.active:hover .middle[data-v-129f7633],.VPNavBarHamburger.active:hover .bottom[data-v-129f7633]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-129f7633],.middle[data-v-129f7633],.bottom[data-v-129f7633]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-129f7633]{top:0;left:0;transform:translate(0)}.middle[data-v-129f7633]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-129f7633]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-4b379756]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-4b379756],.VPNavBarMenuLink[data-v-4b379756]:hover{color:var(--vp-c-brand)}.VPNavBarMenu[data-v-97f3f2b1]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-97f3f2b1]{display:flex}}/*! @docsearch/css 3.5.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-693f294e]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-693f294e]{display:flex;align-items:center}}.title[data-v-dc761771]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-dc761771]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-dc761771]{border-bottom-color:var(--vp-c-divider)}}[data-v-dc761771] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-80e8cc8d]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-80e8cc8d]{display:flex;align-items:center}}.title[data-v-80e8cc8d]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-ecbe8fab]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap}@media (min-width: 768px){.VPNavBar[data-v-ecbe8fab]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-ecbe8fab]{padding:0}.VPNavBar.fill[data-v-ecbe8fab]:not(.has-sidebar){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-ecbe8fab]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-ecbe8fab],.container>.content[data-v-ecbe8fab]{pointer-events:none}.container[data-v-ecbe8fab] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-ecbe8fab]{max-width:100%}}.title[data-v-ecbe8fab]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-ecbe8fab]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-ecbe8fab]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-ecbe8fab]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-ecbe8fab]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-ecbe8fab]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-ecbe8fab]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .content-body[data-v-ecbe8fab],.VPNavBar.fill .content-body[data-v-ecbe8fab]{position:relative;background-color:var(--vp-nav-bg-color)}}@media (max-width: 768px){.content-body[data-v-ecbe8fab]{column-gap:.5rem}}.menu+.translations[data-v-ecbe8fab]:before,.menu+.appearance[data-v-ecbe8fab]:before,.menu+.social-links[data-v-ecbe8fab]:before,.translations+.appearance[data-v-ecbe8fab]:before,.appearance+.social-links[data-v-ecbe8fab]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-ecbe8fab]:before,.translations+.appearance[data-v-ecbe8fab]:before{margin-right:16px}.appearance+.social-links[data-v-ecbe8fab]:before{margin-left:16px}.social-links[data-v-ecbe8fab]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-ecbe8fab]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-ecbe8fab]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-ecbe8fab]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-31c975e6]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-31c975e6]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-64e0e203]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-64e0e203]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-1925888a]{display:block}.title[data-v-1925888a]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-fb7db6e1]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-fb7db6e1]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-fb7db6e1]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-fb7db6e1]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-fb7db6e1]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-fb7db6e1]{transform:rotate(45deg)}.button[data-v-fb7db6e1]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-fb7db6e1]:hover{color:var(--vp-c-brand)}.button-icon[data-v-fb7db6e1]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-fb7db6e1]:first-child{padding-top:0}.group+.group[data-v-fb7db6e1],.group+.item[data-v-fb7db6e1]{padding-top:4px}.VPNavScreenAppearance[data-v-5b8abe04]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-5b8abe04]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-a7fba829]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-a7fba829]{height:auto}.title[data-v-a7fba829]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-a7fba829]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-a7fba829]{margin-right:8px}.icon.chevron[data-v-a7fba829]{margin-left:4px}.list[data-v-a7fba829]{padding:4px 0 0 24px}.link[data-v-a7fba829]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-3850e4dd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-3850e4dd],.VPNavScreen.fade-leave-active[data-v-3850e4dd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-3850e4dd],.VPNavScreen.fade-leave-active .container[data-v-3850e4dd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-3850e4dd],.VPNavScreen.fade-leave-to[data-v-3850e4dd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-3850e4dd],.VPNavScreen.fade-leave-to .container[data-v-3850e4dd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-3850e4dd]{display:none}}.container[data-v-3850e4dd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-3850e4dd],.menu+.appearance[data-v-3850e4dd],.translations+.appearance[data-v-3850e4dd]{margin-top:24px}.menu+.social-links[data-v-3850e4dd]{margin-top:16px}.appearance+.social-links[data-v-3850e4dd]{margin-top:16px}.VPNav[data-v-409e7110]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-409e7110]{position:fixed}}.VPSidebarItem.level-0[data-v-5f4193fa]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-5f4193fa]{padding-bottom:10px}.item[data-v-5f4193fa]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-5f4193fa]{cursor:pointer}.indicator[data-v-5f4193fa]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-5f4193fa],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-5f4193fa],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-5f4193fa],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-5f4193fa]{background-color:var(--vp-c-brand)}.link[data-v-5f4193fa]{display:flex;align-items:center;flex-grow:1}.text[data-v-5f4193fa]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-5f4193fa]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-5f4193fa],.VPSidebarItem.level-2 .text[data-v-5f4193fa],.VPSidebarItem.level-3 .text[data-v-5f4193fa],.VPSidebarItem.level-4 .text[data-v-5f4193fa],.VPSidebarItem.level-5 .text[data-v-5f4193fa]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-5f4193fa],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-5f4193fa],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-5f4193fa],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-5f4193fa],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-5f4193fa],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-5f4193fa]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-5f4193fa],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-5f4193fa],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-5f4193fa],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-5f4193fa],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-5f4193fa],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-5f4193fa]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-5f4193fa],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-5f4193fa],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-5f4193fa],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-5f4193fa],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-5f4193fa],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-5f4193fa]{color:var(--vp-c-brand)}.caret[data-v-5f4193fa]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-5f4193fa]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-5f4193fa]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-5f4193fa]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-5f4193fa]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-5f4193fa],.VPSidebarItem.level-2 .items[data-v-5f4193fa],.VPSidebarItem.level-3 .items[data-v-5f4193fa],.VPSidebarItem.level-4 .items[data-v-5f4193fa],.VPSidebarItem.level-5 .items[data-v-5f4193fa]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-5f4193fa]{display:none}.VPSidebar[data-v-044f22f7]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-044f22f7]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-044f22f7]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-044f22f7]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-044f22f7]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-044f22f7]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-044f22f7]{outline:0}.group+.group[data-v-044f22f7]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-044f22f7]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-3fa2b084]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-3fa2b084]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-3fa2b084]{top:14px;left:16px}}.Layout[data-v-372b6a12]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-43c8e0e0]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-43c8e0e0]{margin:0 auto;max-width:1152px}.love[data-v-43c8e0e0]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-43c8e0e0]{width:28px;height:28px;fill:currentColor}.message[data-v-43c8e0e0]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-43c8e0e0]{padding-top:32px}.action[data-v-43c8e0e0]{padding-top:40px;text-align:center}.VPTeamPage[data-v-f061ffea]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-f061ffea]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-f061ffea-s],.VPTeamMembers+.VPTeamPageSection[data-v-f061ffea-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-f061ffea-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-f061ffea-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-f061ffea-s],.VPTeamMembers+.VPTeamPageSection[data-v-f061ffea-s]{margin-top:96px}}.VPTeamMembers[data-v-f061ffea-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-f061ffea-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-f061ffea-s]{padding:0 64px}}.VPTeamPageTitle[data-v-f579eef9]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-f579eef9]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-f579eef9]{padding:80px 64px 48px}}.title[data-v-f579eef9]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-f579eef9]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-f579eef9]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-f579eef9]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-cddcbcb2]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-cddcbcb2]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-cddcbcb2]{padding:0 64px}}.title[data-v-cddcbcb2]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-cddcbcb2]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-cddcbcb2]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-cddcbcb2]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-cddcbcb2]{padding-top:40px}.VPTeamMembersItem[data-v-740b440b]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-740b440b]{padding:32px}.VPTeamMembersItem.small .data[data-v-740b440b]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-740b440b]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-740b440b]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-740b440b]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-740b440b]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-740b440b]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-740b440b]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-740b440b]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-740b440b]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-740b440b]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-740b440b]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-740b440b]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-740b440b]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-740b440b]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-740b440b]{text-align:center}.avatar[data-v-740b440b]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-740b440b]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-740b440b]{margin:0;font-weight:600}.affiliation[data-v-740b440b]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-740b440b]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-740b440b]:hover{color:var(--vp-c-brand)}.desc[data-v-740b440b]{margin:0 auto}.desc[data-v-740b440b] a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.links[data-v-740b440b]{display:flex;justify-content:center;height:56px}.sp-link[data-v-740b440b]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-740b440b]:hover,.sp .sp-link.link[data-v-740b440b]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-740b440b]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-c37a06f4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-c37a06f4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-c37a06f4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-c37a06f4]{max-width:876px}.VPTeamMembers.medium .container[data-v-c37a06f4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-c37a06f4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-c37a06f4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-c37a06f4]{max-width:760px}.container[data-v-c37a06f4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.card img[data-v-9a2748d8]{--un-grayscale:grayscale(.7);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.card img[data-v-9a2748d8]:hover{--un-grayscale:grayscale(0);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.dark a{color:#fff!important}.intro p{margin-top:1rem;margin-bottom:1rem}.intro a{font-weight:700;text-decoration-line:underline}.slide-enter-active,.slide-leave-active{transition:all .5s ease-in-out}.slide-enter-to{transform:translateY(0)}.slide-enter-from,.slide-leave-to{transform:translateY(100%)}.slide-leave-from{transform:translateY(0)}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-2{top:.5rem}.top-4{top:1rem}.z-200{z-index:200}.grid{display:grid}.m-2{margin:.5rem}.m21{margin:5.25rem}.m9{margin:2.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.me{margin-inline-end:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-2,.h2{height:.5rem}.h1{height:.25rem}.h3{height:.75rem}.h4{height:1rem}.h5{height:1.25rem}.h6{height:1.5rem}.max-w-45ch{max-width:45ch}.max-w-75ch{max-width:75ch}.min-h-50{min-height:12.5rem}.min-h-50dvh{min-height:50dvh}.w-10{width:2.5rem}.w-2{width:.5rem}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.-hover-translate-y-2px:hover{--un-translate-y:-2px;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.active-translate-y-0:active{--un-translate-y:0;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-70{--un-scale-x:.7;--un-scale-y:.7;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-80{--un-scale-x:.8;--un-scale-y:.8;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer{cursor:pointer}.cursor-grab{cursor:grab}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.overflow-hidden{overflow:hidden}.border{border-width:1px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.bg-green-400{--un-bg-opacity:1;background-color:rgba(74,222,128,var(--un-bg-opacity))}.bg-green-500{--un-bg-opacity:1;background-color:rgba(34,197,94,var(--un-bg-opacity))}.bg-light-200{--un-bg-opacity:1;background-color:rgba(250,250,250,var(--un-bg-opacity))}.bg-light-300{--un-bg-opacity:1;background-color:rgba(248,249,250,var(--un-bg-opacity))}.bg-light-800{--un-bg-opacity:1;background-color:rgba(222,226,230,var(--un-bg-opacity))}.bg-red-500{--un-bg-opacity:1;background-color:rgba(239,68,68,var(--un-bg-opacity))}.dark .dark-bg-dark-200{--un-bg-opacity:1;background-color:rgba(50,50,50,var(--un-bg-opacity))}.dark .dark-bg-dark-300{--un-bg-opacity:1;background-color:rgba(45,45,45,var(--un-bg-opacity))}.dark .dark-bg-dark-400{--un-bg-opacity:1;background-color:rgba(34,34,34,var(--un-bg-opacity))}.dark .dark-bg-dark-800{--un-bg-opacity:1;background-color:rgba(24,24,24,var(--un-bg-opacity))}.dark .dark-bg-green-700{--un-bg-opacity:1;background-color:rgba(21,128,61,var(--un-bg-opacity))}.bg-opacity-80,.dark .dark-bg-opacity-80{--un-bg-opacity:.8}.p-0{padding:0}.p-2{padding:.5rem}.p-4{padding:1rem}.p-8{padding:2rem}.px,.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-16{padding-top:4rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-left{text-align:left}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.line-height-loose{line-height:2}.uppercase{text-transform:uppercase}.dark .dark-text-light-200{--un-text-opacity:1;color:rgba(250,250,250,var(--un-text-opacity))}.underline{text-decoration-line:underline}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-lg{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-md{--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.hover-shadow-2xl:hover{--un-shadow:var(--un-shadow-inset) 0 25px 50px -12px var(--un-shadow-color, rgba(0,0,0,.25));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.hover-shadow-xl:hover{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.active-shadow-md:active{--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-inset{--un-shadow-inset:inset}.outline{outline-style:solid}.backdrop-blur{--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.blur{--un-blur:blur(8px);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.grayscale-50{--un-grayscale:grayscale(.5);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.grayscale-70{--un-grayscale:grayscale(.7);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.hover-grayscale-0:hover{--un-grayscale:grayscale(0);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease,.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (min-width: 768px){.md-flex-nowrap{flex-wrap:nowrap}.md-gap-6{gap:1.5rem}.md-p-4{padding:1rem}.md-text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width: 1024px){.lg-m-8{margin:2rem}} +@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: rgba(60, 60, 67, .29);--vp-c-divider: rgba(60, 60, 67, .12);--vp-c-gutter: rgba(60, 60, 67, .12);--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-brand: var(--vp-c-green);--vp-c-brand-light: var(--vp-c-green-light);--vp-c-brand-lighter: var(--vp-c-green-lighter);--vp-c-brand-dark: var(--vp-c-green-dark);--vp-c-brand-darker: var(--vp-c-green-darker);--vp-c-mute: #f6f6f7;--vp-c-mute-light: #f9f9fc;--vp-c-mute-lighter: #ffffff;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #313136;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #313136;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #313136;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #313136;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #313136;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #2c2c30;--vp-c-mute-darker: #252529}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-c-code-dimm: var(--vp-c-text-dark-3);--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #292b30;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root:not(.dark) .vp-adaptive-theme{--vp-c-code-dimm: var(--vp-c-text-2);--vp-code-block-color: var(--vp-c-text-1);--vp-code-block-bg: #f8f8f8;--vp-code-block-divider-color: var(--vp-c-divider);--vp-code-line-highlight-color: #ececec;--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-copy-code-bg: #e2e2e2;--vp-code-copy-code-hover-bg: #dcdcdc;--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-tab-divider: var(--vp-c-divider);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1)}:root{--vp-button-brand-border: var(--vp-c-brand-lighter);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-lighter);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-lighter);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darker);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft-up);--vp-custom-block-info-code-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-border: var(--vp-c-green);--vp-custom-block-tip-text: var(--vp-c-green-dark);--vp-custom-block-tip-bg: var(--vp-c-bg-soft-up);--vp-custom-block-tip-code-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft-up);--vp-custom-block-warning-code-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft-up);--vp-custom-block-danger-code-bg: var(--vp-c-bg-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-bg-soft-up);--vp-badge-tip-border: var(--vp-c-green-dark);--vp-badge-tip-text: var(--vp-c-green);--vp-badge-tip-bg: var(--vp-c-green-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow-dark);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red-dark);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}select{-webkit-appearance:none}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600}.custom-block a:hover{text-decoration:underline}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden}.vp-code-group .tabs:after{position:absolute;right:0;bottom:0;left:0;height:1px;background-color:var(--vp-code-tab-divider);content:""}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-]{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active{display:block}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.vp-doc a:hover{text-decoration:underline}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block a:hover{text-decoration:underline}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand);transition:color .25s}.vp-doc a:hover>code{color:var(--vp-c-brand-dark)}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-code-dimm);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target="_blank"]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-7e07b4f4]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:10px;padding:0 8px;line-height:18px;font-size:12px;font-weight:600;transform:translateY(-2px)}h1 .VPBadge[data-v-7e07b4f4],h2 .VPBadge[data-v-7e07b4f4],h3 .VPBadge[data-v-7e07b4f4],h4 .VPBadge[data-v-7e07b4f4],h5 .VPBadge[data-v-7e07b4f4],h6 .VPBadge[data-v-7e07b4f4]{vertical-align:top}h2 .VPBadge[data-v-7e07b4f4]{border-radius:11px;line-height:20px}.VPBadge.info[data-v-7e07b4f4]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-7e07b4f4]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-7e07b4f4]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-7e07b4f4]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-d6f800c3]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-d6f800c3],.VPBackdrop.fade-leave-to[data-v-d6f800c3]{opacity:0}.VPBackdrop.fade-leave-active[data-v-d6f800c3]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-d6f800c3]{display:none}}.NotFound[data-v-191e604a]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-191e604a]{padding:96px 32px 168px}}.code[data-v-191e604a]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-191e604a]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-191e604a]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-191e604a]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-191e604a]{padding-top:20px}.link[data-v-191e604a]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-191e604a]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.root[data-v-cc9e14a6]{position:relative;z-index:1}.nested[data-v-cc9e14a6]{padding-left:13px}.outline-link[data-v-cc9e14a6]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:500}.outline-link[data-v-cc9e14a6]:hover,.outline-link.active[data-v-cc9e14a6]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-cc9e14a6]{padding-left:13px}.VPDocAsideOutline[data-v-a090ee94]{display:none}.VPDocAsideOutline.has-outline[data-v-a090ee94]{display:block}.content[data-v-a090ee94]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-a090ee94]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-a090ee94]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-45247649]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-45247649]{flex-grow:1}.VPDocAside[data-v-45247649] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-45247649] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-45247649] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-31b2b01e]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-31b2b01e]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-83c6d7ca]{margin-top:64px}.edit-info[data-v-83c6d7ca]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-83c6d7ca]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-83c6d7ca]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-83c6d7ca]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-83c6d7ca]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-83c6d7ca]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-83c6d7ca]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-83c6d7ca]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-83c6d7ca]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-83c6d7ca]{margin-left:auto;text-align:right}.desc[data-v-83c6d7ca]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-83c6d7ca]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-67456c21]{margin-bottom:42px}.VPDocOutlineDropdown button[data-v-67456c21]{display:block;font-size:14px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;border:1px solid var(--vp-c-border);padding:4px 12px;border-radius:8px}.VPDocOutlineDropdown button[data-v-67456c21]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-67456c21]{color:var(--vp-c-text-1)}.icon[data-v-67456c21]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-67456c21] .outline-link{font-size:13px}.open>.icon[data-v-67456c21]{transform:rotate(90deg)}.items[data-v-67456c21]{margin-top:10px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-8a390ba0]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-8a390ba0]{display:none}@media (min-width: 960px) and (max-width: 1279px){.VPDoc .VPDocOutlineDropdown[data-v-8a390ba0]{display:block}}@media (min-width: 768px){.VPDoc[data-v-8a390ba0]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-8a390ba0]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-8a390ba0]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-8a390ba0]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-8a390ba0]{display:flex;justify-content:center}.VPDoc .aside[data-v-8a390ba0]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-8a390ba0]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-8a390ba0]{max-width:1104px}}.container[data-v-8a390ba0]{margin:0 auto;width:100%}.aside[data-v-8a390ba0]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-8a390ba0]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-8a390ba0]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-8a390ba0]::-webkit-scrollbar{display:none}.aside-curtain[data-v-8a390ba0]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-8a390ba0]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-8a390ba0]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-8a390ba0]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-8a390ba0]{order:1;margin:0;min-width:640px}}.content-container[data-v-8a390ba0]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-8a390ba0]{max-width:688px}.external-link-icon-enabled[data-v-8a390ba0] :is(.vp-doc a[href*="://"],.vp-doc a[target="_blank"]):after{content:"";color:currentColor}.VPButton[data-v-ea79a1ec]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-ea79a1ec]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-ea79a1ec]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-ea79a1ec]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-ea79a1ec]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-ea79a1ec]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-ea79a1ec]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-ea79a1ec]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-ea79a1ec]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-ea79a1ec]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-ea79a1ec]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-ea79a1ec]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-ea79a1ec]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-35d6bbfc]{display:none}.dark .VPImage.light[data-v-35d6bbfc]{display:none}.VPHero[data-v-32cf32d7]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-32cf32d7]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-32cf32d7]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-32cf32d7]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-32cf32d7]{flex-direction:row}}.main[data-v-32cf32d7]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-32cf32d7]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-32cf32d7]{text-align:left}}@media (min-width: 960px){.main[data-v-32cf32d7]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-32cf32d7]{max-width:592px}}.name[data-v-32cf32d7],.text[data-v-32cf32d7]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-32cf32d7],.VPHero.has-image .text[data-v-32cf32d7]{margin:0 auto}.name[data-v-32cf32d7]{color:var(--vp-home-hero-name-color)}.clip[data-v-32cf32d7]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-32cf32d7],.text[data-v-32cf32d7]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-32cf32d7],.text[data-v-32cf32d7]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-32cf32d7],.VPHero.has-image .text[data-v-32cf32d7]{margin:0}}.tagline[data-v-32cf32d7]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-32cf32d7]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-32cf32d7]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-32cf32d7]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-32cf32d7]{margin:0}}.actions[data-v-32cf32d7]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-32cf32d7]{justify-content:center}@media (min-width: 640px){.actions[data-v-32cf32d7]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-32cf32d7]{justify-content:flex-start}}.action[data-v-32cf32d7]{flex-shrink:0;padding:6px}.image[data-v-32cf32d7]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-32cf32d7]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-32cf32d7]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-32cf32d7]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-32cf32d7]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-32cf32d7]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-32cf32d7]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-32cf32d7]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-32cf32d7]{width:320px;height:320px}}[data-v-32cf32d7] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-32cf32d7] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-32cf32d7] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-8b43eb61]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-8b43eb61]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-8b43eb61]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-8b43eb61] .VPImage{width:48px;height:48px;margin-bottom:20px}.icon[data-v-8b43eb61]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-8b43eb61]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-8b43eb61]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-8b43eb61]{padding-top:8px}.link-text-value[data-v-8b43eb61]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-8b43eb61]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-025b21f0]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-025b21f0]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-025b21f0]{padding:0 64px}}.container[data-v-025b21f0]{margin:0 auto;max-width:1152px}.items[data-v-025b21f0]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-025b21f0]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-025b21f0],.item.grid-4[data-v-025b21f0],.item.grid-6[data-v-025b21f0]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-025b21f0],.item.grid-4[data-v-025b21f0]{width:50%}.item.grid-3[data-v-025b21f0],.item.grid-6[data-v-025b21f0]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-025b21f0]{width:25%}}.VPHome[data-v-efc768b1]{padding-bottom:96px}.VPHome[data-v-efc768b1] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-efc768b1]{padding-bottom:128px}}.VPContent[data-v-e789adba]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-e789adba]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-e789adba]{margin:0}@media (min-width: 960px){.VPContent[data-v-e789adba]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-e789adba]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-e789adba]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-3307258e]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-3307258e]{display:none}@media (min-width: 768px){.VPFooter[data-v-3307258e]{padding:32px}}.container[data-v-3307258e]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-3307258e],.copyright[data-v-3307258e]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-f2507778]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-f2507778]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-f2507778]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-f2507778]{color:var(--vp-c-text-1)}.icon[data-v-f2507778]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-f2507778] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-f2507778]{transform:rotate(90deg)}.items[data-v-f2507778]{position:absolute;left:20px;right:20px;top:64px;background-color:var(--vp-local-nav-bg-color);padding:4px 10px 16px;border:1px solid var(--vp-c-divider);border-radius:8px;max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.top-link[data-v-f2507778]{display:block;color:var(--vp-c-brand);font-size:13px;font-weight:500;padding:6px 0;margin:0 13px 10px;border-bottom:1px solid var(--vp-c-divider)}.flyout-enter-active[data-v-f2507778]{transition:all .2s ease-out}.flyout-leave-active[data-v-f2507778]{transition:all .15s ease-in}.flyout-enter-from[data-v-f2507778],.flyout-leave-to[data-v-f2507778]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-9c4b6fbb]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--vp-c-gutter);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-9c4b6fbb]{position:fixed}.VPLocalNav.reached-top[data-v-9c4b6fbb]{border-top-color:transparent}@media (min-width: 960px){.VPLocalNav[data-v-9c4b6fbb]{display:none}}.menu[data-v-9c4b6fbb]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-9c4b6fbb]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-9c4b6fbb]{padding:0 32px}}.menu-icon[data-v-9c4b6fbb]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-9c4b6fbb]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-9c4b6fbb]{padding:12px 32px 11px}}.VPSwitch[data-v-6210fbdc]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-6210fbdc]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-6210fbdc]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-6210fbdc]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-6210fbdc] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-6210fbdc] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-28f22231]{opacity:1}.moon[data-v-28f22231],.dark .sun[data-v-28f22231]{opacity:0}.dark .moon[data-v-28f22231]{opacity:1}.dark .VPSwitchAppearance[data-v-28f22231] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-b018fe68]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-b018fe68]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-c8f8bfc4]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-c8f8bfc4]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-c8f8bfc4]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-c8f8bfc4]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-bc3ed0f7]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-bc3ed0f7]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-bc3ed0f7]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-bc3ed0f7]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-70092dad]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-70092dad] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-70092dad] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-70092dad] .group:last-child{padding-bottom:0}.VPMenu[data-v-70092dad] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-70092dad] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-70092dad] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-70092dad] .action{padding-left:24px}.VPFlyout[data-v-3189c2f6]{position:relative}.VPFlyout[data-v-3189c2f6]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-3189c2f6]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-3189c2f6]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-3189c2f6]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-3189c2f6]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-3189c2f6],.button[aria-expanded=true]+.menu[data-v-3189c2f6]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-3189c2f6]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-3189c2f6]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-3189c2f6]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-3189c2f6]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-3189c2f6]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-3189c2f6]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-7a41c744]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-7a41c744]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-7a41c744]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-8e2f0e3a]{display:flex;justify-content:center}.VPNavBarExtra[data-v-30d183b7]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-30d183b7]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-30d183b7]{display:none}}.trans-title[data-v-30d183b7]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-30d183b7],.item.social-links[data-v-30d183b7]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-30d183b7]{min-width:176px}.appearance-action[data-v-30d183b7]{margin-right:-2px}.social-links-list[data-v-30d183b7]{margin:-4px -8px}.VPNavBarHamburger[data-v-129f7633]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-129f7633]{display:none}}.container[data-v-129f7633]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-129f7633]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-129f7633]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-129f7633]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-129f7633]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-129f7633]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-129f7633]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-129f7633],.VPNavBarHamburger.active:hover .middle[data-v-129f7633],.VPNavBarHamburger.active:hover .bottom[data-v-129f7633]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-129f7633],.middle[data-v-129f7633],.bottom[data-v-129f7633]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-129f7633]{top:0;left:0;transform:translate(0)}.middle[data-v-129f7633]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-129f7633]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-4b379756]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-4b379756],.VPNavBarMenuLink[data-v-4b379756]:hover{color:var(--vp-c-brand)}.VPNavBarMenu[data-v-97f3f2b1]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-97f3f2b1]{display:flex}}/*! @docsearch/css 3.5.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-693f294e]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-693f294e]{display:flex;align-items:center}}.title[data-v-dc761771]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-dc761771]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-dc761771]{border-bottom-color:var(--vp-c-divider)}}[data-v-dc761771] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-80e8cc8d]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-80e8cc8d]{display:flex;align-items:center}}.title[data-v-80e8cc8d]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-ecbe8fab]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap}@media (min-width: 768px){.VPNavBar[data-v-ecbe8fab]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-ecbe8fab]{padding:0}.VPNavBar.fill[data-v-ecbe8fab]:not(.has-sidebar){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-ecbe8fab]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-ecbe8fab],.container>.content[data-v-ecbe8fab]{pointer-events:none}.container[data-v-ecbe8fab] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-ecbe8fab]{max-width:100%}}.title[data-v-ecbe8fab]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-ecbe8fab]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-ecbe8fab]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-ecbe8fab]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-ecbe8fab]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-ecbe8fab]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-ecbe8fab]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .content-body[data-v-ecbe8fab],.VPNavBar.fill .content-body[data-v-ecbe8fab]{position:relative;background-color:var(--vp-nav-bg-color)}}@media (max-width: 768px){.content-body[data-v-ecbe8fab]{column-gap:.5rem}}.menu+.translations[data-v-ecbe8fab]:before,.menu+.appearance[data-v-ecbe8fab]:before,.menu+.social-links[data-v-ecbe8fab]:before,.translations+.appearance[data-v-ecbe8fab]:before,.appearance+.social-links[data-v-ecbe8fab]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-ecbe8fab]:before,.translations+.appearance[data-v-ecbe8fab]:before{margin-right:16px}.appearance+.social-links[data-v-ecbe8fab]:before{margin-left:16px}.social-links[data-v-ecbe8fab]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-ecbe8fab]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-ecbe8fab]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-ecbe8fab]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-31c975e6]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-31c975e6]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-64e0e203]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-64e0e203]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-1925888a]{display:block}.title[data-v-1925888a]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-fb7db6e1]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-fb7db6e1]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-fb7db6e1]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-fb7db6e1]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-fb7db6e1]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-fb7db6e1]{transform:rotate(45deg)}.button[data-v-fb7db6e1]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-fb7db6e1]:hover{color:var(--vp-c-brand)}.button-icon[data-v-fb7db6e1]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-fb7db6e1]:first-child{padding-top:0}.group+.group[data-v-fb7db6e1],.group+.item[data-v-fb7db6e1]{padding-top:4px}.VPNavScreenAppearance[data-v-5b8abe04]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-5b8abe04]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-a7fba829]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-a7fba829]{height:auto}.title[data-v-a7fba829]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-a7fba829]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-a7fba829]{margin-right:8px}.icon.chevron[data-v-a7fba829]{margin-left:4px}.list[data-v-a7fba829]{padding:4px 0 0 24px}.link[data-v-a7fba829]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-3850e4dd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-3850e4dd],.VPNavScreen.fade-leave-active[data-v-3850e4dd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-3850e4dd],.VPNavScreen.fade-leave-active .container[data-v-3850e4dd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-3850e4dd],.VPNavScreen.fade-leave-to[data-v-3850e4dd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-3850e4dd],.VPNavScreen.fade-leave-to .container[data-v-3850e4dd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-3850e4dd]{display:none}}.container[data-v-3850e4dd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-3850e4dd],.menu+.appearance[data-v-3850e4dd],.translations+.appearance[data-v-3850e4dd]{margin-top:24px}.menu+.social-links[data-v-3850e4dd]{margin-top:16px}.appearance+.social-links[data-v-3850e4dd]{margin-top:16px}.VPNav[data-v-409e7110]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-409e7110]{position:fixed}}.VPSidebarItem.level-0[data-v-5f4193fa]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-5f4193fa]{padding-bottom:10px}.item[data-v-5f4193fa]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-5f4193fa]{cursor:pointer}.indicator[data-v-5f4193fa]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-5f4193fa],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-5f4193fa],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-5f4193fa],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-5f4193fa]{background-color:var(--vp-c-brand)}.link[data-v-5f4193fa]{display:flex;align-items:center;flex-grow:1}.text[data-v-5f4193fa]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-5f4193fa]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-5f4193fa],.VPSidebarItem.level-2 .text[data-v-5f4193fa],.VPSidebarItem.level-3 .text[data-v-5f4193fa],.VPSidebarItem.level-4 .text[data-v-5f4193fa],.VPSidebarItem.level-5 .text[data-v-5f4193fa]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-5f4193fa],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-5f4193fa],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-5f4193fa],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-5f4193fa],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-5f4193fa],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-5f4193fa]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-5f4193fa],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-5f4193fa],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-5f4193fa],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-5f4193fa],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-5f4193fa],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-5f4193fa]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-5f4193fa],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-5f4193fa],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-5f4193fa],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-5f4193fa],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-5f4193fa],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-5f4193fa]{color:var(--vp-c-brand)}.caret[data-v-5f4193fa]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-5f4193fa]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-5f4193fa]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-5f4193fa]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-5f4193fa]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-5f4193fa],.VPSidebarItem.level-2 .items[data-v-5f4193fa],.VPSidebarItem.level-3 .items[data-v-5f4193fa],.VPSidebarItem.level-4 .items[data-v-5f4193fa],.VPSidebarItem.level-5 .items[data-v-5f4193fa]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-5f4193fa]{display:none}.VPSidebar[data-v-044f22f7]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-044f22f7]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-044f22f7]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-044f22f7]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-044f22f7]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-044f22f7]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-044f22f7]{outline:0}.group+.group[data-v-044f22f7]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-044f22f7]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-3fa2b084]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-3fa2b084]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-3fa2b084]{top:14px;left:16px}}.Layout[data-v-372b6a12]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-43c8e0e0]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-43c8e0e0]{margin:0 auto;max-width:1152px}.love[data-v-43c8e0e0]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-43c8e0e0]{width:28px;height:28px;fill:currentColor}.message[data-v-43c8e0e0]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-43c8e0e0]{padding-top:32px}.action[data-v-43c8e0e0]{padding-top:40px;text-align:center}.VPTeamPage[data-v-f061ffea]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-f061ffea]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-f061ffea-s],.VPTeamMembers+.VPTeamPageSection[data-v-f061ffea-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-f061ffea-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-f061ffea-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-f061ffea-s],.VPTeamMembers+.VPTeamPageSection[data-v-f061ffea-s]{margin-top:96px}}.VPTeamMembers[data-v-f061ffea-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-f061ffea-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-f061ffea-s]{padding:0 64px}}.VPTeamPageTitle[data-v-f579eef9]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-f579eef9]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-f579eef9]{padding:80px 64px 48px}}.title[data-v-f579eef9]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-f579eef9]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-f579eef9]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-f579eef9]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-cddcbcb2]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-cddcbcb2]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-cddcbcb2]{padding:0 64px}}.title[data-v-cddcbcb2]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-cddcbcb2]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-cddcbcb2]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-cddcbcb2]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-cddcbcb2]{padding-top:40px}.VPTeamMembersItem[data-v-740b440b]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-740b440b]{padding:32px}.VPTeamMembersItem.small .data[data-v-740b440b]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-740b440b]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-740b440b]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-740b440b]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-740b440b]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-740b440b]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-740b440b]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-740b440b]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-740b440b]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-740b440b]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-740b440b]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-740b440b]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-740b440b]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-740b440b]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-740b440b]{text-align:center}.avatar[data-v-740b440b]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-740b440b]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-740b440b]{margin:0;font-weight:600}.affiliation[data-v-740b440b]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-740b440b]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-740b440b]:hover{color:var(--vp-c-brand)}.desc[data-v-740b440b]{margin:0 auto}.desc[data-v-740b440b] a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.links[data-v-740b440b]{display:flex;justify-content:center;height:56px}.sp-link[data-v-740b440b]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-740b440b]:hover,.sp .sp-link.link[data-v-740b440b]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-740b440b]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-c37a06f4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-c37a06f4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-c37a06f4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-c37a06f4]{max-width:876px}.VPTeamMembers.medium .container[data-v-c37a06f4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-c37a06f4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-c37a06f4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-c37a06f4]{max-width:760px}.container[data-v-c37a06f4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.card img[data-v-9a2748d8]{--un-grayscale:grayscale(.7);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.card img[data-v-9a2748d8]:hover{--un-grayscale:grayscale(0);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.dark a{color:#fff!important}.intro p{margin-top:1rem;margin-bottom:1rem}.intro a{font-weight:700;text-decoration-line:underline}.slide-enter-active,.slide-leave-active{transition:all .5s ease-in-out}.slide-enter-to{transform:translateY(0)}.slide-enter-from,.slide-leave-to{transform:translateY(100%)}.slide-leave-from{transform:translateY(0)}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-2{top:.5rem}.top-4{top:1rem}.z-200{z-index:200}.grid{display:grid}.m-2{margin:.5rem}.m21{margin:5.25rem}.m9{margin:2.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.me{margin-inline-end:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-2,.h2{height:.5rem}.h1{height:.25rem}.h3{height:.75rem}.h4{height:1rem}.h5{height:1.25rem}.h6{height:1.5rem}.max-w-45ch{max-width:45ch}.max-w-75ch{max-width:75ch}.min-h-50{min-height:12.5rem}.min-h-50dvh{min-height:50dvh}.w-10{width:2.5rem}.w-2{width:.5rem}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.-hover-translate-y-2px:hover{--un-translate-y:-2px;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.active-translate-y-0:active{--un-translate-y:0;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-70{--un-scale-x:.7;--un-scale-y:.7;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-80{--un-scale-x:.8;--un-scale-y:.8;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer{cursor:pointer}.cursor-grab{cursor:grab}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.overflow-hidden{overflow:hidden}.border{border-width:1px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.bg-green-400{--un-bg-opacity:1;background-color:rgba(74,222,128,var(--un-bg-opacity))}.bg-green-500{--un-bg-opacity:1;background-color:rgba(34,197,94,var(--un-bg-opacity))}.bg-green-600{--un-bg-opacity:1;background-color:rgba(22,163,74,var(--un-bg-opacity))}.bg-light-200{--un-bg-opacity:1;background-color:rgba(250,250,250,var(--un-bg-opacity))}.bg-light-300{--un-bg-opacity:1;background-color:rgba(248,249,250,var(--un-bg-opacity))}.bg-light-800{--un-bg-opacity:1;background-color:rgba(222,226,230,var(--un-bg-opacity))}.bg-red-500{--un-bg-opacity:1;background-color:rgba(239,68,68,var(--un-bg-opacity))}.dark .dark-bg-dark-200{--un-bg-opacity:1;background-color:rgba(50,50,50,var(--un-bg-opacity))}.dark .dark-bg-dark-300{--un-bg-opacity:1;background-color:rgba(45,45,45,var(--un-bg-opacity))}.dark .dark-bg-dark-400{--un-bg-opacity:1;background-color:rgba(34,34,34,var(--un-bg-opacity))}.dark .dark-bg-green-700{--un-bg-opacity:1;background-color:rgba(21,128,61,var(--un-bg-opacity))}.bg-opacity-80,.dark .dark-bg-opacity-80{--un-bg-opacity:.8}.p-0{padding:0}.p-2{padding:.5rem}.p-4{padding:1rem}.p-8{padding:2rem}.px,.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-16{padding-top:4rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-left{text-align:left}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.line-height-loose{line-height:2}.uppercase{text-transform:uppercase}.dark .dark-text-light-200{--un-text-opacity:1;color:rgba(250,250,250,var(--un-text-opacity))}.text-white{--un-text-opacity:1;color:rgba(255,255,255,var(--un-text-opacity))}.underline{text-decoration-line:underline}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-lg{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-md{--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.hover-shadow-2xl:hover{--un-shadow:var(--un-shadow-inset) 0 25px 50px -12px var(--un-shadow-color, rgba(0,0,0,.25));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.hover-shadow-xl:hover{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.active-shadow-md:active{--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-inset{--un-shadow-inset:inset}.outline{outline-style:solid}.backdrop-blur{--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.blur{--un-blur:blur(8px);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.grayscale-50{--un-grayscale:grayscale(.5);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.grayscale-70{--un-grayscale:grayscale(.7);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.hover-grayscale-0:hover{--un-grayscale:grayscale(0);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease,.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (min-width: 768px){.md-flex-nowrap{flex-wrap:nowrap}.md-gap-6{gap:1.5rem}.md-p-4{padding:1rem}.md-text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width: 1024px){.lg-m-8{margin:2rem}} diff --git a/hashmap.json b/hashmap.json index 08076b28..a4887b03 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"readme.md":"41301719","index.md":"ad3ccca6"} +{"readme.md":"41301719","index.md":"d77ad94a"} diff --git a/index.html b/index.html index e5b56f5e..f0c8393b 100644 --- a/index.html +++ b/index.html @@ -5,13 +5,13 @@ Web synths | Online synthesizers collection - + - + @@ -46,7 +46,7 @@
Skip to content

Welcome to our free web synth collection!

Playtronica is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. Chromatone is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!

- + \ No newline at end of file