1/** 2 * Roxana Service Worker 3 * Version: 8899303 4 * Build Date: 20261007 5 * Generated: 2026-10-07T10:37:38.627Z 6 */ 7(()=>{"use strict";var e={535(){try{self["workbox:cacheable-response:7.2.0"]&&_()}catch(e){}},136(){try{self["workbox:core:7.2.0"]&&_()}catch(e){}},626(){try{self["workbox:expiration:7.2.0"]&&_()}catch(e){}},859(){try{self["workbox:navigation-preload:7.2.0"]&&_()}catch(e){}},447(){try{self["workbox:precaching:7.2.0"]&&_()}catch(e){}},227(){try{self["workbox:routing:7.2.0"]&&_()}catch(e){}},390(){try{self["workbox:strategies:7.2.0"]&&_()}catch(e){}}},t={};function s(n){var a=t[n];if(void 0!==a)return a.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,s),r.exports}s(136);class n extends Error{constructor(e,t){super(((e,...t)=>{let s=e;return t.length>0&&(s+=` :: ${JSON.stringify(t)}`),s})(e,t)),this.name=e,this.details=t}}s(535);class a{constructor(e={}){this._statuses=e.statuses,this._headers=e.headers}isResponseCacheable(e){let t=!0;return this._statuses&&(t=this._statuses.includes(e.status)),this._headers&&t&&(t=Object.keys(this._headers).some(t=>e.headers.get(t)===this._headers[t])),t}}class r{constructor(e){this.cacheWillUpdate=async({response:e})=>this._cacheableResponse.isResponseCacheable(e)?e:null,this._cacheableResponse=new a(e)}}const i=new Set,o={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},c=e=>[o.prefix,e,o.suffix].filter(e=>e&&e.length>0).join("-"),h=e=>e||c(o.precache),l=e=>e||c(o.runtime);function u(e,t){const s=new URL(e);for(const e of t)s.searchParams.delete(e);return s.href}let d,p,f;function g(e){e.then(()=>{})}class w{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}function m(e){return new Promise(t=>setTimeout(t,e))}function y(e,t){const s=t();return e.waitUntil(s),s}const v=new WeakMap,b=new WeakMap,x=new WeakMap,R=new WeakMap,E=new WeakMap;let C={get(e,t,s){if(e instanceof IDBTransaction){if("done"===t)return b.get(e);if("objectStoreNames"===t)return e.objectStoreNames||x.get(e);if("store"===t)return s.objectStoreNames[1]?void 0:s.objectStore(s.objectStoreNames[0])}return T(e[t])},set:(e,t,s)=>(e[t]=s,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function k(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(f||(f=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(L(this),e),T(v.get(this))}:function(...e){return T(t.apply(L(this),e))}:function(e,...s){const n=t.call(L(this),e,...s);return x.set(n,e.sort?e.sort():[e]),T(n)}:(e instanceof IDBTransaction&&function(e){if(b.has(e))return;const t=new Promise((t,s)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",r),e.removeEventListener("abort",r)},a=()=>{t(),n()},r=()=>{s(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",r),e.addEventListener("abort",r)});b.set(e,t)}(e),s=e,(p||(p=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(e=>s instanceof e)?new Proxy(e,C):e);var t,s}function T(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,s)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",r)},a=()=>{t(T(e.result)),n()},r=()=>{s(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",r)});return t.then(t=>{t instanceof IDBCursor&&v.set(t,e)}).catch(()=>{}),E.set(t,e),t}(e);if(R.has(e))return R.get(e);const t=k(e);return t!==e&&(R.set(e,t),E.set(t,e)),t}const L=e=>E.get(e),N=["get","getKey","getAll","getAllKeys","count"],q=["put","add","delete","clear"],U=new Map;function D(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(U.get(t))return U.get(t);const s=t.replace(/FromIndex$/,""),n=t!==s,a=q.includes(s);if(!(s in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!N.includes(s))return;const r=async function(e,...t){const r=this.transaction(e,a?"readwrite":"readonly");let i=r.store;
7return n&&(i=i.index(t.shift())),(await Promise.all([i[s](...t),a&&r.done]))[0]};return U.set(t,r),r}var S;S=C,C={...S,get:(e,t,s)=>D(e,t)||S.get(e,t,s),has:(e,t)=>!!D(e,t)||S.has(e,t)},s(626);const O="cache-entries",P=e=>{const t=new URL(e,location.href);return t.hash="",t.href};class I{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(O,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&function(e,{blocked:t}={}){const s=indexedDB.deleteDatabase(e);t&&s.addEventListener("blocked",e=>t(e.oldVersion,e)),T(s).then(()=>{})}(this._cacheName)}async setTimestamp(e,t){const s={url:e=P(e),timestamp:t,cacheName:this._cacheName,id:this._getId(e)},n=(await this.getDb()).transaction(O,"readwrite",{durability:"relaxed"});await n.store.put(s),await n.done}async getTimestamp(e){const t=await this.getDb(),s=await t.get(O,this._getId(e));return null==s?void 0:s.timestamp}async expireEntries(e,t){const s=await this.getDb();let n=await s.transaction(O).store.index("timestamp").openCursor(null,"prev");const a=[];let r=0;for(;n;){const s=n.value;s.cacheName===this._cacheName&&(e&&s.timestamp<e||t&&r>=t?a.push(n.value):r++),n=await n.continue()}const i=[];for(const e of a)await s.delete(O,e.id),i.push(e.url);return i}_getId(e){return this._cacheName+"|"+P(e)}async getDb(){return this._db||(this._db=await function(e,t,{blocked:s,upgrade:n,blocking:a,terminated:r}={}){const i=indexedDB.open(e,t),o=T(i);return n&&i.addEventListener("upgradeneeded",e=>{n(T(i.result),e.oldVersion,e.newVersion,T(i.transaction),e)}),s&&i.addEventListener("blocked",e=>s(e.oldVersion,e.newVersion,e)),o.then(e=>{r&&e.addEventListener("close",()=>r()),a&&e.addEventListener("versionchange",e=>a(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o}("workbox-expiration",1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class A{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 I(e)}async expireEntries(){if(this._isRunning)return void(this._rerunRequested=!0);this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),s=await self.caches.open(this._cacheName);for(const e of t)await s.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,g(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),s=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t<s}return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}class K{constructor(e={}){var t;this.cachedResponseWillBeUsed=async({event:e,request:t,cacheName:s,cachedResponse:n})=>{if(!n)return null;const a=this._isResponseDateFresh(n),r=this._getCacheExpiration(s);g(r.expireEntries());const i=r.updateTimestamp(t.url);if(e)try{e.waitUntil(i)}catch(e){}return a?n:null},this.cacheDidUpdate=async({cacheName:e,request:t})=>{const s=this._getCacheExpiration(e);await s.updateTimestamp(t.url),await s.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&(t=()=>
7this.deleteCacheAndMetadata(),i.add(t))}_getCacheExpiration(e){if(e===l())throw new n("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new A(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);return null===t||t>=Date.now()-1e3*this._maxAgeSeconds}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),s=new Date(t).getTime();return isNaN(s)?null:s}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}function M(e){if(!e)throw new n("add-to-cache-list-unexpected-type",{entry:e});if("string"==typeof e){const t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}const{revision:t,url:s}=e;if(!s)throw new n("add-to-cache-list-unexpected-type",{entry:e});if(!t){const e=new URL(s,location.href);return{cacheKey:e.href,url:e.href}}const a=new URL(s,location.href),r=new URL(s,location.href);return a.searchParams.set("__WB_REVISION__",t),{cacheKey:a.href,url:r.href}}s(859),s(447);class W{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:s})=>{if("install"===e.type&&t&&t.originalRequest&&t.originalRequest instanceof Request){const e=t.originalRequest.url;s?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return s}}}class j{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{const s=(null==t?void 0:t.cacheKey)||this._precacheController.getCacheKeyForURL(e.url);return s?new Request(s,{headers:e.headers}):e},this._precacheController=e}}function B(e){return"string"==typeof e?new Request(e):e}s(390);class F{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new w,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const e of this._plugins)this._pluginStateMap.set(e,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let s=B(e);if("navigate"===s.mode&&t instanceof FetchEvent&&t.preloadResponse){const e=await t.preloadResponse;if(e)return e}const a=this.hasCallback("fetchDidFail")?s.clone():null;try{for(const e of this.iterateCallbacks("requestWillFetch"))s=await e({request:s.clone(),event:t})}catch(e){if(e instanceof Error)throw new n("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}const r=s.clone();try{let e;e=await fetch(s,"navigate"===s.mode?void 0:this._strategy.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))e=await s({event:t,request:r,response:e});return e}catch(e){throw a&&await this.runCallbacks("fetchDidFail",{error:e,event:t,originalRequest:a.clone(),request:r.clone()}),e}}async fetchAndCachePut(e){const t=await this.fetch(e),s=t.clone();return this.waitUntil(this.cachePut(e,s)),t}async cacheMatch(e){const t=B(e);let s;const{cacheName:n,matchOptions:a}=this._strategy,r=await this.getCacheKey(t,"read"),i=Object.assign(Object.assign({},a),{cacheName:n});s=await caches.match(r,i);for(const e of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await e({cacheName:n,matchOptions:a,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(e,t){const s=B(e);await m(0);const a=await this.getCacheKey(s,"write");if(!t)throw new n("cache-put-with-no-response",{url:(r=a.url,new URL(String(r),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var r;const o=await this._ensureResponseSafeToCache(t);if(!o)return!1;const{cacheName:c,matchOptions:h}=this._strategy,l=await self.caches.open(c),d=this.hasCallback("cacheDidUpdate"),p=d?await async function(e,t,s,n){const a=u(t.url,s);if(t.url===a)return e.match(t,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),i=await e.keys(t,r);for(const t of i)if(a===u(t.url,s))return e.match(t,n)}(l,a.clone(),["__WB_REVISION__"],h):null;try{await l.put(a,d?o.clone():o)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await async function(){for(const e of i)await e()}(),e}for(const e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:c,oldResponse:p,newResponse:o.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const s=`${e.url} | ${t}`;if(!this._cacheKeys[s]){let n=e;for(const e of this.iterateCallbacks("cacheKeyWillBeUsed"))n=B(await e({mode:t,request:n,event:this.event,params:this.params}));this._cacheKeys[s]=n}return this._cacheKeys[s]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const s of this.iterateCallbacks(e))await s(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if("function"==typeof t[e]){const s=this._pluginStateMap.get(t),n=n=>{const a=Object.assign(Object.assign({},n),{state:s});return t[e](a)};yield n}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,s=!1;for(const e of this.iterateCallbacks("cacheWillUpdate"))if(t=await e({request:this.request,response:t,event:this.event})||void 0,s=!0,!t)break;return s||t&&200!==t.status&&(t=void 0),t}}class H{constructor(e={}){this.cacheName=l(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});
vendor: 8,770 bytes, line 7
7const t=e.event,s="string"==typeof e.request?new Request(e.request):e.request,n="params"in e?e.params:void 0,a=new F(this,{event:t,request:s,params:n}),r=this._getResponse(a,s,t);return[r,this._awaitComplete(r,a,s,t)]}async _getResponse(e,t,s){let a;await e.runCallbacks("handlerWillStart",{event:s,request:t});try{if(a=await this._handle(t,e),!a||"error"===a.type)throw new n("no-response",{url:t.url})}catch(n){if(n instanceof Error)for(const r of e.iterateCallbacks("handlerDidError"))if(a=await r({error:n,event:s,request:t}),a)break;if(!a)throw n}for(const n of e.iterateCallbacks("handlerWillRespond"))a=await n({event:s,request:t,response:a});return a}async _awaitComplete(e,t,s,n){let a,r;try{a=await e}catch(r){}try{await t.runCallbacks("handlerDidRespond",{event:n,request:s,response:a}),await t.doneWaiting()}catch(e){e instanceof Error&&(r=e)}if(await t.runCallbacks("handlerDidComplete",{event:n,request:s,response:a,error:r}),t.destroy(),r)throw r}}class Q extends H{constructor(e={}){e.cacheName=h(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(Q.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){return await t.cacheMatch(e)||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let s;const a=t.params||{};if(!this._fallbackToNetwork)throw new n("missing-precache-entry",{cacheName:this.cacheName,url:e.url});{const n=a.integrity,r=e.integrity,i=!r||r===n;s=await t.fetch(new Request(e,{integrity:"no-cors"!==e.mode?r||n:void 0})),n&&i&&"no-cors"!==e.mode&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,s.clone()))}return s}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const s=await t.fetch(e);if(!await t.cachePut(e,s.clone()))throw new n("bad-precaching-response",{url:e.url,status:s.status});return s}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[s,n]of this.plugins.entries())n!==Q.copyRedirectedCacheableResponsesPlugin&&(n===Q.defaultPrecacheCacheabilityPlugin&&(e=s),n.cacheWillUpdate&&t++);0===t?this.plugins.push(Q.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}Q.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e},Q.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await async function(e,t){let s=null;if(e.url&&(s=new URL(e.url).origin),s!==self.location.origin)throw new n("cross-origin-copy-response",{origin:s});const a=e.clone(),r={headers:new Headers(a.headers),status:a.status,statusText:a.statusText},i=t?t(r):r,o=function(){if(void 0===d){const e=new Response("");if("body"in e)try{new Response(e.body),d=!0}catch(e){d=!1}d=!1}return d}()?a.body:await a.blob();return new Response(o,i)}(e):e};class ${constructor({cacheName:e,plugins:t=[],fallbackToNetwork:s=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new Q({cacheName:h(e),plugins:[...t,new j({precacheController:this})],fallbackToNetwork:s}),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 s of e){"string"==typeof s?t.push(s):s&&void 0===s.revision&&t.push(s.url);const{cacheKey:e,url:a}=M(s),r="string"!=typeof s&&s.revision?"reload":"default";if(this._urlsToCacheKeys.has(a)&&this._urlsToCacheKeys.get(a)!==e)throw new n("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(a),secondEntry:e});if("string"!=typeof s&&s.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==s.integrity)throw new n("add-to-cache-list-conflicting-integrities",{url:a});this._cacheKeysToIntegrities.set(e,s.integrity)}if(this._urlsToCacheKeys.set(a,e),this._urlsToCacheModes.set(a,r),t.length>0){const e=`Workbox is precaching URLs without revision info: ${t.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(e)}}}install(e){return y(e,async()=>{const t=new W;this.strategy.plugins.push(t);for(const[t,s]of this._urlsToCacheKeys){const n=this._cacheKeysToIntegrities.get(s),a=this._urlsToCacheModes.get(t),r=new Request(t,{integrity:n,cache:a,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:e}))}const{updatedURLs:s,notUpdatedURLs:n}=t;return{updatedURLs:s,notUpdatedURLs:n}})}activate(e){return y(e,async()=>{const e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),s=new Set(this._urlsToCacheKeys.values()),n=[];for(const a of t)s.has(a.url)||(await e.delete(a),n.push(a.url));return{deletedURLs:n}})}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,s=this.getCacheKeyForURL(t);if(s)return(await self.caches.open(this.strategy.cacheName)).match(s)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new n("non-precached-url",{url:e});return s=>(s.request=new Request(e),s.params=Object.assign({cacheKey:t},s.params),this.strategy.handle(s))}}let V;const G=()=>(V||(V=new $),V);s(227);const z=e=>e&&"object"==typeof e?e:{handle:e};class J{constructor(e,t,s="GET"){this.handler=z(t),this.match=e,this.method=s}setCatchHandler(e){this.catchHandler=z(e)}}class X extends J{constructor(e,t,s){super(({url:t})=>{const s=e.exec(t.href);if(s&&(t.origin===location.origin||0===s.index))return s.slice(1)},t,s)}}class Y{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,s=this.handleRequest({request:t,event:e});s&&e.respondWith(s)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&"CACHE_URLS"===e.data.type){const{payload:t}=e.data,s=Promise.all(t.urlsToCache.map(t=>{"string"==typeof t&&(t=[t]);const s=new Request(...t);return this.handleRequest({request:s,event:e})}));e.waitUntil(s),e.ports&&e.ports[0]&&s.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const s=new URL(e.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:a,route:r}=this.findMatchingRoute({event:t,request:e,sameOrigin:n,url:s});let i=r&&r.handler;const o=e.method;if(!i&&this._defaultHandlerMap.has(o)&&(i=this._defaultHandlerMap.get(o)),!i)return;let c;try{c=i.handle({url:s,request:e,event:t,params:a})}catch(e){c=Promise.reject(e)}const h=r&&r.catchHandler;return c instanceof Promise&&(this._catchHandler||h)&&(c=c.catch(async n=>{if(h)try{return await h.handle({url:s,request:e,event:t,params:a})}catch(e){e instanceof Error&&(n=e)}if(this._catchHandler)return this._catchHandler.handle({url:s,request:e,event:t});throw n})),c}findMatchingRoute({url:e,sameOrigin:t,request:s,event:n}){const a=this._routes.get(s.method)||[];for(const r of a){let a;const i=r.match({url:e,sameOrigin:t,request:s,event:n});if(i)return a=i,(Array.isArray(a)&&0===a.length||i.constructor===Object&&0===Object.keys(i).length||"boolean"==typeof i)&&(a=void 0),{route:r,params:a}}return{}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,z(e))}setCatchHandler(e){this._catchHandler=z(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 n("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(!(t>-1))throw new n("unregister-route-route-not-registered");this._routes.get(e.method).splice(t,1)}}let Z;function ee(e,t,s){let a;if("string"==typeof e){const n=new URL(e,location.href);a=new J(({url:e})=>e.href===n.href,t,s)}else if(e instanceof RegExp)a=new X(e,t,s);else if("function"==typeof e)a=new J(e,t,s);else{if(!(e instanceof J))throw new n("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});a=e}return(Z||(Z=new Y,Z.addFetchListener(),Z.addCacheListener()),Z).registerRoute(a),a}class te extends J{constructor(e,t){super(({request:s})=>{const n=e.getURLsToCacheKeys();for(const a of function*(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:a}={}
7){const r=new URL(e,location.href);r.hash="",yield r.href;const i=function(e,t=[]){for(const s of[...e.searchParams.keys()])t.some(e=>e.test(s))&&e.searchParams.delete(s);return e}(r,t);if(yield i.href,s&&i.pathname.endsWith("/")){const e=new URL(i.href);e.pathname+=s,yield e.href}if(n){const e=new URL(i.href);e.pathname+=".html",yield e.href}if(a){const e=a({url:r});for(const t of e)yield t.href}}(s.url,t)){const t=n.get(a);if(t)return{cacheKey:t,integrity:e.getIntegrityForCacheKey(t)}}},e.strategy)}}class se extends H{async _handle(e,t){let s,a=await t.cacheMatch(e);if(a);else try{a=await t.fetchAndCachePut(e)}catch(e){e instanceof Error&&(s=e)}if(!a)throw new n("no-response",{url:e.url,error:s});return a}}const ne={cacheWillUpdate:async({response:e})=>200===e.status||0===e.status?e:null};class ae extends H{constructor(e={}){super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(ne),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){const s=[],a=[];let r;if(this._networkTimeoutSeconds){const{id:n,promise:i}=this._getTimeoutPromise({request:e,logs:s,handler:t});r=n,a.push(i)}const i=this._getNetworkPromise({timeoutId:r,request:e,logs:s,handler:t});a.push(i);const o=await t.waitUntil((async()=>await t.waitUntil(Promise.race(a))||await i)());if(!o)throw new n("no-response",{url:e.url});return o}_getTimeoutPromise({request:e,logs:t,handler:s}){let n;return{promise:new Promise(t=>{n=setTimeout(async()=>{t(await s.cacheMatch(e))},1e3*this._networkTimeoutSeconds)}),id:n}}async _getNetworkPromise({timeoutId:e,request:t,logs:s,handler:n}){let a,r;try{r=await n.fetchAndCachePut(t)}catch(e){e instanceof Error&&(a=e)}return e&&clearTimeout(e),!a&&r||(r=await n.cacheMatch(t)),r}}class re extends H{constructor(e={}){super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(ne)}async _handle(e,t){const s=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(s);let a,r=await t.cacheMatch(e);if(r);else try{r=await s}catch(e){e instanceof Error&&(a=e)}if(!r)throw new n("no-response",{url:e.url,error:a});return r}}try{importScripts("https://ssl.widgets.webengage.com/js/service-worker.js")}catch(e){console.warn("WebEngage service worker failed to load:",e)}var ie,oe;self.addEventListener("activate",()=>self.clients.claim()),Boolean(self.registration&&self.registration.navigationPreload)&&self.addEventListener("activate",e=>{e.waitUntil(self.registration.navigationPreload.enable().then(()=>{}))}),oe={prefix:"roxana"},(e=>{for(const t of Object.keys(o))e(t)})(e=>{"string"==typeof oe[e]&&(o[e]=oe[e])}),self.addEventListener("activate",e=>{const t=h();e.waitUntil((async(e,t="-precache-")=>{const s=(await self.caches.keys()).filter(s=>s.includes(t)&&s.includes(self.registration.scope)&&s!==e);return await Promise.all(s.map(e=>self.caches.delete(e))),s})(t).then(e=>{}))}),ie=[{'revision':null,'url':'/roxana/1058.77c93fcb.bundle.js'},{'revision':null,'url':'/roxana/1438.d1f807e4.bundle.js'},{'revision':null,'url':'/roxana/1578.69c64ef8.bundle.js'},{'revision':null,'url':'/roxana/1578.c4e91483.css'},{'revision':null,'url':'/roxana/1644.5aad79c7.bundle.js'},{'revision':null,'url':'/roxana/1692.30f14558.bundle.js'},{'revision':null,'url':'/roxana/1765.d3e6c940.bundle.js'},{'revision':null,'url':'/roxana/210.12de6b87.bundle.js'},{'revision':null,'url':'/roxana/2163.02625cdc.bundle.js'},{'revision':null,'url':'/roxana/2284.039c4d4f.bundle.js'},{'revision':null,'url':'/roxana/2308.6f359cc0.bundle.js'},{'revision':null,'url':'/roxana/2421.35f5acc2.bundle.js'},{'revision':null,'url':'/roxana/2453.144ea048.bundle.js'},{'revision':null,'url':'/roxana/2545.f937d020.bundle.js'},{'revision':null,'url':'/roxana/257.6a3d1a79.bundle.js'},{'revision':null,'url':'/roxana/2591.03977498.bundle.js'},{'revision':null,'url':'/roxana/2607.96f3da73.bundle.js'},{'revision':null,'url':'/roxana/2713.558fac96.bundle.js'},{'revision':null,'url':'/roxana/2767.79988459.bundle.js'},{'revision':null,'url':'/roxana/3054.7ca681b3.bundle.js'},{'revision':null,'url':'/roxana/3054.ea61a4a7.css'},{'revision':null,'url':'/roxana/3082.c9fc7803.bundle.js'},{'revision':null,'url':'/roxana/315.f11b6cb8.bundle.js'},{'revision':null,'url':'/roxana/3391.94398258.bundle.js'},{'revision':null,'url':'/roxana/3561.78490484.css'},{'revision':null,'url':'/roxana/3561.eca35591.bundle.js'},{'revision':null,'url':'/roxana/3622.2b11ff90.bundle.js'},{'revision':null,'url':'/roxana/3624.cb3ed283.bundle.js'},{'revision':null,'url':'/roxana/3690.4f8b97e1.css'},{'revision':null,'url':'/roxana/3690.72060649.bundle.js'},{'revision':null,'url':'/roxana/4290.ba9a1fdb.bundle.js'},{'revision':null,'url':'/roxana/439.9cacb215.css'},{'revision':null,'url':'/roxana/439.f68bf22e.bundle.js'},{'revision':null,'url':'/roxana/4778.5c2282e1.bundle.js'},{'revision':null,'url':'/roxana/4915.68252eeb.bundle.js'},{'revision':null,'url':'/roxana/5145.06db65b1.bundle.js'},{'revision':null,'url':'/roxana/5168.87ab6a04.bundle.js'},{'revision':null,'url':'/roxana/532.e919076e.bundle.js'},{'revision':null,'url':'/roxana/5386.8d39c552.bundle.js'},{'revision':null,'url':'/roxana/5387.c341aa4c.bundle.js'},{'revision':null,'url':'/roxana/5476.5088a0ea.bundle.js'},{'revision':null,'url':'/roxana/5607.b22b374a.bundle.js'},{'revision':null,'url':'/roxana/5607.ef877d26.css'},{'revision':null,'url':'/roxana/6126.9eb5cce5.bundle.js'},{'revision':null,'url':'/roxana/6143.c72ca497.bundle.js'},{'revision':null,'url':'/roxana/6285.bc6e4cab.bundle.js'},{'revision':null,'url':'/roxana/6387.a06aca9e.bundle.js'},{'revision':null,'url':'/roxana/6516.16b14993.bundle.js'},{'revision':null,'url':'/roxana/662.978055b5.bundle.js'},{'revision':null,'url':'/roxana/6654.41517f57.css'},{'revision':null,'url':'/roxana/6654.9a74b5b8.bundle.js'},{'revision':null,'url':'/roxana/6900.a3e16eee.bundle.js'},{'revision':null,'url':'/roxana/6974.03c1d52b.bundle.js'},{'revision':null,'url':'/roxana/7222.cd92490d.bundle.js'},{'revision':null,'url':'/roxana/7278.0617257b.bundle.js'},{'revision':null,'url':'/roxana/739.043193a3.bundle.js'},{'revision':null,'url':'/roxana/7644.e3b1b28e.bundle.js'},{'revision':null,'url':'/roxana/7774.acd7866d.bundle.js'},{'revision':null,'url':'/roxana/7935.a3b9159a.bundle.js'},{'revision':null,'url':'/roxana/7936.84a75924.css'},{'revision':null,'url':'/roxana/7936.b88c38a6.bundle.js'},{'revision':null,'url':'/roxana/8006.5568cf99.bundle.js'},{'revision':null,'url':'/roxana/8127.05719bf2.bundle.js'},{'revision':null,'url':'/roxana/8198.5ae230e7.bundle.js'},{'revision':null,'url':'/roxana/8272.450e3948.bundle.js'},{'revision':null,'url':'/roxana/829.968051ee.bundle.js'},{'revision':null,'url':'/roxana/837.21718988.bundle.js'},{'revision':null,'url':'/roxana/837.31cdc4fb.css'},{'revision':null,'url':'/roxana/8463.41b6c4dc.bundle.js'},{'revision':null,'url':'/roxana/8782.f11d2cba.bundle.js'},{'revision':null,'url':'/roxana/8810.e5956c31.bundle.js'},{'revision':null,'url':'/roxana/8821.9ea62184.bundle.js'},{'revision':null,'url':'/roxana/8f89158e397ee29236ed.ttf'},{'revision':null,'url':'/roxana/9016.2d29c49c.bundle.js'},{'revision':null,'url':'/roxana/9126.f2f44b66.bundle.js'},{'revision':null,'url':'/roxana/9153.33debeea.bundle.js'},{'revision':null,'url':'/roxana/9271.4e6e92f3.css'},{'revision':null,'url':'/roxana/9271.a9b01b1b.bundle.js'},{'revision':null,'url':'/roxana/9730.b00aafa0.bundle.js'},{'revision':null,'url':'/roxana/9785.83fe84b8.bundle.js'},{'revision':null,'url':'/roxana/9901.19549494.bundle.js'},{'revision':null,'url':'/roxana/AiHandoffIsland.2f278c29.bundle.js'},{'revision':null,'url':'/roxana/AiHandoffIsland.a95bbd6c.css'},{'revision':null,'url':'/roxana/AiSearchHandoff.6429f977.css'},{'revision':null,'url':'/roxana/AiSearchHandoff.b2e35cb4.bundle.js'},{'revision':null,'url':'/roxana/BookmarkDetail.d7bd451b.css'},{'revision':null,'url':'/roxana/BookmarkDetail.e4baa2ed.bundle.js'},{'revision':null,'url':'/roxana/BookmarkNudgeTooltip.ce286182.css'},{'revision':null,'url':'/roxana/BookmarkNudgeTooltip.d28a8cd6.bundle.js'},{'revision':null,'url':'/roxana/ContactUs.2bef958e.bundle.js'},{'revision':null,'url':'/roxana/ContactUs.b41fe54c.css'},{'revision':null,'url':'/roxana/Dashboard.b438ea20.bundle.js'},{'revision':null,'url':'/roxana/Dashboard.e68ea6f3.css'},{'revision':null,'url':'/roxana/FlightBooking.b18071b5.css'},{'revision':null,'url':'/roxana/FlightBooking.e9c8b066.bundle.js'},{'revision':null,'url':'/roxana/FlightBookingConfirmationV2.7eb54949.bundle.js'},{'revision':null,'url':'/roxana/FlightBookingConfirmationV2.e8f7af65.css'},{'revision':null,'url':'/roxana/FlightBookingHistory.7b2d2ac7.css'},{'revision':null,'url':'/roxana/FlightBookingHistory.b5470e58.bundle.js'},{'revision':null,'url':'/roxana/FlightBookingHistoryDetails.417005f4.css'},{'revision':null,'url':'/roxana/FlightBookingHistoryDetails.d4d06521.bundle.js'},{'revision':null,'url':'/roxana/FlightBookingIntermediary.93ac6b8d.bundle.js'},{'revision':null,'url':'/roxana/FlightBookingIntermediary.94004d58.css'}
7,{'revision':null,'url':'/roxana/FlightExternalHandoff.9af32176.css'},{'revision':null,'url':'/roxana/FlightExternalHandoff.e039fcdc.bundle.js'},{'revision':null,'url':'/roxana/FlightFareFamiliesLayoutV2.9a9323a4.bundle.js'},{'revision':null,'url':'/roxana/FlightFareFamiliesLayoutV2.dd698fa1.css'},{'revision':null,'url':'/roxana/FlightFareFamiliesPage.e83e75fb.bundle.js'},{'revision':null,'url':'/roxana/FlightFareFamiliesPageV2.01510213.css'},{'revision':null,'url':'/roxana/FlightFareFamiliesPageV2.6b337e31.bundle.js'},{'revision':null,'url':'/roxana/FlightFareFamiliesSkeletonV2.01bc2baa.bundle.js'},{'revision':null,'url':'/roxana/FlightFareFamiliesSkeletonV2.808efad8.css'},{'revision':null,'url':'/roxana/FlightFilters.3387afaf.bundle.js'},{'revision':null,'url':'/roxana/FlightFilters.a43b1294.css'},{'revision':null,'url':'/roxana/FlightFlyToAnywhereLayout.3daa5648.bundle.js'},{'revision':null,'url':'/roxana/FlightFlyToAnywhereLayout.53ee1dc6.css'},{'revision':null,'url':'/roxana/FlightFlyToAnywhereResult.b32bbd3c.bundle.js'},{'revision':null,'url':'/roxana/FlightFlyToAnywhereResult.beea1408.css'},{'revision':null,'url':'/roxana/FlightPerLegSearchContext.e6ba8728.bundle.js'},{'revision':null,'url':'/roxana/FlightPriceAlerts.86a83c13.css'},{'revision':null,'url':'/roxana/FlightPriceAlerts.d1557c7e.bundle.js'},{'revision':null,'url':'/roxana/FlightSearchFiltersContext.6ad0f41b.bundle.js'},{'revision':null,'url':'/roxana/FlightSearchLayout.2e03a4d5.bundle.js'},{'revision':null,'url':'/roxana/FlightSearchLayout.37d841ac.css'},{'revision':null,'url':'/roxana/FlightSearchResult.1de254f5.css'},{'revision':null,'url':'/roxana/FlightSearchResult.ad93204c.bundle.js'},{'revision':null,'url':'/roxana/FlightSearchResultsContext.869fc9b2.css'},{'revision':null,'url':'/roxana/GoBenefitsDialog.907a6f43.css'},{'revision':null,'url':'/roxana/GoBenefitsDialog.c45fd03b.bundle.js'},{'revision':null,'url':'/roxana/GoLoyaltyBanner.44c1a92f.css'},{'revision':null,'url':'/roxana/GoLoyaltyBanner.e82f44f6.bundle.js'},{'revision':null,'url':'/roxana/GoRewards.6124c36a.bundle.js'},{'revision':null,'url':'/roxana/GoRewards.c74eb4a5.css'},{'revision':null,'url':'/roxana/Home.0c4e3dbc.css'},{'revision':null,'url':'/roxana/Home.2ed13f9b.bundle.js'},{'revision':null,'url':'/roxana/HotelBooking.203e278d.css'},{'revision':null,'url':'/roxana/HotelBooking.81313d4a.bundle.js'},{'revision':null,'url':'/roxana/HotelBookingConfirmation.8bdbfc75.bundle.js'},{'revision':null,'url':'/roxana/HotelBookingConfirmation.eb6f5f76.css'},{'revision':null,'url':'/roxana/HotelBookingHistory.1426b566.css'},{'revision':null,'url':'/roxana/HotelBookingHistory.30a76883.bundle.js'},{'revision':null,'url':'/roxana/HotelCrossSellBanner.b903c42d.css'},{'revision':null,'url':'/roxana/HotelCrossSellBanner.fef4a8fc.bundle.js'},{'revision':null,'url':'/roxana/HotelDetail.05b244ed.css'},{'revision':null,'url':'/roxana/HotelDetail.b4c60859.bundle.js'},{'revision':null,'url':'/roxana/HotelReview.42d797f1.bundle.js'},{'revision':null,'url':'/roxana/HotelReview.ce9d8bd5.css'},{'revision':null,'url':'/roxana/HotelSearchLayout.56dc20d8.css'},{'revision':null,'url':'/roxana/HotelSearchLayout.c5618cac.bundle.js'},{'revision':null,'url':'/roxana/HotelSearchResultV1.66cf0860.css'},{'revision':null,'url':'/roxana/HotelSearchResultV1.6786ae42.bundle.js'},{'revision':null,'url':'/roxana/MyPersonalInfo.61df2eab.bundle.js'},{'revision':null,'url':'/roxana/MyPersonalInfo.ad76166b.css'},{'revision':null,'url':'/roxana/MyWallet.8790d969.bundle.js'},{'revision':null,'url':'/roxana/MyWallet.dc4f7f19.css'},{'revision':null,'url':'/roxana/PaymentVerification.1514452f.css'},{'revision':null,'url':'/roxana/PaymentVerification.4609e84b.bundle.js'},{'revision':null,'url':'/roxana/RefundStatusPage.19e5b558.css'},{'revision':null,'url':'/roxana/RefundStatusPage.92ee4f93.bundle.js'},{'revision':null,'url':'/roxana/SavedHotels.2a86f0a5.css'},{'revision':null,'url':'/roxana/SavedHotels.422faacf.bundle.js'},{'revision':null,'url':'/roxana/Travellers.5d3a9f44.css'},{'revision':null,'url':'/roxana/Travellers.75337354.bundle.js'},{'revision':null,'url':'/roxana/TripDetailStandalone.029df1d3.css'},{'revision':null,'url':'/roxana/TripDetailStandalone.bb4a43bf.bundle.js'},{'revision':null,'url':'/roxana/Vouchers.39d96392.css'},{'revision':null,'url':'/roxana/Vouchers.42454d88.bundle.js'},{'revision':null,'url':'/roxana/auth-sdk.f2a4f754.bundle.js'},{'revision':'2ec8242118ee8c02701e7a488890ccc0','url':'/roxana/favicon.ico'},{'revision':null,'url':'/roxana/load-fonts.8166e278.bundle.js'},{'revision':null,'url':'/roxana/main.77da564f.css'},{'revision':null,'url':'/roxana/main.8166e278.bundle.js'},{'revision':'4421248f1234b2e2c2673670c3542fa3','url':'/roxana/mockServiceWorker.js'},{'revision':null,'url':'/roxana/posthog.c7776e6b.bundle.js'},{'revision':null,'url':'/roxana/telemetry.f7785d83.bundle.js'},{'revision':null,'url':'/roxana/translations/ar-json.c2414f73.bundle.js'},{'revision':null,'url':'/roxana/translations/de-json.f5b01815.bundle.js'},{'revision':null,'url':'/roxana/translations/en-json.20058836.bundle.js'},{'revision':null,'url':'/roxana/translations/es-json.e1ee5134.bundle.js'},{'revision':null,'url':'/roxana/translations/fa-json.df79d3a2.bundle.js'},{'revision':null,'url':'/roxana/translations/fr-json.9b1dfbd0.bundle.js'},{'revision':null,'url':'/roxana/translations/id-json.d1b4448f.bundle.js'},{'revision':null,'url':'/roxana/translations/it-json.f33d02f8.bundle.js'},{'revision':null,'url':'/roxana/translations/ja-json.b6002d69.bundle.js'},{'revision':null,'url':'/roxana/translations/ko-json.3cc32fbd.bundle.js'},{'revision':null,'url':'/roxana/translations/ms-json.8bbb0d29.bundle.js'},{'revision':null,'url':'/roxana/translations/nl-json.bb4bbad0.bundle.js'},{'revision':null,'url':'/roxana/translations/pl-json.f3871fdb.bundle.js'},{'revision':null,'url':'/roxana/translations/pt-json.4aa7e23d.bundle.js'},{'revision':null,'url':'/roxana/translations/ru-json.d7c40c31.bundle.js'},{'revision':null,'url':'/roxana/translations/sv-json.386d825a.bundle.js'},{'revision':null,'url':'/roxana/translations/th-json.d0e6a428.bundle.js'},{'revision':null,'url':'/roxana/translations/tr-json.03a5793c.bundle.js'},{'revision':null,'url':'/roxana/translations/vi-json.e9105de2.bundle.js'},{'revision':null,'url':'/roxana/translations/zh-cn-json.e663fa2f.bundle.js'},{'revision':null,'url':'/roxana/translations/zh-hk-json.5de42449.bundle.js'},{'revision':null,'url':'/roxana/translations/zh-tw-json.6b2c901b.bundle.js'},{'revision':null,'url':'/roxana/web-engage.c69a47cc.bundle.js'}],G().precache(ie),function(e){const t=G();ee(new te(t,e))}(void 0),ee(new class extends J{constructor(e,{allowlist:t=[/./],denylist:s=[]}={}){super(e=>this._match(e),e),this._allowlist=t,this._denylist=s}_match({url:e,request:t}){if(t&&"navigate"!==t.mode)return!1;const s=e.pathname+e.search;for(const e of this._denylist)if(e.test(s))return!1;return!!this._allowlist.some(e=>e.test(s))}}(new class extends H{constructor(e={}){super(e),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){let s,a;try{const s=[t.fetch(e)];if(this._networkTimeoutSeconds){const e=m(1e3*this._networkTimeoutSeconds);s.push(e)}if(a=await Promise.race(s),!a)throw new Error(`Timed out the network response after ${this._networkTimeoutSeconds} seconds.`)}catch(e){e instanceof Error&&(s=e)}if(!a)throw new n("no-response",{url:e.url,error:s});return a}},{denylist:[/\/activate\b/],allowlist:[/\/(?:flights|fluge|vuelos|vols|tiket-pesawat|voli|penerbangan|vluchten|loty|voos|flyg|ve-may-bay)$/,/\/(?:hotels|hoteles|hotel|hotele|hoteis|hotell|khach-san)$/,/\/(?:hotels|hoteles|hotel|hotele|hoteis|hotell|khach-san)\/(?:searches|booking)/,/\/payments\/pm\/checkout\//]})),ee(/.*places\/v1\/currencies\/latest$/,new ae({cacheName:"currencies",networkTimeoutSeconds:3,plugins:[new K({maxEntries:5,maxAgeSeconds:86400,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]})),ee(/.*places\/homepages.*/,new re({cacheName:"places-homepages",plugins:[new K({maxEntries:10,maxAgeSeconds:86400,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]})),ee(/.*places\/search\/nearest.*/,new ae({cacheName:"places-nearest",networkTimeoutSeconds:3,plugins:[new K({maxEntries:5,maxAgeSeconds:86400,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]})),ee(/.*flexsearch\/flights\/cities.*/,new re({cacheName:"flexsearch-cities",plugins:[new K({maxEntries:10,maxAgeSeconds:86400,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]})),ee(/.*hotels\/hotels.*/,new re({cacheName:"hotels",plugins:[new K({maxEntries:20,maxAgeSeconds:86400,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]})),ee(/.*hotels\/recommended\/collections.*/,new re({cacheName:"collections",plugins:[new K({maxEntries:10,maxAgeSeconds:86400,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]})),ee(/.*places\/v2\/holidays.*/,new re({cacheName:"holidays",plugins:[new K({maxEntries:1,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]})),ee(/^https:\/\/assets\.wego\.com\/image\/.*/,new se({cacheName:"images",plugins:[new K({maxEntries:200,maxAgeSeconds:2592e3,purgeOnQuotaError:!0}),new r({statuses:[200]})]})),ee(/^https:\/\/accounts\.google\.com\/gsi\/client$/,new re({cacheName:"google-one-tap",plugins:[new K({maxEntries:1,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]})),ee(/^https:\/\/apis\.google\.com\/js\/platform\.js$/,new re({cacheName:"google-sign-in",plugins:[new K({maxEntries:1,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]})),ee(/^https:\/\/connect\.facebook\.net\/en_US\/sdk\.js$/,new re({cacheName:"facebook-sign-in",plugins:[new K({maxEntries:1,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]}
7)),ee(function(e){return"https://fonts.gstatic.com"===e.url.origin},new se({cacheName:"google-fonts-webfonts",plugins:[new K({maxAgeSeconds:31536e3,maxEntries:30,purgeOnQuotaError:!0}),new r({statuses:[200]})]})),ee(function(e){return"https://fonts.googleapis.com"===e.url.origin},new re({cacheName:"google-fonts-stylesheets",plugins:[new K({maxEntries:1,purgeOnQuotaError:!0}),new r({statuses:[0,200]})]})),ee(/^https:\/\/zen\.wego\.com\/.*\/weegio[-_][^/]+\.png$/,new se({cacheName:"weegio-assets",plugins:[new K({maxEntries:10,maxAgeSeconds:2592e3,purgeOnQuotaError:!0}),new r({statuses:[200]})]})),self.addEventListener("message",function(e){e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.