1"use strict";document.addEventListener('DOMContentLoaded',function(){var applicationServerKey='BOsxQ1cq0gA3WDjO45HtUiblfW-LzF2v7FzF64eQLeQlsUSScAOBaUBYU9C9dwyGzZ-ZvAl16EPnUuvXOL8VlXM';var isPushEnabled=!1;var sws="/assets/plug/swv2.js";if(!('serviceWorker' in navigator)){console.warn('Service workers are not supported by this browser');return} 2if(!('PushManager' in window)){console.warn('Push notifications are not supported by this browser');return} 3if(!('showNotification' in ServiceWorkerRegistration.prototype)){console.warn('Notifications are not supported by this browser');return} 4if(Notification.permission==='denied'){console.warn('Notifications are denied by the user');return} 5navigator.serviceWorker.register(sws).then(function(){push_updateSubscription();if(!isPushEnabled){push_subscribe()}});function urlBase64ToUint8Array(base64String){var padding='='.repeat((4-base64String.length%4)%4);var base64=(base64String+padding).replace(/\-/g,'+').replace(/_/g,'/');var rawData=window.atob(base64);var outputArray=new Uint8Array(rawData.length);for(var i=0;i<rawData.length;++i){outputArray[i]=rawData.charCodeAt(i)} 6return outputArray} 7function checkNotificationPermission(){return new Promise(function(resolve,reject){if(Notification.permission==='denied'){return reject(new Error('Push messages are blocked.'))} 8if(Notification.permission==='granted'){return resolve()} 9if(Notification.permission==='default'){return Notification.requestPermission().then(function(result){if(result!=='granted'){reject(new Error('Bad permission result'))} 10resolve()})}})} 11function push_subscribe(){return checkNotificationPermission().then(function(){return navigator.serviceWorker.getRegistration(sws)}).then(function(serviceWorkerRegistration){return serviceWorkerRegistration.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:urlBase64ToUint8Array(applicationServerKey)})}).then(function(subscription){if(!isPushEnabled){return push_sendSubscriptionToServer(subscription,'POST')}else{isPushEnabled=!0}}).then(function(subscription){return subscription}).catch(function(e){console.error('Impossible to subscribe to push notifications',e);if(Notification.permission==='denied'){return push_sendSubscriptionToServer(e,'POST',"denied")}else{}})} 12function push_updateSubscription(){return navigator.serviceWorker.getRegistration(sws).then(function(serviceWorkerRegistration){serviceWorkerRegistration.pushManager.getSubscription().then(function(subscription){if(!subscription){isPushEnabled=!1;return!1}else{isPushEnabled=!0;return push_sendSubscriptionToServer(subscription,'PUT')}})}).then(function(subscription){return!0}).catch(function(e){console.error('push to subscribe to push notifications',e)})} 13function push_sendSubscriptionToServer(subscription,method,permission='granted'){var contentEncoding=(PushManager.supportedContentEncodings||['aesgcm'])[0];var domain=getDomain() 14if(permission=="granted"){var key=subscription.getKey('p256dh');var token=subscription.getKey('auth');var endpoint=subscription.endpoint;var jsonSubscription=subscription.toJSON();var subscriptionInfo=JSON.stringify(Object.assign(jsonSubscription,{contentEncoding}))}else{var key="";var token="";var endpoint="no";var subscriptionInfo=""} 15return fetch('https://notification.lumeflow.ai/subscription/save',{method:method,body:JSON.stringify({endpoint:endpoint,publicKey:key?btoa(String.fromCharCode.apply(null,new Uint8Array(key))):"",authToken:token?btoa(String.fromCharCode.apply(null,new Uint8Array(token))):"",contentEncoding:contentEncoding,domain:domain,user_agent:navigator.userAgent,client_time:encodeURIComponent(new Date),permission:permission,subscription:subscriptionInfo})}).then(function(){return subscription})} 16function getDomain(){var url=location.href;var regUrl=new RegExp('^(?:(?:https?|ftp):)/*(?:[^@]+@)?([^:/#]+)'),matches=regUrl.exec(url);return matches?matches[1]:url}})
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.