@damn-dev/cli 0.13.4 → 0.13.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,7 +12,7 @@
12
12
  <link rel="preconnect" href="https://fonts.googleapis.com" />
13
13
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
14
14
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
15
- <script type="module" crossorigin src="/assets/index-D9F4ZZia.js"></script>
15
+ <script type="module" crossorigin src="/assets/index-6c6WsXAE.js"></script>
16
16
  <link rel="stylesheet" crossorigin href="/assets/index-DzL7epqh.css">
17
17
  <link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
18
18
  <body>
@@ -1,2 +1,2 @@
1
1
  try{self["workbox:core:7.3.0"]&&_()}catch{}const Q=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},G=Q;class l extends Error{constructor(e,t){const n=G(e,t);super(n),this.name=e,this.details=t}}const d={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},E=s=>[d.prefix,s,d.suffix].filter(e=>e&&e.length>0).join("-"),z=s=>{for(const e of Object.keys(d))s(e)},x={updateDetails:s=>{z(e=>{typeof s[e]=="string"&&(d[e]=s[e])})},getGoogleAnalyticsName:s=>s||E(d.googleAnalytics),getPrecacheName:s=>s||E(d.precache),getPrefix:()=>d.prefix,getRuntimeName:s=>s||E(d.runtime),getSuffix:()=>d.suffix};function K(s,e){const t=e();return s.waitUntil(t),t}try{self["workbox:precaching:7.3.0"]&&_()}catch{}const J="__WB_REVISION__";function X(s){if(!s)throw new l("add-to-cache-list-unexpected-type",{entry:s});if(typeof s=="string"){const r=new URL(s,location.href);return{cacheKey:r.href,url:r.href}}const{revision:e,url:t}=s;if(!t)throw new l("add-to-cache-list-unexpected-type",{entry:s});if(!e){const r=new URL(t,location.href);return{cacheKey:r.href,url:r.href}}const n=new URL(t,location.href),a=new URL(t,location.href);return n.searchParams.set(J,e),{cacheKey:n.href,url:a.href}}class Y{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type==="install"&&t&&t.originalRequest&&t.originalRequest instanceof Request){const a=t.originalRequest.url;n?this.notUpdatedURLs.push(a):this.updatedURLs.push(a)}return n}}}class Z{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:t,params:n})=>{const a=n?.cacheKey||this._precacheController.getCacheKeyForURL(t.url);return a?new Request(a,{headers:t.headers}):t},this._precacheController=e}}let m;function ee(){if(m===void 0){const s=new Response("");if("body"in s)try{new Response(s.body),m=!0}catch{m=!1}m=!1}return m}async function te(s,e){let t=null;if(s.url&&(t=new URL(s.url).origin),t!==self.location.origin)throw new l("cross-origin-copy-response",{origin:t});const n=s.clone(),r={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},i=ee()?n.body:await n.blob();return new Response(i,r)}const se=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function A(s,e){const t=new URL(s);for(const n of e)t.searchParams.delete(n);return t.href}async function ne(s,e,t,n){const a=A(e.url,t);if(e.url===a)return s.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),i=await s.keys(e,r);for(const c of i){const o=A(c.url,t);if(a===o)return s.match(c,n)}}class ae{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}const j=new Set;async function re(){for(const s of j)await s()}function ie(s){return new Promise(e=>setTimeout(e,s))}try{self["workbox:strategies:7.3.0"]&&_()}catch{}function b(s){return typeof s=="string"?new Request(s):s}class ce{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new ae,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=b(e);if(n.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const i=await t.preloadResponse;if(i)return i}const a=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const i of this.iterateCallbacks("requestWillFetch"))n=await i({request:n.clone(),event:t})}catch(i){if(i instanceof Error)throw new l("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const r=n.clone();try{let i;i=await fetch(n,n.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))i=await c({event:t,request:r,response:i});return i}catch(i){throw a&&await this.runCallbacks("fetchDidFail",{error:i,event:t,originalRequest:a.clone(),request:r.clone()}),i}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=b(e);let n;const{cacheName:a,matchOptions:r}=this._strategy,i=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},r),{cacheName:a});n=await caches.match(i,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await o({cacheName:a,matchOptions:r,cachedResponse:n,request:i,event:this.event})||void 0;return n}async cachePut(e,t){const n=b(e);await ie(0);const a=await this.getCacheKey(n,"write");if(!t)throw new l("cache-put-with-no-response",{url:se(a.url)});const r=await this._ensureResponseSafeToCache(t);if(!r)return!1;const{cacheName:i,matchOptions:c}=this._strategy,o=await self.caches.open(i),h=this.hasCallback("cacheDidUpdate"),g=h?await ne(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,h?r.clone():r)}catch(u){if(u instanceof Error)throw u.name==="QuotaExceededError"&&await re(),u}for(const u of this.iterateCallbacks("cacheDidUpdate"))await u({cacheName:i,oldResponse:g,newResponse:r.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let a=e;for(const r of this.iterateCallbacks("cacheKeyWillBeUsed"))a=b(await r({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[n]=a}return this._cacheKeys[n]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const n=this._pluginStateMap.get(t);yield r=>{const i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){for(;this._extendLifetimePromises.length;){const e=this._extendLifetimePromises.splice(0),n=(await Promise.allSettled(e)).find(a=>a.status==="rejected");if(n)throw n.reason}}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}}class I{constructor(e={}){this.cacheName=x.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,r=new ce(this,{event:t,request:n,params:a}),i=this._getResponse(r,n,t),c=this._awaitComplete(i,r,n,t);return[i,c]}async _getResponse(e,t,n){await e.runCallbacks("handlerWillStart",{event:n,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new l("no-response",{url:t.url})}catch(r){if(r instanceof Error){for(const i of e.iterateCallbacks("handlerDidError"))if(a=await i({error:r,event:n,request:t}),a)break}if(!a)throw r}for(const r of e.iterateCallbacks("handlerWillRespond"))a=await r({event:n,request:t,response:a});return a}async _awaitComplete(e,t,n,a){let r,i;try{r=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:n,response:r}),await t.doneWaiting()}catch(c){c instanceof Error&&(i=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:n,response:r,error:i}),t.destroy(),i)throw i}}class p extends I{constructor(e={}){e.cacheName=x.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=e.fallbackToNetwork!==!1,this.plugins.push(p.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const n=await t.cacheMatch(e);return n||(t.event&&t.event.type==="install"?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n;const a=t.params||{};if(this._fallbackToNetwork){const r=a.integrity,i=e.integrity,c=!i||i===r;n=await t.fetch(new Request(e,{integrity:e.mode!=="no-cors"?i||r:void 0})),r&&c&&e.mode!=="no-cors"&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,n.clone()))}else throw new l("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const n=await t.fetch(e);if(!await t.cachePut(e,n.clone()))throw new l("bad-precaching-response",{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[n,a]of this.plugins.entries())a!==p.copyRedirectedCacheableResponsesPlugin&&(a===p.defaultPrecacheCacheabilityPlugin&&(e=n),a.cacheWillUpdate&&t++);t===0?this.plugins.push(p.defaultPrecacheCacheabilityPlugin):t>1&&e!==null&&this.plugins.splice(e,1)}}p.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:s}){return!s||s.status>=400?null:s}};p.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:s}){return s.redirected?await te(s):s}};class oe{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new p({cacheName:x.getPrecacheName(e),plugins:[...t,new Z({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const t=[];for(const n of e){typeof n=="string"?t.push(n):n&&n.revision===void 0&&t.push(n.url);const{cacheKey:a,url:r}=X(n),i=typeof n!="string"&&n.revision?"reload":"default";if(this._urlsToCacheKeys.has(r)&&this._urlsToCacheKeys.get(r)!==a)throw new l("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(r),secondEntry:a});if(typeof n!="string"&&n.integrity){if(this._cacheKeysToIntegrities.has(a)&&this._cacheKeysToIntegrities.get(a)!==n.integrity)throw new l("add-to-cache-list-conflicting-integrities",{url:r});this._cacheKeysToIntegrities.set(a,n.integrity)}if(this._urlsToCacheKeys.set(r,a),this._urlsToCacheModes.set(r,i),t.length>0){const c=`Workbox is precaching URLs without revision info: ${t.join(", ")}
2
- This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return K(e,async()=>{const t=new Y;this.strategy.plugins.push(t);for(const[r,i]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(i),o=this._urlsToCacheModes.get(r),h=new Request(r,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:i},request:h,event:e}))}const{updatedURLs:n,notUpdatedURLs:a}=t;return{updatedURLs:n,notUpdatedURLs:a}})}activate(e){return K(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),n=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),r=[];for(const i of n)a.has(i.url)||(await t.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new l("non-precached-url",{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}}let D;const F=()=>(D||(D=new oe),D);try{self["workbox:routing:7.3.0"]&&_()}catch{}const q="GET",C=s=>s&&typeof s=="object"?s:{handle:s};class R{constructor(e,t,n=q){this.handler=C(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=C(e)}}class he extends R{constructor(e,t,n){const a=({url:r})=>{const i=e.exec(r.href);if(i&&!(r.origin!==location.origin&&i.index!==0))return i.slice(1)};super(a,t,n)}}class le{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",(e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener("message",(e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let c=i&&i.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let h;try{h=c.handle({url:n,request:e,event:t,params:r})}catch(u){h=Promise.reject(u)}const g=i&&i.catchHandler;return h instanceof Promise&&(this._catchHandler||g)&&(h=h.catch(async u=>{if(g)try{return await g.handle({url:n,request:e,event:t,params:r})}catch(v){v instanceof Error&&(u=v)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw u})),h}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const i of r){let c;const o=i.match({url:e,sameOrigin:t,request:n,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:i,params:c}}return{}}setDefaultHandler(e,t=q){this._defaultHandlerMap.set(t,C(e))}setCatchHandler(e){this._catchHandler=C(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new l("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new l("unregister-route-route-not-registered")}}let w;const ue=()=>(w||(w=new le,w.addFetchListener(),w.addCacheListener()),w);function N(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),i=({url:c})=>c.href===r.href;n=new R(i,e,t)}else if(s instanceof RegExp)n=new he(s,e,t);else if(typeof s=="function")n=new R(s,e,t);else if(s instanceof R)n=s;else throw new l("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return ue().registerRoute(n),n}function de(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(n=>n.test(t))&&s.searchParams.delete(t);return s}function*fe(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:n=!0,urlManipulation:a}={}){const r=new URL(s,location.href);r.hash="",yield r.href;const i=de(r,e);if(yield i.href,t&&i.pathname.endsWith("/")){const c=new URL(i.href);c.pathname+=t,yield c.href}if(n){const c=new URL(i.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:r});for(const o of c)yield o.href}}class pe extends R{constructor(e,t){const n=({request:a})=>{const r=e.getURLsToCacheKeys();for(const i of fe(a.url,t)){const c=r.get(i);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(n,e.strategy)}}function ge(s){const e=F(),t=new pe(e,s);N(t)}function me(s){F().precache(s)}function we(s,e){me(s),ge(e)}class ye extends I{async _handle(e,t){let n=await t.cacheMatch(e),a;if(!n)try{n=await t.fetchAndCachePut(e)}catch(r){r instanceof Error&&(a=r)}if(!n)throw new l("no-response",{url:e.url,error:a});return n}}const _e={cacheWillUpdate:async({response:s})=>s.status===200||s.status===0?s:null};class Re extends I{constructor(e={}){super(e),this.plugins.some(t=>"cacheWillUpdate"in t)||this.plugins.unshift(_e),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){const n=[],a=[];let r;if(this._networkTimeoutSeconds){const{id:o,promise:h}=this._getTimeoutPromise({request:e,logs:n,handler:t});r=o,a.push(h)}const i=this._getNetworkPromise({timeoutId:r,request:e,logs:n,handler:t});a.push(i);const c=await t.waitUntil((async()=>await t.waitUntil(Promise.race(a))||await i)());if(!c)throw new l("no-response",{url:e.url});return c}_getTimeoutPromise({request:e,logs:t,handler:n}){let a;return{promise:new Promise(i=>{a=setTimeout(async()=>{i(await n.cacheMatch(e))},this._networkTimeoutSeconds*1e3)}),id:a}}async _getNetworkPromise({timeoutId:e,request:t,logs:n,handler:a}){let r,i;try{i=await a.fetchAndCachePut(t)}catch(c){c instanceof Error&&(r=c)}return e&&clearTimeout(e),(r||!i)&&(i=await a.cacheMatch(t)),i}}function H(s){s.then(()=>{})}const be=(s,e)=>e.some(t=>s instanceof t);let S,O;function Ce(){return S||(S=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function xe(){return O||(O=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const V=new WeakMap,U=new WeakMap,$=new WeakMap,L=new WeakMap,M=new WeakMap;function Ee(s){const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("success",r),s.removeEventListener("error",i)},r=()=>{t(f(s.result)),a()},i=()=>{n(s.error),a()};s.addEventListener("success",r),s.addEventListener("error",i)});return e.then(t=>{t instanceof IDBCursor&&V.set(t,s)}).catch(()=>{}),M.set(e,s),e}function De(s){if(U.has(s))return;const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("complete",r),s.removeEventListener("error",i),s.removeEventListener("abort",i)},r=()=>{t(),a()},i=()=>{n(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",r),s.addEventListener("error",i),s.addEventListener("abort",i)});U.set(s,e)}let P={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return U.get(s);if(e==="objectStoreNames")return s.objectStoreNames||$.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return f(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function Le(s){P=s(P)}function Te(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const n=s.call(T(this),e,...t);return $.set(n,e.sort?e.sort():[e]),f(n)}:xe().includes(s)?function(...e){return s.apply(T(this),e),f(V.get(this))}:function(...e){return f(s.apply(T(this),e))}}function ke(s){return typeof s=="function"?Te(s):(s instanceof IDBTransaction&&De(s),be(s,Ce())?new Proxy(s,P):s)}function f(s){if(s instanceof IDBRequest)return Ee(s);if(L.has(s))return L.get(s);const e=ke(s);return e!==s&&(L.set(s,e),M.set(e,s)),e}const T=s=>M.get(s);function Ue(s,e,{blocked:t,upgrade:n,blocking:a,terminated:r}={}){const i=indexedDB.open(s,e),c=f(i);return n&&i.addEventListener("upgradeneeded",o=>{n(f(i.result),o.oldVersion,o.newVersion,f(i.transaction),o)}),t&&i.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{r&&o.addEventListener("close",()=>r()),a&&o.addEventListener("versionchange",h=>a(h.oldVersion,h.newVersion,h))}).catch(()=>{}),c}function Pe(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",n=>e(n.oldVersion,n)),f(t).then(()=>{})}const Ie=["get","getKey","getAll","getAllKeys","count"],Ne=["put","add","delete","clear"],k=new Map;function W(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(k.get(e))return k.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,a=Ne.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!(a||Ie.includes(t)))return;const r=async function(i,...c){const o=this.transaction(i,a?"readwrite":"readonly");let h=o.store;return n&&(h=h.index(c.shift())),(await Promise.all([h[t](...c),a&&o.done]))[0]};return k.set(e,r),r}Le(s=>({...s,get:(e,t,n)=>W(e,t)||s.get(e,t,n),has:(e,t)=>!!W(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.3.0"]&&_()}catch{}const Me="workbox-expiration",y="cache-entries",B=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class ve{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(y,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&Pe(this._cacheName)}async setTimestamp(e,t){e=B(e);const n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=(await this.getDb()).transaction(y,"readwrite",{durability:"relaxed"});await r.store.put(n),await r.done}async getTimestamp(e){const n=await(await this.getDb()).get(y,this._getId(e));return n?.timestamp}async expireEntries(e,t){const n=await this.getDb();let a=await n.transaction(y).store.index("timestamp").openCursor(null,"prev");const r=[];let i=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp<e||t&&i>=t?r.push(a.value):i++),a=await a.continue()}const c=[];for(const o of r)await n.delete(y,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+B(e)}async getDb(){return this._db||(this._db=await Ue(Me,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class Ke{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new ve(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(const a of t)await n.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,H(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),n=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t<n:!0}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}function Ae(s){j.add(s)}class Se{constructor(e={}){this.cachedResponseWillBeUsed=async({event:t,request:n,cacheName:a,cachedResponse:r})=>{if(!r)return null;const i=this._isResponseDateFresh(r),c=this._getCacheExpiration(a);H(c.expireEntries());const o=c.updateTimestamp(n.url);if(t)try{t.waitUntil(o)}catch{}return i?r:null},this.cacheDidUpdate=async({cacheName:t,request:n})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(n.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&Ae(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===x.getRuntimeName())throw new l("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new Ke(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const n=Date.now();return t>=n-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}we([{"revision":"1a7b2c8387fe88ac0bf01f6051cfadfe","url":"splash.html"},{"revision":"1872c500de691dce40960bb85481de07","url":"registerSW.js"},{"revision":"8d971aa35fdac16ba354afb6a9bd07ef","url":"offline.html"},{"revision":"af2c2595a79f02458c47f07d499cd869","url":"index.html"},{"revision":"9639b1b260b9b510b02c2a39fb8fb132","url":"icon.svg"},{"revision":"73f4f03722601814ecd0efdfe9728c12","url":"icon-maskable.svg"},{"revision":"d60c4e979f3a2aa4d38ee675228b7bd0","url":"icon-maskable-512.png"},{"revision":"2754db3357978a19cfa6221f7f183a84","url":"icon-512.png"},{"revision":"d56e23d6e4d3e802eb550c861ba727d0","url":"icon-192.png"},{"revision":"65605c0df89fb669cf2f829061b668e3","url":"favicon.ico"},{"revision":null,"url":"assets/zig-VOosw3JB.js"},{"revision":null,"url":"assets/zenscript-DVFEvuxE.js"},{"revision":null,"url":"assets/yaml-Buea-lGh.js"},{"revision":null,"url":"assets/xsl-CtQFsRM5.js"},{"revision":null,"url":"assets/xml-sdJ4AIDG.js"},{"revision":null,"url":"assets/wolfram-lXgVvXCa.js"},{"revision":null,"url":"assets/wit-5i3qLPDT.js"},{"revision":null,"url":"assets/wikitext-BhOHFoWU.js"},{"revision":null,"url":"assets/wgsl-Dx-B1_4e.js"},{"revision":null,"url":"assets/wenyan-BV7otONQ.js"},{"revision":null,"url":"assets/wasm-MzD3tlZU.js"},{"revision":null,"url":"assets/wasm-CG6Dc4jp.js"},{"revision":null,"url":"assets/vyper-CDx5xZoG.js"},{"revision":null,"url":"assets/vue-vine-BoDAl6tE.js"},{"revision":null,"url":"assets/vue-html-AaS7Mt5G.js"},{"revision":null,"url":"assets/vue-D2xRrEX4.js"},{"revision":null,"url":"assets/vitesse-light-CVO1_9PV.js"},{"revision":null,"url":"assets/vitesse-dark-D0r3Knsf.js"},{"revision":null,"url":"assets/vitesse-black-Bkuqu6BP.js"},{"revision":null,"url":"assets/viml-CJc9bBzg.js"},{"revision":null,"url":"assets/vhdl-CeAyd5Ju.js"},{"revision":null,"url":"assets/vesper-DU1UobuO.js"},{"revision":null,"url":"assets/verilog-BQ8w6xss.js"},{"revision":null,"url":"assets/vb-D17OF-Vu.js"},{"revision":null,"url":"assets/vala-CsfeWuGM.js"},{"revision":null,"url":"assets/v-BcVCzyr7.js"},{"revision":null,"url":"assets/typst-DHCkPAjA.js"},{"revision":null,"url":"assets/typespec-CAFt9gP4.js"},{"revision":null,"url":"assets/typescript-BPQ3VLAy.js"},{"revision":null,"url":"assets/twig-xg9kU7Mw.js"},{"revision":null,"url":"assets/turtle-BsS91CYL.js"},{"revision":null,"url":"assets/tsx-COt5Ahok.js"},{"revision":null,"url":"assets/tsv-B_m7g4N7.js"},{"revision":null,"url":"assets/ts-tags-DQrlYJgV.js"},{"revision":null,"url":"assets/toml-vGWfd6FD.js"},{"revision":null,"url":"assets/tokyo-night-hegEt444.js"},{"revision":null,"url":"assets/tex-idrVyKtj.js"},{"revision":null,"url":"assets/terraform-BETggiCN.js"},{"revision":null,"url":"assets/templ-DhtptRzy.js"},{"revision":null,"url":"assets/tcl-dwOrl1Do.js"},{"revision":null,"url":"assets/tauriTerminal-4k8awVqp.js"},{"revision":null,"url":"assets/tasl-QIJgUcNo.js"},{"revision":null,"url":"assets/talonscript-CkByrt1z.js"},{"revision":null,"url":"assets/systemd-4A_iFExJ.js"},{"revision":null,"url":"assets/system-verilog-CnnmHF94.js"},{"revision":null,"url":"assets/synthwave-84-CbfX1IO0.js"},{"revision":null,"url":"assets/swift-D82vCrfD.js"},{"revision":null,"url":"assets/svelte-Cy7k_4gC.js"},{"revision":null,"url":"assets/surrealql-Bq5Q-fJD.js"},{"revision":null,"url":"assets/stylus-BEDo0Tqx.js"},{"revision":null,"url":"assets/stata-BH5u7GGu.js"},{"revision":null,"url":"assets/ssh-config-_ykCGR6B.js"},{"revision":null,"url":"assets/sql-BLtJtn59.js"},{"revision":null,"url":"assets/splunk-BtCnVYZw.js"},{"revision":null,"url":"assets/sparql-rVzFXLq3.js"},{"revision":null,"url":"assets/soy-8wufbnw4.js"},{"revision":null,"url":"assets/solidity-rGO070M0.js"},{"revision":null,"url":"assets/solarized-light-L9t79GZl.js"},{"revision":null,"url":"assets/solarized-dark-DXbdFlpD.js"},{"revision":null,"url":"assets/snazzy-light-Bw305WKR.js"},{"revision":null,"url":"assets/smalltalk-BERRCDM3.js"},{"revision":null,"url":"assets/slack-ochin-DqwNpetd.js"},{"revision":null,"url":"assets/slack-dark-BthQWCQV.js"},{"revision":null,"url":"assets/shellsession-BADoaaVG.js"},{"revision":null,"url":"assets/shellscript-Yzrsuije.js"},{"revision":null,"url":"assets/shaderlab-Dg9Lc6iA.js"},{"revision":null,"url":"assets/sdbl-DVxCFoDh.js"},{"revision":null,"url":"assets/scss-D5BDwBP9.js"},{"revision":null,"url":"assets/scheme-C98Dy4si.js"},{"revision":null,"url":"assets/scala-C151Ov-r.js"},{"revision":null,"url":"assets/sass-Cj5Yp3dK.js"},{"revision":null,"url":"assets/sas-cz2c8ADy.js"},{"revision":null,"url":"assets/rust-B1yitclQ.js"},{"revision":null,"url":"assets/ruby-Wjq7vjNf.js"},{"revision":null,"url":"assets/rst-CRjBmOyv.js"},{"revision":null,"url":"assets/rosmsg-BJDFO7_C.js"},{"revision":null,"url":"assets/rose-pine-qdsjHGoJ.js"},{"revision":null,"url":"assets/rose-pine-moon-D4_iv3hh.js"},{"revision":null,"url":"assets/rose-pine-dawn-DHQR4-dF.js"},{"revision":null,"url":"assets/ron-D8l8udqQ.js"},{"revision":null,"url":"assets/riscv-BM1_JUlF.js"},{"revision":null,"url":"assets/rel-C3B-1QV4.js"},{"revision":null,"url":"assets/regexp-CDVJQ6XC.js"},{"revision":null,"url":"assets/reg-C-SQnVFl.js"},{"revision":null,"url":"assets/red-bN70gL4F.js"},{"revision":null,"url":"assets/razor-BDqjjVU7.js"},{"revision":null,"url":"assets/raku-DXvB9xmW.js"},{"revision":null,"url":"assets/racket-BqYA7rlc.js"},{"revision":null,"url":"assets/r-Dspwwk_N.js"},{"revision":null,"url":"assets/qss-IeuSbFQv.js"},{"revision":null,"url":"assets/qmldir-C8lEn-DE.js"},{"revision":null,"url":"assets/qml-3beO22l8.js"},{"revision":null,"url":"assets/python-B6aJPvgy.js"},{"revision":null,"url":"assets/purescript-CklMAg4u.js"},{"revision":null,"url":"assets/puppet-BMWR74SV.js"},{"revision":null,"url":"assets/pug-DKIMFp6K.js"},{"revision":null,"url":"assets/proto-C7zT0LnQ.js"},{"revision":null,"url":"assets/prolog-CbFg5uaA.js"},{"revision":null,"url":"assets/prisma-Dd19v3D-.js"},{"revision":null,"url":"assets/powershell-Dpen1YoG.js"},{"revision":null,"url":"assets/powerquery-CEu0bR-o.js"},{"revision":null,"url":"assets/postcss-CXtECtnM.js"},{"revision":null,"url":"assets/polar-C0HS_06l.js"},{"revision":null,"url":"assets/poimandres-CS3Unz2-.js"},{"revision":null,"url":"assets/po-BTJTHyun.js"},{"revision":null,"url":"assets/plsql-ChMvpjG-.js"},{"revision":null,"url":"assets/plastic-3e1v2bzS.js"},{"revision":null,"url":"assets/pkl-u5AG7uiY.js"},{"revision":null,"url":"assets/php-R6g_5hLQ.js"},{"revision":null,"url":"assets/perl-NvoQZIq0.js"},{"revision":null,"url":"assets/pascal-D93ZcfNL.js"},{"revision":null,"url":"assets/openscad-C4EeE6gA.js"},{"revision":null,"url":"assets/one-light-C3Wv6jpd.js"},{"revision":null,"url":"assets/one-dark-pro-DVMEJ2y_.js"},{"revision":null,"url":"assets/odin-BBf5iR-q.js"},{"revision":null,"url":"assets/ocaml-C0hk2d4L.js"},{"revision":null,"url":"assets/objective-cpp-CLxacb5B.js"},{"revision":null,"url":"assets/objective-c-DXmwc3jG.js"},{"revision":null,"url":"assets/nushell-Cz2AlsmD.js"},{"revision":null,"url":"assets/nord-Ddv68eIx.js"},{"revision":null,"url":"assets/nix-CwoSXNpI.js"},{"revision":null,"url":"assets/nim-BIad80T-.js"},{"revision":null,"url":"assets/night-owl-light-CMTm3GFP.js"},{"revision":null,"url":"assets/night-owl-C39BiMTA.js"},{"revision":null,"url":"assets/nginx-BpAMiNFr.js"},{"revision":null,"url":"assets/nextflow-groovy-vE_lwT2v.js"},{"revision":null,"url":"assets/nextflow-C-mBbutL.js"},{"revision":null,"url":"assets/narrat-DRg8JJMk.js"},{"revision":null,"url":"assets/move-IF9eRakj.js"},{"revision":null,"url":"assets/moonbit-_H4v1dQx.js"},{"revision":null,"url":"assets/monokai-D4h5O-jR.js"},{"revision":null,"url":"assets/mojo-rZm6bMo-.js"},{"revision":null,"url":"assets/mipsasm-CKIfxQSi.js"},{"revision":null,"url":"assets/min-light-CTRr51gU.js"},{"revision":null,"url":"assets/min-dark-CafNBF8u.js"},{"revision":null,"url":"assets/mermaid-mWjccvbQ.js"},{"revision":null,"url":"assets/mdx-Cmh6b_Ma.js"},{"revision":null,"url":"assets/mdc-DTYItulj.js"},{"revision":null,"url":"assets/matlab-D7o27uSR.js"},{"revision":null,"url":"assets/material-theme-palenight-Csfq5Kiy.js"},{"revision":null,"url":"assets/material-theme-ocean-CyktbL80.js"},{"revision":null,"url":"assets/material-theme-lighter-B0m2ddpp.js"},{"revision":null,"url":"assets/material-theme-darker-BfHTSMKl.js"},{"revision":null,"url":"assets/material-theme-D5KoaKCx.js"},{"revision":null,"url":"assets/marko-DjSrsDqO.js"},{"revision":null,"url":"assets/markdown-Cvjx9yec.js"},{"revision":null,"url":"assets/make-CHLpvVh8.js"},{"revision":null,"url":"assets/luau-C-HG3fhB.js"},{"revision":null,"url":"assets/lua-BaeVxFsk.js"},{"revision":null,"url":"assets/logo-BtOb2qkB.js"},{"revision":null,"url":"assets/log-2UxHyX5q.js"},{"revision":null,"url":"assets/llvm-DjAJT7YJ.js"},{"revision":null,"url":"assets/liquid-C0sCDyMI.js"},{"revision":null,"url":"assets/light-plus-B7mTdjB0.js"},{"revision":null,"url":"assets/less-B1dDrJ26.js"},{"revision":null,"url":"assets/lean-BZvkOJ9d.js"},{"revision":null,"url":"assets/latex-CWtU0Tv5.js"},{"revision":null,"url":"assets/laserwave-DUszq2jm.js"},{"revision":null,"url":"assets/kusto-wEQ09or8.js"},{"revision":null,"url":"assets/kotlin-BdnUsdx6.js"},{"revision":null,"url":"assets/kdl-DV7GczEv.js"},{"revision":null,"url":"assets/kanagawa-wave-DWedfzmr.js"},{"revision":null,"url":"assets/kanagawa-lotus-CfQXZHmo.js"},{"revision":null,"url":"assets/kanagawa-dragon-CkXjmgJE.js"},{"revision":null,"url":"assets/just-VxiPbLrw.js"},{"revision":null,"url":"assets/julia-CxzCAyBv.js"},{"revision":null,"url":"assets/jsx-g9-lgVsj.js"},{"revision":null,"url":"assets/jssm-C2t-YnRu.js"},{"revision":null,"url":"assets/jsonnet-DFQXde-d.js"},{"revision":null,"url":"assets/jsonl-DcaNXYhu.js"},{"revision":null,"url":"assets/jsonc-Des-eS-w.js"},{"revision":null,"url":"assets/json5-C9tS-k6U.js"},{"revision":null,"url":"assets/json-Cp-IABpG.js"},{"revision":null,"url":"assets/jison-wvAkD_A8.js"},{"revision":null,"url":"assets/jinja-f2NsQr07.js"},{"revision":null,"url":"assets/javascript-wDzz0qaB.js"},{"revision":null,"url":"assets/java-CylS5w8V.js"},{"revision":null,"url":"assets/ini-BEwlwnbL.js"},{"revision":null,"url":"assets/index-E-6oA41F.js"},{"revision":null,"url":"assets/index-DzL7epqh.css"},{"revision":null,"url":"assets/index-D9F4ZZia.js"},{"revision":null,"url":"assets/index-Cpew6ait.js"},{"revision":null,"url":"assets/index-CdilBaXC.js"},{"revision":null,"url":"assets/index-CO34o7br.js"},{"revision":null,"url":"assets/imba-DGztddWO.js"},{"revision":null,"url":"assets/hy-DFXneXwc.js"},{"revision":null,"url":"assets/hxml-Bvhsp5Yf.js"},{"revision":null,"url":"assets/hurl-irOxFIW8.js"},{"revision":null,"url":"assets/http-jrhK8wxY.js"},{"revision":null,"url":"assets/html-pp8916En.js"},{"revision":null,"url":"assets/html-derivative-DlHx6ybY.js"},{"revision":null,"url":"assets/houston-DnULxvSX.js"},{"revision":null,"url":"assets/horizon-bright-CUuTKBJd.js"},{"revision":null,"url":"assets/horizon-BUw7H-hv.js"},{"revision":null,"url":"assets/hlsl-D3lLCCz7.js"},{"revision":null,"url":"assets/hjson-D5-asLiD.js"},{"revision":null,"url":"assets/hcl-BWvSN4gD.js"},{"revision":null,"url":"assets/haxe-CzTSHFRz.js"},{"revision":null,"url":"assets/haskell-Df6bDoY_.js"},{"revision":null,"url":"assets/handlebars-BpdQsYii.js"},{"revision":null,"url":"assets/haml-D5jkg6IW.js"},{"revision":null,"url":"assets/hack-i7_Ulhet.js"},{"revision":null,"url":"assets/gruvbox-light-soft-hJgmCMqR.js"},{"revision":null,"url":"assets/gruvbox-light-medium-DRw_LuNl.js"},{"revision":null,"url":"assets/gruvbox-light-hard-CH1njM8p.js"},{"revision":null,"url":"assets/gruvbox-dark-soft-CVdnzihN.js"},{"revision":null,"url":"assets/gruvbox-dark-medium-GsRaNv29.js"},{"revision":null,"url":"assets/gruvbox-dark-hard-CFHQjOhq.js"},{"revision":null,"url":"assets/groovy-gcz8RCvz.js"},{"revision":null,"url":"assets/graphql-ChdNCCLP.js"},{"revision":null,"url":"assets/go-C27-OAKa.js"},{"revision":null,"url":"assets/gnuplot-DdkO51Og.js"},{"revision":null,"url":"assets/gn-n2N0HUVH.js"},{"revision":null,"url":"assets/glsl-DplSGwfg.js"},{"revision":null,"url":"assets/glimmer-ts-BfAWNZQY.js"},{"revision":null,"url":"assets/glimmer-js-ByusRIyA.js"},{"revision":null,"url":"assets/gleam-BspZqrRM.js"},{"revision":null,"url":"assets/github-light-high-contrast-BfjtVDDH.js"},{"revision":null,"url":"assets/github-light-default-D7oLnXFd.js"},{"revision":null,"url":"assets/github-light-DAi9KRSo.js"},{"revision":null,"url":"assets/github-dark-high-contrast-E3gJ1_iC.js"},{"revision":null,"url":"assets/github-dark-dimmed-DH5Ifo-i.js"},{"revision":null,"url":"assets/github-dark-default-Cuk6v7N8.js"},{"revision":null,"url":"assets/github-dark-DHJKELXO.js"},{"revision":null,"url":"assets/git-rebase-r7XF79zn.js"},{"revision":null,"url":"assets/git-commit-F4YmCXRG.js"},{"revision":null,"url":"assets/gherkin-DyxjwDmM.js"},{"revision":null,"url":"assets/genie-D0YGMca9.js"},{"revision":null,"url":"assets/gdshader-DkwncUOv.js"},{"revision":null,"url":"assets/gdscript-C5YyOfLZ.js"},{"revision":null,"url":"assets/gdresource-BOOCDP_w.js"},{"revision":null,"url":"assets/fsharp-CXgrBDvD.js"},{"revision":null,"url":"assets/fortran-free-form-BxgE0vQu.js"},{"revision":null,"url":"assets/fortran-fixed-form-CkoXwp7k.js"},{"revision":null,"url":"assets/fluent-C4IJs8-o.js"},{"revision":null,"url":"assets/fish-BvzEVeQv.js"},{"revision":null,"url":"assets/fennel-BYunw83y.js"},{"revision":null,"url":"assets/everforest-light-C8M2exoo.js"},{"revision":null,"url":"assets/everforest-dark-BgDCqdQA.js"},{"revision":null,"url":"assets/erlang-DsQrWhSR.js"},{"revision":null,"url":"assets/erb-BYCe7drp.js"},{"revision":null,"url":"assets/emacs-lisp-CXvaQtF9.js"},{"revision":null,"url":"assets/elm-DbKCFpqz.js"},{"revision":null,"url":"assets/elixir-CkH2-t6x.js"},{"revision":null,"url":"assets/edge-FbVlp4U3.js"},{"revision":null,"url":"assets/dream-maker-BtqSS_iP.js"},{"revision":null,"url":"assets/dracula-soft-BXkSAIEj.js"},{"revision":null,"url":"assets/dracula-BzJJZx-M.js"},{"revision":null,"url":"assets/dotenv-Da5cRb03.js"},{"revision":null,"url":"assets/docker-BcOcwvcX.js"},{"revision":null,"url":"assets/diff-D97Zzqfu.js"},{"revision":null,"url":"assets/desktop-BmXAJ9_W.js"},{"revision":null,"url":"assets/dax-CEL-wOlO.js"},{"revision":null,"url":"assets/dart-bE4Kk8sk.js"},{"revision":null,"url":"assets/dark-plus-C3mMm8J8.js"},{"revision":null,"url":"assets/d-85-TOEBH.js"},{"revision":null,"url":"assets/cypher-COkxafJQ.js"},{"revision":null,"url":"assets/cue-D82EKSYY.js"},{"revision":null,"url":"assets/csv-fuZLfV_i.js"},{"revision":null,"url":"assets/css-CLj8gQPS.js"},{"revision":null,"url":"assets/csharp-COcwbKMJ.js"},{"revision":null,"url":"assets/crystal-DNxU26gB.js"},{"revision":null,"url":"assets/cpp-CofmeUqb.js"},{"revision":null,"url":"assets/core-Bjnh3KEM.js"},{"revision":null,"url":"assets/coq-DkFqJrB1.js"},{"revision":null,"url":"assets/common-lisp-Cg-RD9OK.js"},{"revision":null,"url":"assets/coffee-Ch7k5sss.js"},{"revision":null,"url":"assets/codeql-DsOJ9woJ.js"},{"revision":null,"url":"assets/codeowners-Bp6g37R7.js"},{"revision":null,"url":"assets/cobol-nBiQ_Alo.js"},{"revision":null,"url":"assets/cmake-D1j8_8rp.js"},{"revision":null,"url":"assets/clojure-P80f7IUj.js"},{"revision":null,"url":"assets/clarity-D53aC0YG.js"},{"revision":null,"url":"assets/catppuccin-mocha-D87Tk5Gz.js"},{"revision":null,"url":"assets/catppuccin-macchiato-DQyhUUbL.js"},{"revision":null,"url":"assets/catppuccin-latte-C9dUb6Cb.js"},{"revision":null,"url":"assets/catppuccin-frappe-DFWUc33u.js"},{"revision":null,"url":"assets/cairo-KRGpt6FW.js"},{"revision":null,"url":"assets/cadence-Bv_4Rxtq.js"},{"revision":null,"url":"assets/c3-eo99z4R2.js"},{"revision":null,"url":"assets/c-BIGW1oBm.js"},{"revision":null,"url":"assets/bsl-BO_Y6i37.js"},{"revision":null,"url":"assets/blade-BjGOyj-B.js"},{"revision":null,"url":"assets/bird2-BIv1doCn.js"},{"revision":null,"url":"assets/bicep-Bmn6On1c.js"},{"revision":null,"url":"assets/bibtex-CHM0blh-.js"},{"revision":null,"url":"assets/berry-uYugtg8r.js"},{"revision":null,"url":"assets/beancount-k_qm7-4y.js"},{"revision":null,"url":"assets/bat-BkioyH1T.js"},{"revision":null,"url":"assets/ballerina-BFfxhgS-.js"},{"revision":null,"url":"assets/ayu-mirage-32ctXXKs.js"},{"revision":null,"url":"assets/ayu-light-BA47KaF1.js"},{"revision":null,"url":"assets/ayu-dark-DYE7WIF3.js"},{"revision":null,"url":"assets/awk-DMzUqQB5.js"},{"revision":null,"url":"assets/aurora-x-D-2ljcwZ.js"},{"revision":null,"url":"assets/astro-HNnZUWAn.js"},{"revision":null,"url":"assets/asm-D_Q5rh1f.js"},{"revision":null,"url":"assets/asciidoc-Ve4PFQV2.js"},{"revision":null,"url":"assets/ara-BRHolxvo.js"},{"revision":null,"url":"assets/applescript-Co6uUVPk.js"},{"revision":null,"url":"assets/apl-CORt7UWP.js"},{"revision":null,"url":"assets/apex-D8_7TLub.js"},{"revision":null,"url":"assets/apache-Pmp26Uib.js"},{"revision":null,"url":"assets/angular-ts-BrjP3tb8.js"},{"revision":null,"url":"assets/angular-html-DA-rfuFy.js"},{"revision":null,"url":"assets/andromeeda-C4gqWexZ.js"},{"revision":null,"url":"assets/ada-bCR0ucgS.js"},{"revision":null,"url":"assets/actionscript-3-CoDkCxhg.js"},{"revision":null,"url":"assets/abap-BdImnpbu.js"},{"revision":"65605c0df89fb669cf2f829061b668e3","url":"favicon.ico"},{"revision":"d56e23d6e4d3e802eb550c861ba727d0","url":"icon-192.png"},{"revision":"2754db3357978a19cfa6221f7f183a84","url":"icon-512.png"},{"revision":"d60c4e979f3a2aa4d38ee675228b7bd0","url":"icon-maskable-512.png"},{"revision":"73f4f03722601814ecd0efdfe9728c12","url":"icon-maskable.svg"},{"revision":"9639b1b260b9b510b02c2a39fb8fb132","url":"icon.svg"},{"revision":"8d971aa35fdac16ba354afb6a9bd07ef","url":"offline.html"},{"revision":"1a7b2c8387fe88ac0bf01f6051cfadfe","url":"splash.html"},{"revision":"161d7b68d0ef3b4a6e9d70971664748e","url":"manifest.webmanifest"}]);N(({url:s})=>s.pathname.startsWith("/trpc/")||s.pathname.startsWith("/webhooks/"),new Re({cacheName:"api-cache",networkTimeoutSeconds:10}));N(({url:s})=>s.pathname.startsWith("/assets/"),new ye({cacheName:"static-assets",plugins:[new Se({maxAgeSeconds:720*60*60})]}));self.addEventListener("push",s=>{const e=s.data?.json()??{};s.waitUntil(self.registration.showNotification(e.title??"damn.dev",{body:e.body??"",icon:"/icon-192.png",badge:"/icon-192.png",data:e.data,tag:e.data?.type??"default",renotify:!0}))});self.addEventListener("notificationclick",s=>{s.notification.close();const e=s.notification.data,t=e?.channelId?`/?channel=${e.channelId}`:"/";s.waitUntil(self.clients.matchAll({type:"window"}).then(n=>{for(const a of n)if(a.url.includes(self.location.origin)){a.focus(),a.navigate(t);return}return self.clients.openWindow(t)}))});
2
+ This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return K(e,async()=>{const t=new Y;this.strategy.plugins.push(t);for(const[r,i]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(i),o=this._urlsToCacheModes.get(r),h=new Request(r,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:i},request:h,event:e}))}const{updatedURLs:n,notUpdatedURLs:a}=t;return{updatedURLs:n,notUpdatedURLs:a}})}activate(e){return K(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),n=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),r=[];for(const i of n)a.has(i.url)||(await t.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new l("non-precached-url",{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}}let D;const F=()=>(D||(D=new oe),D);try{self["workbox:routing:7.3.0"]&&_()}catch{}const q="GET",C=s=>s&&typeof s=="object"?s:{handle:s};class R{constructor(e,t,n=q){this.handler=C(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=C(e)}}class he extends R{constructor(e,t,n){const a=({url:r})=>{const i=e.exec(r.href);if(i&&!(r.origin!==location.origin&&i.index!==0))return i.slice(1)};super(a,t,n)}}class le{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",(e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener("message",(e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let c=i&&i.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let h;try{h=c.handle({url:n,request:e,event:t,params:r})}catch(u){h=Promise.reject(u)}const g=i&&i.catchHandler;return h instanceof Promise&&(this._catchHandler||g)&&(h=h.catch(async u=>{if(g)try{return await g.handle({url:n,request:e,event:t,params:r})}catch(v){v instanceof Error&&(u=v)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw u})),h}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const i of r){let c;const o=i.match({url:e,sameOrigin:t,request:n,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:i,params:c}}return{}}setDefaultHandler(e,t=q){this._defaultHandlerMap.set(t,C(e))}setCatchHandler(e){this._catchHandler=C(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new l("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new l("unregister-route-route-not-registered")}}let w;const ue=()=>(w||(w=new le,w.addFetchListener(),w.addCacheListener()),w);function N(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),i=({url:c})=>c.href===r.href;n=new R(i,e,t)}else if(s instanceof RegExp)n=new he(s,e,t);else if(typeof s=="function")n=new R(s,e,t);else if(s instanceof R)n=s;else throw new l("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return ue().registerRoute(n),n}function de(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(n=>n.test(t))&&s.searchParams.delete(t);return s}function*fe(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:n=!0,urlManipulation:a}={}){const r=new URL(s,location.href);r.hash="",yield r.href;const i=de(r,e);if(yield i.href,t&&i.pathname.endsWith("/")){const c=new URL(i.href);c.pathname+=t,yield c.href}if(n){const c=new URL(i.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:r});for(const o of c)yield o.href}}class pe extends R{constructor(e,t){const n=({request:a})=>{const r=e.getURLsToCacheKeys();for(const i of fe(a.url,t)){const c=r.get(i);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(n,e.strategy)}}function ge(s){const e=F(),t=new pe(e,s);N(t)}function me(s){F().precache(s)}function we(s,e){me(s),ge(e)}class ye extends I{async _handle(e,t){let n=await t.cacheMatch(e),a;if(!n)try{n=await t.fetchAndCachePut(e)}catch(r){r instanceof Error&&(a=r)}if(!n)throw new l("no-response",{url:e.url,error:a});return n}}const _e={cacheWillUpdate:async({response:s})=>s.status===200||s.status===0?s:null};class Re extends I{constructor(e={}){super(e),this.plugins.some(t=>"cacheWillUpdate"in t)||this.plugins.unshift(_e),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){const n=[],a=[];let r;if(this._networkTimeoutSeconds){const{id:o,promise:h}=this._getTimeoutPromise({request:e,logs:n,handler:t});r=o,a.push(h)}const i=this._getNetworkPromise({timeoutId:r,request:e,logs:n,handler:t});a.push(i);const c=await t.waitUntil((async()=>await t.waitUntil(Promise.race(a))||await i)());if(!c)throw new l("no-response",{url:e.url});return c}_getTimeoutPromise({request:e,logs:t,handler:n}){let a;return{promise:new Promise(i=>{a=setTimeout(async()=>{i(await n.cacheMatch(e))},this._networkTimeoutSeconds*1e3)}),id:a}}async _getNetworkPromise({timeoutId:e,request:t,logs:n,handler:a}){let r,i;try{i=await a.fetchAndCachePut(t)}catch(c){c instanceof Error&&(r=c)}return e&&clearTimeout(e),(r||!i)&&(i=await a.cacheMatch(t)),i}}function H(s){s.then(()=>{})}const be=(s,e)=>e.some(t=>s instanceof t);let S,O;function Ce(){return S||(S=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function xe(){return O||(O=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const V=new WeakMap,U=new WeakMap,$=new WeakMap,L=new WeakMap,M=new WeakMap;function Ee(s){const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("success",r),s.removeEventListener("error",i)},r=()=>{t(f(s.result)),a()},i=()=>{n(s.error),a()};s.addEventListener("success",r),s.addEventListener("error",i)});return e.then(t=>{t instanceof IDBCursor&&V.set(t,s)}).catch(()=>{}),M.set(e,s),e}function De(s){if(U.has(s))return;const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("complete",r),s.removeEventListener("error",i),s.removeEventListener("abort",i)},r=()=>{t(),a()},i=()=>{n(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",r),s.addEventListener("error",i),s.addEventListener("abort",i)});U.set(s,e)}let P={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return U.get(s);if(e==="objectStoreNames")return s.objectStoreNames||$.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return f(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function Le(s){P=s(P)}function Te(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const n=s.call(T(this),e,...t);return $.set(n,e.sort?e.sort():[e]),f(n)}:xe().includes(s)?function(...e){return s.apply(T(this),e),f(V.get(this))}:function(...e){return f(s.apply(T(this),e))}}function ke(s){return typeof s=="function"?Te(s):(s instanceof IDBTransaction&&De(s),be(s,Ce())?new Proxy(s,P):s)}function f(s){if(s instanceof IDBRequest)return Ee(s);if(L.has(s))return L.get(s);const e=ke(s);return e!==s&&(L.set(s,e),M.set(e,s)),e}const T=s=>M.get(s);function Ue(s,e,{blocked:t,upgrade:n,blocking:a,terminated:r}={}){const i=indexedDB.open(s,e),c=f(i);return n&&i.addEventListener("upgradeneeded",o=>{n(f(i.result),o.oldVersion,o.newVersion,f(i.transaction),o)}),t&&i.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{r&&o.addEventListener("close",()=>r()),a&&o.addEventListener("versionchange",h=>a(h.oldVersion,h.newVersion,h))}).catch(()=>{}),c}function Pe(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",n=>e(n.oldVersion,n)),f(t).then(()=>{})}const Ie=["get","getKey","getAll","getAllKeys","count"],Ne=["put","add","delete","clear"],k=new Map;function W(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(k.get(e))return k.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,a=Ne.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!(a||Ie.includes(t)))return;const r=async function(i,...c){const o=this.transaction(i,a?"readwrite":"readonly");let h=o.store;return n&&(h=h.index(c.shift())),(await Promise.all([h[t](...c),a&&o.done]))[0]};return k.set(e,r),r}Le(s=>({...s,get:(e,t,n)=>W(e,t)||s.get(e,t,n),has:(e,t)=>!!W(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.3.0"]&&_()}catch{}const Me="workbox-expiration",y="cache-entries",B=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class ve{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(y,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&Pe(this._cacheName)}async setTimestamp(e,t){e=B(e);const n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=(await this.getDb()).transaction(y,"readwrite",{durability:"relaxed"});await r.store.put(n),await r.done}async getTimestamp(e){const n=await(await this.getDb()).get(y,this._getId(e));return n?.timestamp}async expireEntries(e,t){const n=await this.getDb();let a=await n.transaction(y).store.index("timestamp").openCursor(null,"prev");const r=[];let i=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp<e||t&&i>=t?r.push(a.value):i++),a=await a.continue()}const c=[];for(const o of r)await n.delete(y,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+B(e)}async getDb(){return this._db||(this._db=await Ue(Me,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class Ke{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new ve(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(const a of t)await n.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,H(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),n=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t<n:!0}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}function Ae(s){j.add(s)}class Se{constructor(e={}){this.cachedResponseWillBeUsed=async({event:t,request:n,cacheName:a,cachedResponse:r})=>{if(!r)return null;const i=this._isResponseDateFresh(r),c=this._getCacheExpiration(a);H(c.expireEntries());const o=c.updateTimestamp(n.url);if(t)try{t.waitUntil(o)}catch{}return i?r:null},this.cacheDidUpdate=async({cacheName:t,request:n})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(n.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&Ae(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===x.getRuntimeName())throw new l("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new Ke(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const n=Date.now();return t>=n-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}we([{"revision":"1a7b2c8387fe88ac0bf01f6051cfadfe","url":"splash.html"},{"revision":"1872c500de691dce40960bb85481de07","url":"registerSW.js"},{"revision":"8d971aa35fdac16ba354afb6a9bd07ef","url":"offline.html"},{"revision":"b19ac40dd948524c019d677eb972d0ce","url":"index.html"},{"revision":"9639b1b260b9b510b02c2a39fb8fb132","url":"icon.svg"},{"revision":"73f4f03722601814ecd0efdfe9728c12","url":"icon-maskable.svg"},{"revision":"d60c4e979f3a2aa4d38ee675228b7bd0","url":"icon-maskable-512.png"},{"revision":"2754db3357978a19cfa6221f7f183a84","url":"icon-512.png"},{"revision":"d56e23d6e4d3e802eb550c861ba727d0","url":"icon-192.png"},{"revision":"65605c0df89fb669cf2f829061b668e3","url":"favicon.ico"},{"revision":null,"url":"assets/zig-VOosw3JB.js"},{"revision":null,"url":"assets/zenscript-DVFEvuxE.js"},{"revision":null,"url":"assets/yaml-Buea-lGh.js"},{"revision":null,"url":"assets/xsl-CtQFsRM5.js"},{"revision":null,"url":"assets/xml-sdJ4AIDG.js"},{"revision":null,"url":"assets/wolfram-lXgVvXCa.js"},{"revision":null,"url":"assets/wit-5i3qLPDT.js"},{"revision":null,"url":"assets/wikitext-BhOHFoWU.js"},{"revision":null,"url":"assets/wgsl-Dx-B1_4e.js"},{"revision":null,"url":"assets/wenyan-BV7otONQ.js"},{"revision":null,"url":"assets/wasm-MzD3tlZU.js"},{"revision":null,"url":"assets/wasm-CG6Dc4jp.js"},{"revision":null,"url":"assets/vyper-CDx5xZoG.js"},{"revision":null,"url":"assets/vue-vine-BoDAl6tE.js"},{"revision":null,"url":"assets/vue-html-AaS7Mt5G.js"},{"revision":null,"url":"assets/vue-D2xRrEX4.js"},{"revision":null,"url":"assets/vitesse-light-CVO1_9PV.js"},{"revision":null,"url":"assets/vitesse-dark-D0r3Knsf.js"},{"revision":null,"url":"assets/vitesse-black-Bkuqu6BP.js"},{"revision":null,"url":"assets/viml-CJc9bBzg.js"},{"revision":null,"url":"assets/vhdl-CeAyd5Ju.js"},{"revision":null,"url":"assets/vesper-DU1UobuO.js"},{"revision":null,"url":"assets/verilog-BQ8w6xss.js"},{"revision":null,"url":"assets/vb-D17OF-Vu.js"},{"revision":null,"url":"assets/vala-CsfeWuGM.js"},{"revision":null,"url":"assets/v-BcVCzyr7.js"},{"revision":null,"url":"assets/typst-DHCkPAjA.js"},{"revision":null,"url":"assets/typespec-CAFt9gP4.js"},{"revision":null,"url":"assets/typescript-BPQ3VLAy.js"},{"revision":null,"url":"assets/twig-xg9kU7Mw.js"},{"revision":null,"url":"assets/turtle-BsS91CYL.js"},{"revision":null,"url":"assets/tsx-COt5Ahok.js"},{"revision":null,"url":"assets/tsv-B_m7g4N7.js"},{"revision":null,"url":"assets/ts-tags-DQrlYJgV.js"},{"revision":null,"url":"assets/toml-vGWfd6FD.js"},{"revision":null,"url":"assets/tokyo-night-hegEt444.js"},{"revision":null,"url":"assets/tex-idrVyKtj.js"},{"revision":null,"url":"assets/terraform-BETggiCN.js"},{"revision":null,"url":"assets/templ-DhtptRzy.js"},{"revision":null,"url":"assets/tcl-dwOrl1Do.js"},{"revision":null,"url":"assets/tauriTerminal-4k8awVqp.js"},{"revision":null,"url":"assets/tasl-QIJgUcNo.js"},{"revision":null,"url":"assets/talonscript-CkByrt1z.js"},{"revision":null,"url":"assets/systemd-4A_iFExJ.js"},{"revision":null,"url":"assets/system-verilog-CnnmHF94.js"},{"revision":null,"url":"assets/synthwave-84-CbfX1IO0.js"},{"revision":null,"url":"assets/swift-D82vCrfD.js"},{"revision":null,"url":"assets/svelte-Cy7k_4gC.js"},{"revision":null,"url":"assets/surrealql-Bq5Q-fJD.js"},{"revision":null,"url":"assets/stylus-BEDo0Tqx.js"},{"revision":null,"url":"assets/stata-BH5u7GGu.js"},{"revision":null,"url":"assets/ssh-config-_ykCGR6B.js"},{"revision":null,"url":"assets/sql-BLtJtn59.js"},{"revision":null,"url":"assets/splunk-BtCnVYZw.js"},{"revision":null,"url":"assets/sparql-rVzFXLq3.js"},{"revision":null,"url":"assets/soy-8wufbnw4.js"},{"revision":null,"url":"assets/solidity-rGO070M0.js"},{"revision":null,"url":"assets/solarized-light-L9t79GZl.js"},{"revision":null,"url":"assets/solarized-dark-DXbdFlpD.js"},{"revision":null,"url":"assets/snazzy-light-Bw305WKR.js"},{"revision":null,"url":"assets/smalltalk-BERRCDM3.js"},{"revision":null,"url":"assets/slack-ochin-DqwNpetd.js"},{"revision":null,"url":"assets/slack-dark-BthQWCQV.js"},{"revision":null,"url":"assets/shellsession-BADoaaVG.js"},{"revision":null,"url":"assets/shellscript-Yzrsuije.js"},{"revision":null,"url":"assets/shaderlab-Dg9Lc6iA.js"},{"revision":null,"url":"assets/sdbl-DVxCFoDh.js"},{"revision":null,"url":"assets/scss-D5BDwBP9.js"},{"revision":null,"url":"assets/scheme-C98Dy4si.js"},{"revision":null,"url":"assets/scala-C151Ov-r.js"},{"revision":null,"url":"assets/sass-Cj5Yp3dK.js"},{"revision":null,"url":"assets/sas-cz2c8ADy.js"},{"revision":null,"url":"assets/rust-B1yitclQ.js"},{"revision":null,"url":"assets/ruby-Wjq7vjNf.js"},{"revision":null,"url":"assets/rst-CRjBmOyv.js"},{"revision":null,"url":"assets/rosmsg-BJDFO7_C.js"},{"revision":null,"url":"assets/rose-pine-qdsjHGoJ.js"},{"revision":null,"url":"assets/rose-pine-moon-D4_iv3hh.js"},{"revision":null,"url":"assets/rose-pine-dawn-DHQR4-dF.js"},{"revision":null,"url":"assets/ron-D8l8udqQ.js"},{"revision":null,"url":"assets/riscv-BM1_JUlF.js"},{"revision":null,"url":"assets/rel-C3B-1QV4.js"},{"revision":null,"url":"assets/regexp-CDVJQ6XC.js"},{"revision":null,"url":"assets/reg-C-SQnVFl.js"},{"revision":null,"url":"assets/red-bN70gL4F.js"},{"revision":null,"url":"assets/razor-BDqjjVU7.js"},{"revision":null,"url":"assets/raku-DXvB9xmW.js"},{"revision":null,"url":"assets/racket-BqYA7rlc.js"},{"revision":null,"url":"assets/r-Dspwwk_N.js"},{"revision":null,"url":"assets/qss-IeuSbFQv.js"},{"revision":null,"url":"assets/qmldir-C8lEn-DE.js"},{"revision":null,"url":"assets/qml-3beO22l8.js"},{"revision":null,"url":"assets/python-B6aJPvgy.js"},{"revision":null,"url":"assets/purescript-CklMAg4u.js"},{"revision":null,"url":"assets/puppet-BMWR74SV.js"},{"revision":null,"url":"assets/pug-DKIMFp6K.js"},{"revision":null,"url":"assets/proto-C7zT0LnQ.js"},{"revision":null,"url":"assets/prolog-CbFg5uaA.js"},{"revision":null,"url":"assets/prisma-Dd19v3D-.js"},{"revision":null,"url":"assets/powershell-Dpen1YoG.js"},{"revision":null,"url":"assets/powerquery-CEu0bR-o.js"},{"revision":null,"url":"assets/postcss-CXtECtnM.js"},{"revision":null,"url":"assets/polar-C0HS_06l.js"},{"revision":null,"url":"assets/poimandres-CS3Unz2-.js"},{"revision":null,"url":"assets/po-BTJTHyun.js"},{"revision":null,"url":"assets/plsql-ChMvpjG-.js"},{"revision":null,"url":"assets/plastic-3e1v2bzS.js"},{"revision":null,"url":"assets/pkl-u5AG7uiY.js"},{"revision":null,"url":"assets/php-R6g_5hLQ.js"},{"revision":null,"url":"assets/perl-NvoQZIq0.js"},{"revision":null,"url":"assets/pascal-D93ZcfNL.js"},{"revision":null,"url":"assets/openscad-C4EeE6gA.js"},{"revision":null,"url":"assets/one-light-C3Wv6jpd.js"},{"revision":null,"url":"assets/one-dark-pro-DVMEJ2y_.js"},{"revision":null,"url":"assets/odin-BBf5iR-q.js"},{"revision":null,"url":"assets/ocaml-C0hk2d4L.js"},{"revision":null,"url":"assets/objective-cpp-CLxacb5B.js"},{"revision":null,"url":"assets/objective-c-DXmwc3jG.js"},{"revision":null,"url":"assets/nushell-Cz2AlsmD.js"},{"revision":null,"url":"assets/nord-Ddv68eIx.js"},{"revision":null,"url":"assets/nix-CwoSXNpI.js"},{"revision":null,"url":"assets/nim-BIad80T-.js"},{"revision":null,"url":"assets/night-owl-light-CMTm3GFP.js"},{"revision":null,"url":"assets/night-owl-C39BiMTA.js"},{"revision":null,"url":"assets/nginx-BpAMiNFr.js"},{"revision":null,"url":"assets/nextflow-groovy-vE_lwT2v.js"},{"revision":null,"url":"assets/nextflow-C-mBbutL.js"},{"revision":null,"url":"assets/narrat-DRg8JJMk.js"},{"revision":null,"url":"assets/move-IF9eRakj.js"},{"revision":null,"url":"assets/moonbit-_H4v1dQx.js"},{"revision":null,"url":"assets/monokai-D4h5O-jR.js"},{"revision":null,"url":"assets/mojo-rZm6bMo-.js"},{"revision":null,"url":"assets/mipsasm-CKIfxQSi.js"},{"revision":null,"url":"assets/min-light-CTRr51gU.js"},{"revision":null,"url":"assets/min-dark-CafNBF8u.js"},{"revision":null,"url":"assets/mermaid-mWjccvbQ.js"},{"revision":null,"url":"assets/mdx-Cmh6b_Ma.js"},{"revision":null,"url":"assets/mdc-DTYItulj.js"},{"revision":null,"url":"assets/matlab-D7o27uSR.js"},{"revision":null,"url":"assets/material-theme-palenight-Csfq5Kiy.js"},{"revision":null,"url":"assets/material-theme-ocean-CyktbL80.js"},{"revision":null,"url":"assets/material-theme-lighter-B0m2ddpp.js"},{"revision":null,"url":"assets/material-theme-darker-BfHTSMKl.js"},{"revision":null,"url":"assets/material-theme-D5KoaKCx.js"},{"revision":null,"url":"assets/marko-DjSrsDqO.js"},{"revision":null,"url":"assets/markdown-Cvjx9yec.js"},{"revision":null,"url":"assets/make-CHLpvVh8.js"},{"revision":null,"url":"assets/luau-C-HG3fhB.js"},{"revision":null,"url":"assets/lua-BaeVxFsk.js"},{"revision":null,"url":"assets/logo-BtOb2qkB.js"},{"revision":null,"url":"assets/log-2UxHyX5q.js"},{"revision":null,"url":"assets/llvm-DjAJT7YJ.js"},{"revision":null,"url":"assets/liquid-C0sCDyMI.js"},{"revision":null,"url":"assets/light-plus-B7mTdjB0.js"},{"revision":null,"url":"assets/less-B1dDrJ26.js"},{"revision":null,"url":"assets/lean-BZvkOJ9d.js"},{"revision":null,"url":"assets/latex-CWtU0Tv5.js"},{"revision":null,"url":"assets/laserwave-DUszq2jm.js"},{"revision":null,"url":"assets/kusto-wEQ09or8.js"},{"revision":null,"url":"assets/kotlin-BdnUsdx6.js"},{"revision":null,"url":"assets/kdl-DV7GczEv.js"},{"revision":null,"url":"assets/kanagawa-wave-DWedfzmr.js"},{"revision":null,"url":"assets/kanagawa-lotus-CfQXZHmo.js"},{"revision":null,"url":"assets/kanagawa-dragon-CkXjmgJE.js"},{"revision":null,"url":"assets/just-VxiPbLrw.js"},{"revision":null,"url":"assets/julia-CxzCAyBv.js"},{"revision":null,"url":"assets/jsx-g9-lgVsj.js"},{"revision":null,"url":"assets/jssm-C2t-YnRu.js"},{"revision":null,"url":"assets/jsonnet-DFQXde-d.js"},{"revision":null,"url":"assets/jsonl-DcaNXYhu.js"},{"revision":null,"url":"assets/jsonc-Des-eS-w.js"},{"revision":null,"url":"assets/json5-C9tS-k6U.js"},{"revision":null,"url":"assets/json-Cp-IABpG.js"},{"revision":null,"url":"assets/jison-wvAkD_A8.js"},{"revision":null,"url":"assets/jinja-f2NsQr07.js"},{"revision":null,"url":"assets/javascript-wDzz0qaB.js"},{"revision":null,"url":"assets/java-CylS5w8V.js"},{"revision":null,"url":"assets/ini-BEwlwnbL.js"},{"revision":null,"url":"assets/index-E-6oA41F.js"},{"revision":null,"url":"assets/index-DzL7epqh.css"},{"revision":null,"url":"assets/index-Cpew6ait.js"},{"revision":null,"url":"assets/index-CdilBaXC.js"},{"revision":null,"url":"assets/index-CO34o7br.js"},{"revision":null,"url":"assets/index-6c6WsXAE.js"},{"revision":null,"url":"assets/imba-DGztddWO.js"},{"revision":null,"url":"assets/hy-DFXneXwc.js"},{"revision":null,"url":"assets/hxml-Bvhsp5Yf.js"},{"revision":null,"url":"assets/hurl-irOxFIW8.js"},{"revision":null,"url":"assets/http-jrhK8wxY.js"},{"revision":null,"url":"assets/html-pp8916En.js"},{"revision":null,"url":"assets/html-derivative-DlHx6ybY.js"},{"revision":null,"url":"assets/houston-DnULxvSX.js"},{"revision":null,"url":"assets/horizon-bright-CUuTKBJd.js"},{"revision":null,"url":"assets/horizon-BUw7H-hv.js"},{"revision":null,"url":"assets/hlsl-D3lLCCz7.js"},{"revision":null,"url":"assets/hjson-D5-asLiD.js"},{"revision":null,"url":"assets/hcl-BWvSN4gD.js"},{"revision":null,"url":"assets/haxe-CzTSHFRz.js"},{"revision":null,"url":"assets/haskell-Df6bDoY_.js"},{"revision":null,"url":"assets/handlebars-BpdQsYii.js"},{"revision":null,"url":"assets/haml-D5jkg6IW.js"},{"revision":null,"url":"assets/hack-i7_Ulhet.js"},{"revision":null,"url":"assets/gruvbox-light-soft-hJgmCMqR.js"},{"revision":null,"url":"assets/gruvbox-light-medium-DRw_LuNl.js"},{"revision":null,"url":"assets/gruvbox-light-hard-CH1njM8p.js"},{"revision":null,"url":"assets/gruvbox-dark-soft-CVdnzihN.js"},{"revision":null,"url":"assets/gruvbox-dark-medium-GsRaNv29.js"},{"revision":null,"url":"assets/gruvbox-dark-hard-CFHQjOhq.js"},{"revision":null,"url":"assets/groovy-gcz8RCvz.js"},{"revision":null,"url":"assets/graphql-ChdNCCLP.js"},{"revision":null,"url":"assets/go-C27-OAKa.js"},{"revision":null,"url":"assets/gnuplot-DdkO51Og.js"},{"revision":null,"url":"assets/gn-n2N0HUVH.js"},{"revision":null,"url":"assets/glsl-DplSGwfg.js"},{"revision":null,"url":"assets/glimmer-ts-BfAWNZQY.js"},{"revision":null,"url":"assets/glimmer-js-ByusRIyA.js"},{"revision":null,"url":"assets/gleam-BspZqrRM.js"},{"revision":null,"url":"assets/github-light-high-contrast-BfjtVDDH.js"},{"revision":null,"url":"assets/github-light-default-D7oLnXFd.js"},{"revision":null,"url":"assets/github-light-DAi9KRSo.js"},{"revision":null,"url":"assets/github-dark-high-contrast-E3gJ1_iC.js"},{"revision":null,"url":"assets/github-dark-dimmed-DH5Ifo-i.js"},{"revision":null,"url":"assets/github-dark-default-Cuk6v7N8.js"},{"revision":null,"url":"assets/github-dark-DHJKELXO.js"},{"revision":null,"url":"assets/git-rebase-r7XF79zn.js"},{"revision":null,"url":"assets/git-commit-F4YmCXRG.js"},{"revision":null,"url":"assets/gherkin-DyxjwDmM.js"},{"revision":null,"url":"assets/genie-D0YGMca9.js"},{"revision":null,"url":"assets/gdshader-DkwncUOv.js"},{"revision":null,"url":"assets/gdscript-C5YyOfLZ.js"},{"revision":null,"url":"assets/gdresource-BOOCDP_w.js"},{"revision":null,"url":"assets/fsharp-CXgrBDvD.js"},{"revision":null,"url":"assets/fortran-free-form-BxgE0vQu.js"},{"revision":null,"url":"assets/fortran-fixed-form-CkoXwp7k.js"},{"revision":null,"url":"assets/fluent-C4IJs8-o.js"},{"revision":null,"url":"assets/fish-BvzEVeQv.js"},{"revision":null,"url":"assets/fennel-BYunw83y.js"},{"revision":null,"url":"assets/everforest-light-C8M2exoo.js"},{"revision":null,"url":"assets/everforest-dark-BgDCqdQA.js"},{"revision":null,"url":"assets/erlang-DsQrWhSR.js"},{"revision":null,"url":"assets/erb-BYCe7drp.js"},{"revision":null,"url":"assets/emacs-lisp-CXvaQtF9.js"},{"revision":null,"url":"assets/elm-DbKCFpqz.js"},{"revision":null,"url":"assets/elixir-CkH2-t6x.js"},{"revision":null,"url":"assets/edge-FbVlp4U3.js"},{"revision":null,"url":"assets/dream-maker-BtqSS_iP.js"},{"revision":null,"url":"assets/dracula-soft-BXkSAIEj.js"},{"revision":null,"url":"assets/dracula-BzJJZx-M.js"},{"revision":null,"url":"assets/dotenv-Da5cRb03.js"},{"revision":null,"url":"assets/docker-BcOcwvcX.js"},{"revision":null,"url":"assets/diff-D97Zzqfu.js"},{"revision":null,"url":"assets/desktop-BmXAJ9_W.js"},{"revision":null,"url":"assets/dax-CEL-wOlO.js"},{"revision":null,"url":"assets/dart-bE4Kk8sk.js"},{"revision":null,"url":"assets/dark-plus-C3mMm8J8.js"},{"revision":null,"url":"assets/d-85-TOEBH.js"},{"revision":null,"url":"assets/cypher-COkxafJQ.js"},{"revision":null,"url":"assets/cue-D82EKSYY.js"},{"revision":null,"url":"assets/csv-fuZLfV_i.js"},{"revision":null,"url":"assets/css-CLj8gQPS.js"},{"revision":null,"url":"assets/csharp-COcwbKMJ.js"},{"revision":null,"url":"assets/crystal-DNxU26gB.js"},{"revision":null,"url":"assets/cpp-CofmeUqb.js"},{"revision":null,"url":"assets/core-Bjnh3KEM.js"},{"revision":null,"url":"assets/coq-DkFqJrB1.js"},{"revision":null,"url":"assets/common-lisp-Cg-RD9OK.js"},{"revision":null,"url":"assets/coffee-Ch7k5sss.js"},{"revision":null,"url":"assets/codeql-DsOJ9woJ.js"},{"revision":null,"url":"assets/codeowners-Bp6g37R7.js"},{"revision":null,"url":"assets/cobol-nBiQ_Alo.js"},{"revision":null,"url":"assets/cmake-D1j8_8rp.js"},{"revision":null,"url":"assets/clojure-P80f7IUj.js"},{"revision":null,"url":"assets/clarity-D53aC0YG.js"},{"revision":null,"url":"assets/catppuccin-mocha-D87Tk5Gz.js"},{"revision":null,"url":"assets/catppuccin-macchiato-DQyhUUbL.js"},{"revision":null,"url":"assets/catppuccin-latte-C9dUb6Cb.js"},{"revision":null,"url":"assets/catppuccin-frappe-DFWUc33u.js"},{"revision":null,"url":"assets/cairo-KRGpt6FW.js"},{"revision":null,"url":"assets/cadence-Bv_4Rxtq.js"},{"revision":null,"url":"assets/c3-eo99z4R2.js"},{"revision":null,"url":"assets/c-BIGW1oBm.js"},{"revision":null,"url":"assets/bsl-BO_Y6i37.js"},{"revision":null,"url":"assets/blade-BjGOyj-B.js"},{"revision":null,"url":"assets/bird2-BIv1doCn.js"},{"revision":null,"url":"assets/bicep-Bmn6On1c.js"},{"revision":null,"url":"assets/bibtex-CHM0blh-.js"},{"revision":null,"url":"assets/berry-uYugtg8r.js"},{"revision":null,"url":"assets/beancount-k_qm7-4y.js"},{"revision":null,"url":"assets/bat-BkioyH1T.js"},{"revision":null,"url":"assets/ballerina-BFfxhgS-.js"},{"revision":null,"url":"assets/ayu-mirage-32ctXXKs.js"},{"revision":null,"url":"assets/ayu-light-BA47KaF1.js"},{"revision":null,"url":"assets/ayu-dark-DYE7WIF3.js"},{"revision":null,"url":"assets/awk-DMzUqQB5.js"},{"revision":null,"url":"assets/aurora-x-D-2ljcwZ.js"},{"revision":null,"url":"assets/astro-HNnZUWAn.js"},{"revision":null,"url":"assets/asm-D_Q5rh1f.js"},{"revision":null,"url":"assets/asciidoc-Ve4PFQV2.js"},{"revision":null,"url":"assets/ara-BRHolxvo.js"},{"revision":null,"url":"assets/applescript-Co6uUVPk.js"},{"revision":null,"url":"assets/apl-CORt7UWP.js"},{"revision":null,"url":"assets/apex-D8_7TLub.js"},{"revision":null,"url":"assets/apache-Pmp26Uib.js"},{"revision":null,"url":"assets/angular-ts-BrjP3tb8.js"},{"revision":null,"url":"assets/angular-html-DA-rfuFy.js"},{"revision":null,"url":"assets/andromeeda-C4gqWexZ.js"},{"revision":null,"url":"assets/ada-bCR0ucgS.js"},{"revision":null,"url":"assets/actionscript-3-CoDkCxhg.js"},{"revision":null,"url":"assets/abap-BdImnpbu.js"},{"revision":"65605c0df89fb669cf2f829061b668e3","url":"favicon.ico"},{"revision":"d56e23d6e4d3e802eb550c861ba727d0","url":"icon-192.png"},{"revision":"2754db3357978a19cfa6221f7f183a84","url":"icon-512.png"},{"revision":"d60c4e979f3a2aa4d38ee675228b7bd0","url":"icon-maskable-512.png"},{"revision":"73f4f03722601814ecd0efdfe9728c12","url":"icon-maskable.svg"},{"revision":"9639b1b260b9b510b02c2a39fb8fb132","url":"icon.svg"},{"revision":"8d971aa35fdac16ba354afb6a9bd07ef","url":"offline.html"},{"revision":"1a7b2c8387fe88ac0bf01f6051cfadfe","url":"splash.html"},{"revision":"161d7b68d0ef3b4a6e9d70971664748e","url":"manifest.webmanifest"}]);N(({url:s})=>s.pathname.startsWith("/trpc/")||s.pathname.startsWith("/webhooks/"),new Re({cacheName:"api-cache",networkTimeoutSeconds:10}));N(({url:s})=>s.pathname.startsWith("/assets/"),new ye({cacheName:"static-assets",plugins:[new Se({maxAgeSeconds:720*60*60})]}));self.addEventListener("push",s=>{const e=s.data?.json()??{};s.waitUntil(self.registration.showNotification(e.title??"damn.dev",{body:e.body??"",icon:"/icon-192.png",badge:"/icon-192.png",data:e.data,tag:e.data?.type??"default",renotify:!0}))});self.addEventListener("notificationclick",s=>{s.notification.close();const e=s.notification.data,t=e?.channelId?`/?channel=${e.channelId}`:"/";s.waitUntil(self.clients.matchAll({type:"window"}).then(n=>{for(const a of n)if(a.url.includes(self.location.origin)){a.focus(),a.navigate(t);return}return self.clients.openWindow(t)}))});
@@ -94,7 +94,7 @@ export default {
94
94
  id: "damndev",
95
95
  name: "Damn.dev Channel",
96
96
  description: "Damn.dev workspace messaging channel via HTTP webhooks.",
97
- version: "0.1.0",
97
+ version: "0.1.2",
98
98
  configSchema: PLUGIN_CONFIG_SCHEMA,
99
99
 
100
100
  register(api) {
@@ -126,6 +126,7 @@ export default {
126
126
  return {
127
127
  accountId: account.accountId ?? "default",
128
128
  enabled: true,
129
+ configured: Boolean(account.webhookUrl && account.authToken),
129
130
  mode: "webhook",
130
131
  webhookUrl: account.webhookUrl ? "[configured]" : "[missing]",
131
132
  authToken: account.authToken ? "[configured]" : "[missing]",
@@ -2,8 +2,30 @@
2
2
  "id": "damndev",
3
3
  "name": "Damn.dev Channel",
4
4
  "description": "Damn.dev workspace messaging channel via HTTP webhooks.",
5
- "version": "0.1.1",
5
+ "version": "0.1.2",
6
6
  "channels": ["damndev"],
7
+ "channelConfigs": {
8
+ "damndev": {
9
+ "label": "Damn.dev",
10
+ "schema": {
11
+ "type": "object",
12
+ "additionalProperties": true,
13
+ "properties": {
14
+ "webhookUrl": { "type": "string" },
15
+ "authToken": { "type": "string" },
16
+ "defaultTo": { "type": "string" },
17
+ "inboundPath": { "type": "string" },
18
+ "inboundSharedSecret": { "type": "string" },
19
+ "hookForwardUrl": { "type": "string" },
20
+ "hookToken": { "type": "string" },
21
+ "defaultAgentId": { "type": "string" },
22
+ "defaultSessionPrefix": { "type": "string" },
23
+ "defaultName": { "type": "string" },
24
+ "forwardTimeoutMs": { "type": "number" }
25
+ }
26
+ }
27
+ }
28
+ },
7
29
  "configSchema": {
8
30
  "type": "object",
9
31
  "additionalProperties": true,