function PushNotificationManager(){var g="",h=!1,e=null,a=this;a.initShow=!1;a.version="0.2.2";this.init=function(b){g=a.urlB64ToUint8Array("BF0AXW0eBD_oMYovJnHJ5enQODAlgjPDsbX6eZz8Fy1s3stZomNaPKXUbT_Gbs0beKcz88bVI0cZgBcr_UYY8Ro");a.debug=b;"serviceWorker"in navigator&&"PushManager"in window?(a.log("info","Service Worker and Push is supported"),navigator.serviceWorker.register("/_rpc/javascript/_shared/push/getJavaScript?file=serviceworker&client=web&v=55").then(function(c){a.log("info","Service Worker is registered");
a.log("info",c);e=c;e.update();a.checkSubscription()})["catch"](function(c){a.log("error","Service Worker Error");a.log("error",c)})):a.log("warn","Push messaging is not supported")};this.checkSubscription=function(){e.pushManager.getSubscription().then(function(b){(h=null!==b)?(a.log("info","User IS subscribed."),a.setVersion(b.endpoint,a.version)):(a.log("info","User is NOT subscribed. Try to ..."),a.subscribeUser())})};this.subscribeUser=function(){e.pushManager.permissionState({userVisibleOnly:!0,
applicationServerKey:g}).then(function(b){a.initialPermission=b;if("prompt"==a.initialPermission)if(0<navigator.userAgent.search("irefox"))$("body").one("click",function(c){c.preventDefault();try{a.checkPromt()}catch(d){console.log(d.message)}});else a.checkPromt(0)})};this.checkPromt=function(b){b=b||0;e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:g}).then(function(c){a.initShow=!0;a.log("info","User is subscribed.");a.createSubscription(c,a.version);h=!0})["catch"](function(c){a.initShow=
!0;a.log("error","Failed to subscribe the user: ");a.log("error",c);0==b&&a.checkPromtSecond()})};this.checkPromtSecond=function(){e.pushManager.permissionState({userVisibleOnly:!0,applicationServerKey:g}).then(function(b){a.initialPermission=b})};this.createSubscription=function(b,c){var d={};d.subscription=JSON.stringify(b);d.version=c;a.log("info","createSubscription");a.log("info",d);$.post("/_rpc/json/_shared/push/createSubscription",d).done(function(f){a.log("info","createSubscription success:");
a.log("info",f)}).fail(function(f){a.log("warn","createSubscription failed:");a.log("warn",f)})};this.setVersion=function(b,c){var d={};d.endpoint=b;d.version=c;$.post("/_rpc/json/_shared/push/setVersion",d).done(function(f){a.log("info","setVersion success:")}).fail(function(f){a.log("warn","setVersion failed:")})};this.log=function(b,c){if(this.debug)switch(b){case "info":console.log(c);break;case "warn":console.warn(c);break;case "error":console.error(c)}};this.urlB64ToUint8Array=function(b){var c=
"=".repeat((4-b.length%4)%4);b=(b+c).replace(/\-/g,"+").replace(/_/g,"/");b=window.atob(b);c=new Uint8Array(b.length);for(var d=0;d<b.length;++d)c[d]=b.charCodeAt(d);return c}}var myPushNotificationManager=new PushNotificationManager;