1"use strict";var SW_VERSION="etd-sw-20260730a";self.addEventListener("install",function(){self.skipWaiting()}),self.addEventListener("activate",function(t){t.waitUntil(self.clients.claim())}),self.addEventListener("push",function(t){var i={};try{i=t.data?t.data.json():{}}catch(t){}var n=i.title||"ET Ducky alert",e={body:i.body||"",tag:i.tag||"etd-alert",data:{url:i.url||"/systems/alerts"},icon:"/icon-192.png",badge:"/icon-192.png",requireInteraction:"critical"===(i.severity||"").toLowerCase()};t.waitUntil(self.registration.showNotification(n,e))}),self.addEventListener("notificationclick",function(t){t.notification.close();var i=t.notification.data&&t.notification.data.url||"/systems/alerts",n=new URL(i,self.location.origin),e=n.origin===self.location.origin?n.href:new URL("/systems/alerts",self.location.origin).href;t.waitUntil(self.clients.matchAll({type:"window",includeUncontrolled:!0}).then(function(t){for(var i=0;i<t.length;i++){var n=t[i];if(new URL(n.url).origin===self.location.origin)return n.navigate(e).then(function(t){return(t||n).focus()}).catch(function(){return n.focus()})}return self.clients.openWindow(e)}))});
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.