1(function(){var y={52378:function(){var a=(s,o,r)=>new Promise((u,l)=>{var t=e=>{try{n(r.next(e))}catch(c){l(c)}},i=e=>{try{n(r.throw(e))}catch(c){l(c)}},n=e=>e.done?u(e.value):Promise.resolve(e.value).then(t,i);n((r=r.apply(s,o)).next())});window.addEventListener("load",()=>a(null,null,function*(){if("serviceWorker"in navigator){yield navigator.serviceWorker.register("/sw.js",{scope:"/"});const s=document.querySelector(".js-sw-mandatory"),o=(navigator.userAgent.indexOf("OPR")>-1||navigator.userAgent.indexOf("Opera")>-1)&&navigator.userAgent.indexOf("Mini")>-1;s&&o&&s.classList.add("hide")}else console.log("Your browser does not support service workers \u{1F937}\u200D\u2640\uFE0F")}))},54460:function(){var a=(s,o,r)=>new Promise((u,l)=>{var t=e=>{try{n(r.next(e))}catch(c){l(c)}},i=e=>{try{n(r.throw(e))}catch(c){l(c)}},n=e=>e.done?u(e.value):Promise.resolve(e.value).then(t,i);n((r=r.apply(s,o)).next())});window.addEventListener("DOMContentLoaded",()=>a(null,null,function*(){const s="granted",o=function(){document.querySelector("#push-notifications-reminder").classList.add("hide")},r=t=>a(null,null,function*(){var i;const n=yield window.Notification.requestPermission();if(t&&n===s){const e=document.querySelector("#vapidPublicKey");if(e){const c=JSON.parse(e.value),p=yield t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:new Uint8Array(c)});p&&(yield fetch("/notifications_subscriptions",{headers:{"Content-Type":"application/json","X-CSRF-Token":(i=document.querySelector("meta[name=csrf-token]"))==null?void 0:i.content},method:"POST",body:JSON.stringify(p)}))}o()}else throw new Error("Permission not granted for Notification")}),u=t=>a(null,null,function*(){var i;const e=(yield t.pushManager.getSubscription()).toJSON().keys.auth;yield fetch(`/notifications_subscriptions/${e}`,{headers:{"Content-Type":"application/json","X-CSRF-Token":(i=document.querySelector("meta[name=csrf-token]"))==null?void 0:i.content},method:"DELETE"})}),l=(t,i)=>a(null,null,function*(){const n=yield t.pushManager.getSubscription();let e=!1;if(window.Notification.permission===s&&(o(),n)){const c=n.toJSON().keys.auth;JSON.parse(document.querySelector("#subKeys").value).includes(c)&&(e=!0)}i.checked=e});if("serviceWorker"in navigator){const t=document.getElementById("allow_push_notifications");if(t){const i=yield navigator.serviceWorker.ready;l(i,t),t.addEventListener("change",n=>a(null,[n],function*({target:e}){e.checked?yield r(i):yield u(i)}))}}}))},95859:function(){var a=(t,i,n)=>new Promise((e,c)=>{var p=d=>{try{v(n.next(d))}catch(m){c(m)}},g=d=>{try{v(n.throw(d))}catch(m){c(m)}},v=d=>d.done?e(d.value):Promise.resolve(d.value).then(p,g);v((n=n.apply(t,i)).next())});const s=JSON.parse(sessionStorage.getItem("visitedPages"))||[],o=2;let r=null;const u=()=>sessionStorage.getItem("userChoice")!=="dismissed"&&s.length<o&&!s.includes(location.pathname),l=()=>localStorage.getItem("pwaInstallPromptSeen")?!1:r&&sessionStorage.getItem("userChoice")!=="dismissed"&&s.length>=o;window.addEventListener("beforeinstallprompt",t=>{t.preventDefault(),r=t,u()&&sessionStorage.setItem("visitedPages",JSON.stringify([...s,location.pathname]))}),window.addEventListener("click",t=>a(null,null,function*(){if(l()){t.preventDefault(),r.prompt();const{outcome:i}=yield r.userChoice;sessionStorage.setItem("userChoice",i),sessionStorage.removeItem("visitedPages"),localStorage.setItem("pwaInstallPromptSeen",!0)}}))}},h={};function f(a){var s=h[a];if(s!==void 0)return s.exports;var o=h[a]={exports:{}};return y[a](o,o.exports,f),o.exports}(function(){"use strict";var a=f(52378),s=f(95859),o=f(54460)})()})(); 2 3//# sourceMappingURL=decidim_sw-16d893bf1193aa4b3c0f.js.map
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.