!function(e){var t={};function i(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=t,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(r,n,function(t){return e[t]}.bind(null,n));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/",i(i.s=1)}({"./node_modules/bowser/es5.js":function(e,t,i){e.exports=function(e){var t={};function i(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(r,n,function(t){return e[t]}.bind(null,n));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=90)}({17:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var r=i(18),n=function(){function e(){}return e.getFirstMatch=function(e,t){var i=t.match(e);return i&&i.length>0&&i[1]||""},e.getSecondMatch=function(e,t){var i=t.match(e);return i&&i.length>1&&i[2]||""},e.matchAndReturnConst=function(e,t,i){if(e.test(t))return i},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,i,r){void 0===r&&(r=!1);var n=e.getVersionPrecision(t),o=e.getVersionPrecision(i),s=Math.max(n,o),a=0,l=e.map([t,i],function(t){var i=s-e.getVersionPrecision(t),r=t+new Array(i+1).join(".0");return e.map(r.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(r&&(a=s-Math.min(n,o)),s-=1;s>=a;){if(l[0][s]>l[1][s])return 1;if(l[0][s]===l[1][s]){if(s===a)return 0;s-=1}else if(l[0][s]<l[1][s])return-1}},e.map=function(e,t){var i,r=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(i=0;i<e.length;i+=1)r.push(t(e[i]));return r},e.find=function(e,t){var i,r;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,r=e.length;i<r;i+=1){var n=e[i];if(t(n,i))return n}},e.assign=function(e){for(var t,i,r=e,n=arguments.length,o=new Array(n>1?n-1:0),s=1;s<n;s++)o[s-1]=arguments[s];if(Object.assign)return Object.assign.apply(Object,[e].concat(o));var a=function(){var e=o[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach(function(t){r[t]=e[t]})};for(t=0,i=o.length;t<i;t+=1)a();return e},e.getBrowserAlias=function(e){return r.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return r.BROWSER_MAP[e]||""},e}();t.default=n,e.exports=t.default},18:function(e,t,i){"use strict";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var r,n=(r=i(91))&&r.__esModule?r:{default:r},o=i(18);function s(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a=function(){function e(){}var t,i;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new n.default(e,t)},e.parse=function(e){return new n.default(e).getResult()},t=e,(i=[{key:"BROWSER_MAP",get:function(){return o.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return o.ENGINE_MAP}},{key:"OS_MAP",get:function(){return o.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return o.PLATFORMS_MAP}}])&&s(t,i),e}();t.default=a,e.exports=t.default},91:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var r=l(i(92)),n=l(i(93)),o=l(i(94)),s=l(i(95)),a=l(i(17));function l(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(r.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(n.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(o.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(s.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,i={},r=0,n={},o=0;if(Object.keys(e).forEach(function(t){var s=e[t];"string"==typeof s?(n[t]=s,o+=1):"object"==typeof s&&(i[t]=s,r+=1)}),r>0){var s=Object.keys(i),l=a.default.find(s,function(e){return t.isOS(e)});if(l){var d=this.satisfies(i[l]);if(void 0!==d)return d}var c=a.default.find(s,function(e){return t.isPlatform(e)});if(c){var u=this.satisfies(i[c]);if(void 0!==u)return u}}if(o>0){var p=Object.keys(n),g=a.default.find(p,function(e){return t.isBrowser(e,!0)});if(void 0!==g)return this.compareVersion(n[g])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var i=this.getBrowserName().toLowerCase(),r=e.toLowerCase(),n=a.default.getBrowserTypeByAlias(r);return t&&n&&(r=n.toLowerCase()),r===i},t.compareVersion=function(e){var t=[0],i=e,r=!1,n=this.getBrowserVersion();if("string"==typeof n)return">"===e[0]||"<"===e[0]?(i=e.substr(1),"="===e[1]?(r=!0,i=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?i=e.substr(1):"~"===e[0]&&(r=!0,i=e.substr(1)),t.indexOf(a.default.compareVersions(n,i,r))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e){return this.isBrowser(e)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some(function(e){return t.is(e)})},e}();t.default=d,e.exports=t.default},92:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var r,n=(r=i(17))&&r.__esModule?r:{default:r},o=/version\/(\d+(\.?_?\d+)+)/i,s=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},i=n.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/(?:opera)[\s\/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},i=n.default.getFirstMatch(/(?:opr|opios)[\s\/](\S+)/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/(?:SamsungBrowser)[\s\/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},i=n.default.getFirstMatch(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},i=n.default.getFirstMatch(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},i=n.default.getFirstMatch(/(?:swing)[\s\/](\d+(?:\.\d+)+)/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/(?:coast)[\s\/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},i=n.default.getFirstMatch(/(?:yabrowser)[\s\/](\d+(\.?_?\d+)+)/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/(?:ucbrowser)[\s\/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/(?:Maxthon|mxios)[\s\/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/(?:epiphany)[\s\/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/(?:puffin)[\s\/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/(?:sleipnir)[\s\/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/(?:k-meleon)[\s\/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},i=n.default.getFirstMatch(/(?:micromessenger)[\s\/](\d+(\.?_?\d+)+)/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},i=n.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[\/](\d+(\.?_?\d+)+)/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},i=n.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},i=n.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},i=n.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},i=n.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},i=n.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},i=n.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return i&&(t.version=i),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},i=n.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},i=n.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},i=n.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},i=n.default.getFirstMatch(o,e)||n.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},i=n.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},i=n.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},i=n.default.getFirstMatch(/(?:qupzilla)[\s\/](\d+(\.?_?\d+)+)/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},i=n.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s\/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},i=n.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},i=n.default.getFirstMatch(/(?:chromium)[\s\/](\d+(\.?_?\d+)+)/i,e)||n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},i=n.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},i=n.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t={name:"Android Browser"},i=n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},i=n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},i=n.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:n.default.getFirstMatch(t,e),version:n.default.getSecondMatch(t,e)}}}];t.default=s,e.exports=t.default},93:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var r,n=(r=i(17))&&r.__esModule?r:{default:r},o=i(18),s=[{test:[/Roku\/DVP/],describe:function(e){var t=n.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:o.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=n.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=n.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),i=n.default.getWindowsVersionName(t);return{name:o.OS_MAP.Windows,version:t,versionName:i}}},{test:[/Macintosh(.*?) FxiOS(.*?) Version\//],describe:function(e){var t=n.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return{name:o.OS_MAP.iOS,version:t}}},{test:[/macintosh/i],describe:function(e){var t=n.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),i=n.default.getMacOSVersionName(t),r={name:o.OS_MAP.MacOS,version:t};return i&&(r.versionName=i),r}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=n.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:o.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t=n.default.getFirstMatch(/android[\s\/-](\d+(\.\d+)*)/i,e),i=n.default.getAndroidVersionName(t),r={name:o.OS_MAP.Android,version:t};return i&&(r.versionName=i),r}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=n.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),i={name:o.OS_MAP.WebOS};return t&&t.length&&(i.version=t),i}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=n.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||n.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||n.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:o.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=n.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=n.default.getFirstMatch(/tizen[\/\s](\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:o.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:o.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=n.default.getFirstMatch(/PlayStation 4[\/\s](\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.PlayStation4,version:t}}}];t.default=s,e.exports=t.default},94:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var r,n=(r=i(17))&&r.__esModule?r:{default:r},o=i(18),s=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=n.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",i={type:o.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(i.model=t),i}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?) Version\//],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),i=e.test(/like (ipod|iphone)/i);return t&&!i},describe:function(e){var t=n.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:o.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}}];t.default=s,e.exports=t.default},95:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var r,n=(r=i(17))&&r.__esModule?r:{default:r},o=i(18),s=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:o.ENGINE_MAP.Blink};var t=n.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:o.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:o.ENGINE_MAP.Trident},i=n.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:o.ENGINE_MAP.Presto},i=n.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=e.test(/gecko/i),i=e.test(/like gecko/i);return t&&!i},describe:function(e){var t={name:o.ENGINE_MAP.Gecko},i=n.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:o.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:o.ENGINE_MAP.WebKit},i=n.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}}];t.default=s,e.exports=t.default}})},"./node_modules/idb/build/esm/index.js":function(e,t,i){"use strict";i.r(t);const r=(e,t)=>t.some(t=>e instanceof t);let n,o;const s=new WeakMap,a=new WeakMap,l=new WeakMap,d=new WeakMap,c=new WeakMap;let u={get(e,t,i){if(e instanceof IDBTransaction){if("done"===t)return a.get(e);if("objectStoreNames"===t)return e.objectStoreNames||l.get(e);if("store"===t)return i.objectStoreNames[1]?void 0:i.objectStore(i.objectStoreNames[0])}return h(e[t])},has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function p(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(o||(o=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(b(this),t),h(s.get(this))}:function(...t){return h(e.apply(b(this),t))}:function(t,...i){const r=e.call(b(this),t,...i);return l.set(r,t.sort?t.sort():[t]),h(r)}}function g(e){return"function"==typeof e?p(e):(e instanceof IDBTransaction&&function(e){if(a.has(e))return;const t=new Promise((t,i)=>{const r=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",o),e.removeEventListener("abort",o)},n=()=>{t(),r()},o=()=>{i(e.error),r()};e.addEventListener("complete",n),e.addEventListener("error",o),e.addEventListener("abort",o)});a.set(e,t)}(e),r(e,n||(n=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,u):e)}function h(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,i)=>{const r=()=>{e.removeEventListener("success",n),e.removeEventListener("error",o)},n=()=>{t(h(e.result)),r()},o=()=>{i(e.error),r()};e.addEventListener("success",n),e.addEventListener("error",o)});return t.then(t=>{t instanceof IDBCursor&&s.set(t,e)}).catch(()=>{}),c.set(t,e),t}(e);if(d.has(e))return d.get(e);const t=g(e);return t!==e&&(d.set(e,t),c.set(t,e)),t}const b=e=>c.get(e);function m(e,t,{blocked:i,upgrade:r,blocking:n}={}){const o=indexedDB.open(e,t),s=h(o);return r&&o.addEventListener("upgradeneeded",e=>{r(h(o.result),e.oldVersion,e.newVersion,h(o.transaction))}),i&&o.addEventListener("blocked",()=>i()),n&&s.then(e=>e.addEventListener("versionchange",n)).catch(()=>{}),s}function f(e,{blocked:t}={}){const i=indexedDB.deleteDatabase(e);return t&&i.addEventListener("blocked",()=>t()),h(i).then(()=>void 0)}i.d(t,"openDB",function(){return m}),i.d(t,"deleteDB",function(){return f}),i.d(t,"unwrap",function(){return b}),i.d(t,"wrap",function(){return h});const v=["get","getKey","getAll","getAllKeys","count"],w=["put","add","delete","clear"],_=new Map;function y(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(_.get(t))return _.get(t);const i=t.replace(/FromIndex$/,""),r=t!==i,n=w.includes(i);if(!(i in(r?IDBIndex:IDBObjectStore).prototype)||!n&&!v.includes(i))return;const o=async function(e,...t){const o=this.transaction(e,n?"readwrite":"readonly");let s=o.store;r&&(s=s.index(t.shift()));const a=s[i](...t);return n&&await o.done,a};return _.set(t,o),o}u=(e=>({get:(t,i,r)=>y(t,i)||e.get(t,i,r),has:(t,i)=>!!y(t,i)||e.has(t,i)}))(u)},"./node_modules/lit-element/lit-element.js":function(e,t,i){"use strict";i.r(t);var r=i("./node_modules/lit-html/lit-html.js"),n=i("./node_modules/lit-html/lib/dom.js"),o=i("./node_modules/lit-html/lib/template.js");const s=133;function a(e,t){const{element:{content:i},parts:r}=e,n=document.createTreeWalker(i,s,null,!1);let o=d(r),a=r[o],l=-1,c=0;const u=[];let p=null;for(;n.nextNode();){l++;const e=n.currentNode;for(e.previousSibling===p&&(p=null),t.has(e)&&(u.push(e),null===p&&(p=e)),null!==p&&c++;void 0!==a&&a.index===l;)a.index=null!==p?-1:a.index-c,a=r[o=d(r,o)]}u.forEach(e=>e.parentNode.removeChild(e))}const l=e=>{let t=11===e.nodeType?0:1;const i=document.createTreeWalker(e,s,null,!1);for(;i.nextNode();)t++;return t},d=(e,t=-1)=>{for(let i=t+1;i<e.length;i++){const t=e[i];if(Object(o.d)(t))return i}return-1};var c=i("./node_modules/lit-html/lib/render.js"),u=i("./node_modules/lit-html/lib/template-factory.js"),p=i("./node_modules/lit-html/lib/template-instance.js");const g=(e,t)=>`${e}--${t}`;let h=!0;void 0===window.ShadyCSS?h=!1:void 0===window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1."),h=!1);const b=e=>t=>{const i=g(t.type,e);let r=u.a.get(i);void 0===r&&(r={stringsArray:new WeakMap,keyString:new Map},u.a.set(i,r));let n=r.stringsArray.get(t.strings);if(void 0!==n)return n;const s=t.strings.join(o.f);if(void 0===(n=r.keyString.get(s))){const i=t.getTemplateElement();h&&window.ShadyCSS.prepareTemplateDom(i,e),n=new o.a(t,i),r.keyString.set(s,n)}return r.stringsArray.set(t.strings,n),n},m=["html","svg"],f=new Set,v=(e,t,i)=>{f.add(e);const r=i?i.element:document.createElement("template"),n=t.querySelectorAll("style"),{length:o}=n;if(0===o)return void window.ShadyCSS.prepareTemplateStyles(r,e);const c=document.createElement("style");for(let e=0;e<o;e++){const t=n[e];t.parentNode.removeChild(t),c.textContent+=t.textContent}(e=>{m.forEach(t=>{const i=u.a.get(g(t,e));void 0!==i&&i.keyString.forEach(e=>{const{element:{content:t}}=e,i=new Set;Array.from(t.querySelectorAll("style")).forEach(e=>{i.add(e)}),a(e,i)})})})(e);const p=r.content;i?function(e,t,i=null){const{element:{content:r},parts:n}=e;if(null==i)return void r.appendChild(t);const o=document.createTreeWalker(r,s,null,!1);let a=d(n),c=0,u=-1;for(;o.nextNode();)for(u++,o.currentNode===i&&(c=l(t),i.parentNode.insertBefore(t,i));-1!==a&&n[a].index===u;){if(c>0){for(;-1!==a;)n[a].index+=c,a=d(n,a);return}a=d(n,a)}}(i,c,p.firstChild):p.insertBefore(c,p.firstChild),window.ShadyCSS.prepareTemplateStyles(r,e);const h=p.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==h)t.insertBefore(h.cloneNode(!0),t.firstChild);else if(i){p.insertBefore(c,p.firstChild);const e=new Set;e.add(c),a(i,e)}};window.JSCompiler_renameProperty=((e,t)=>e);const w={toAttribute(e,t){switch(t){case Boolean:return e?"":null;case Object:case Array:return null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){switch(t){case Boolean:return null!==e;case Number:return null===e?null:Number(e);case Object:case Array:return JSON.parse(e)}return e}},_=(e,t)=>t!==e&&(t==t||e==e),y={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:_},x=Promise.resolve(!0),k=1,S=4,P=8,E=16,C=32,T="finalized";class A extends HTMLElement{constructor(){super(),this._updateState=0,this._instanceProperties=void 0,this._updatePromise=x,this._hasConnectedResolver=void 0,this._changedProperties=new Map,this._reflectingProperties=void 0,this.initialize()}static get observedAttributes(){this.finalize();const e=[];return this._classProperties.forEach((t,i)=>{const r=this._attributeNameForProperty(i,t);void 0!==r&&(this._attributeToPropertyMap.set(r,i),e.push(r))}),e}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;const e=Object.getPrototypeOf(this)._classProperties;void 0!==e&&e.forEach((e,t)=>this._classProperties.set(t,e))}}static createProperty(e,t=y){if(this._ensureClassProperties(),this._classProperties.set(e,t),t.noAccessor||this.prototype.hasOwnProperty(e))return;const i="symbol"==typeof e?Symbol():`__${e}`;Object.defineProperty(this.prototype,e,{get(){return this[i]},set(t){const r=this[e];this[i]=t,this._requestUpdate(e,r)},configurable:!0,enumerable:!0})}static finalize(){const e=Object.getPrototypeOf(this);if(e.hasOwnProperty(T)||e.finalize(),this[T]=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){const e=this.properties,t=[...Object.getOwnPropertyNames(e),..."function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e):[]];for(const i of t)this.createProperty(i,e[i])}}static _attributeNameForProperty(e,t){const i=t.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof e?e.toLowerCase():void 0}static _valueHasChanged(e,t,i=_){return i(e,t)}static _propertyValueFromAttribute(e,t){const i=t.type,r=t.converter||w,n="function"==typeof r?r:r.fromAttribute;return n?n(e,i):e}static _propertyValueToAttribute(e,t){if(void 0===t.reflect)return;const i=t.type,r=t.converter;return(r&&r.toAttribute||w.toAttribute)(e,i)}initialize(){this._saveInstanceProperties(),this._requestUpdate()}_saveInstanceProperties(){this.constructor._classProperties.forEach((e,t)=>{if(this.hasOwnProperty(t)){const e=this[t];delete this[t],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(t,e)}})}_applyInstanceProperties(){this._instanceProperties.forEach((e,t)=>this[t]=e),this._instanceProperties=void 0}connectedCallback(){this._updateState=this._updateState|C,this._hasConnectedResolver&&(this._hasConnectedResolver(),this._hasConnectedResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(e,t,i){t!==i&&this._attributeToProperty(e,i)}_propertyToAttribute(e,t,i=y){const r=this.constructor,n=r._attributeNameForProperty(e,i);if(void 0!==n){const e=r._propertyValueToAttribute(t,i);if(void 0===e)return;this._updateState=this._updateState|P,null==e?this.removeAttribute(n):this.setAttribute(n,e),this._updateState=this._updateState&~P}}_attributeToProperty(e,t){if(this._updateState&P)return;const i=this.constructor,r=i._attributeToPropertyMap.get(e);if(void 0!==r){const e=i._classProperties.get(r)||y;this._updateState=this._updateState|E,this[r]=i._propertyValueFromAttribute(t,e),this._updateState=this._updateState&~E}}_requestUpdate(e,t){let i=!0;if(void 0!==e){const r=this.constructor,n=r._classProperties.get(e)||y;r._valueHasChanged(this[e],t,n.hasChanged)?(this._changedProperties.has(e)||this._changedProperties.set(e,t),!0!==n.reflect||this._updateState&E||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(e,n))):i=!1}!this._hasRequestedUpdate&&i&&this._enqueueUpdate()}requestUpdate(e,t){return this._requestUpdate(e,t),this.updateComplete}async _enqueueUpdate(){let e,t;this._updateState=this._updateState|S;const i=this._updatePromise;this._updatePromise=new Promise((i,r)=>{e=i,t=r});try{await i}catch(e){}this._hasConnected||await new Promise(e=>this._hasConnectedResolver=e);try{const e=this.performUpdate();null!=e&&await e}catch(e){t(e)}e(!this._hasRequestedUpdate)}get _hasConnected(){return this._updateState&C}get _hasRequestedUpdate(){return this._updateState&S}get hasUpdated(){return this._updateState&k}performUpdate(){this._instanceProperties&&this._applyInstanceProperties();let e=!1;const t=this._changedProperties;try{(e=this.shouldUpdate(t))&&this.update(t)}catch(t){throw e=!1,t}finally{this._markUpdated()}e&&(this._updateState&k||(this._updateState=this._updateState|k,this.firstUpdated(t)),this.updated(t))}_markUpdated(){this._changedProperties=new Map,this._updateState=this._updateState&~S}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this._updatePromise}shouldUpdate(e){return!0}update(e){void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach((e,t)=>this._propertyToAttribute(t,this[t],e)),this._reflectingProperties=void 0)}updated(e){}firstUpdated(e){}}A[T]=!0;const O=e=>t=>"function"==typeof t?((e,t)=>(window.customElements.define(e,t),t))(e,t):((e,t)=>{const{kind:i,elements:r}=t;return{kind:i,elements:r,finisher(t){window.customElements.define(e,t)}}})(e,t),M=(e,t)=>"method"!==t.kind||!t.descriptor||"value"in t.descriptor?{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher(i){i.createProperty(t.key,e)}}:Object.assign({},t,{finisher(i){i.createProperty(t.key,e)}}),L=(e,t,i)=>{t.constructor.createProperty(i,e)};function N(e){return(t,i)=>void 0!==i?L(e,t,i):M(e,t)}function B(e){return(t,i)=>{const r={get(){return this.renderRoot.querySelector(e)},enumerable:!0,configurable:!0};return void 0!==i?j(r,t,i):I(r,t)}}function $(e){return(t,i)=>{const r={get(){return this.renderRoot.querySelectorAll(e)},enumerable:!0,configurable:!0};return void 0!==i?j(r,t,i):I(r,t)}}const j=(e,t,i)=>{Object.defineProperty(t,i,e)},I=(e,t)=>({kind:"method",placement:"prototype",key:t.key,descriptor:e}),F=e=>(t,i)=>void 0!==i?((e,t,i)=>{Object.assign(t[i],e)})(e,t,i):((e,t)=>Object.assign({},t,{finisher(i){Object.assign(i.prototype[t.key],e)}}))(e,t),D="adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,R=Symbol();class z{constructor(e,t){if(t!==R)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e}get styleSheet(){return void 0===this._styleSheet&&(D?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}const V=e=>new z(String(e),R),U=(e,...t)=>{const i=t.reduce((t,i,r)=>t+(e=>{if(e instanceof z)return e.cssText;if("number"==typeof e)return e;throw new Error(`Value passed to 'css' function must be a 'css' function result: ${e}. Use 'unsafeCSS' to pass non-literal values, but\n take care to ensure page security.`)})(i)+e[r+1],e[0]);return new z(i,R)};i.d(t,"LitElement",function(){return H}),i.d(t,"defaultConverter",function(){return w}),i.d(t,"notEqual",function(){return _}),i.d(t,"UpdatingElement",function(){return A}),i.d(t,"customElement",function(){return O}),i.d(t,"property",function(){return N}),i.d(t,"query",function(){return B}),i.d(t,"queryAll",function(){return $}),i.d(t,"eventOptions",function(){return F}),i.d(t,"html",function(){return r.html}),i.d(t,"svg",function(){return r.svg}),i.d(t,"TemplateResult",function(){return r.TemplateResult}),i.d(t,"SVGTemplateResult",function(){return r.SVGTemplateResult}),i.d(t,"supportsAdoptingStyleSheets",function(){return D}),i.d(t,"CSSResult",function(){return z}),i.d(t,"unsafeCSS",function(){return V}),i.d(t,"css",function(){return U}),(window.litElementVersions||(window.litElementVersions=[])).push("2.2.1");const W=e=>e.flat?e.flat(1/0):function e(t,i=[]){for(let r=0,n=t.length;r<n;r++){const n=t[r];Array.isArray(n)?e(n,i):i.push(n)}return i}(e);class H extends A{static finalize(){super.finalize.call(this),this._styles=this.hasOwnProperty(JSCompiler_renameProperty("styles",this))?this._getUniqueStyles():this._styles||[]}static _getUniqueStyles(){const e=this.styles,t=[];if(Array.isArray(e)){W(e).reduceRight((e,t)=>(e.add(t),e),new Set).forEach(e=>t.unshift(e))}else e&&t.push(e);return t}initialize(){super.initialize(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const e=this.constructor._styles;0!==e.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?D?this.renderRoot.adoptedStyleSheets=e.map(e=>e.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(e.map(e=>e.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(e){super.update(e);const t=this.render();t instanceof r.TemplateResult&&this.constructor.render(t,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(e=>{const t=document.createElement("style");t.textContent=e.cssText,this.renderRoot.appendChild(t)}))}render(){}}H.finalized=!0,H.render=((e,t,i)=>{if(!i||"object"!=typeof i||!i.scopeName)throw new Error("The `scopeName` option is required.");const r=i.scopeName,o=c.a.has(t),s=h&&11===t.nodeType&&!!t.host,a=s&&!f.has(r),l=a?document.createDocumentFragment():t;if(Object(c.b)(e,l,Object.assign({templateFactory:b(r)},i)),a){const e=c.a.get(l);c.a.delete(l);const i=e.value instanceof p.a?e.value.template:void 0;v(r,l,i),Object(n.b)(t,t.firstChild),t.appendChild(l),c.a.set(t,e)}!o&&s&&window.ShadyCSS.styleElement(t.host)})},"./node_modules/lit-html/lib/directive.js":function(e,t,i){"use strict";i.d(t,"a",function(){return n}),i.d(t,"b",function(){return o});const r=new WeakMap,n=e=>(...t)=>{const i=e(...t);return r.set(i,!0),i},o=e=>"function"==typeof e&&r.has(e)},"./node_modules/lit-html/lib/dom.js":function(e,t,i){"use strict";i.d(t,"a",function(){return r}),i.d(t,"c",function(){return n}),i.d(t,"b",function(){return o});const r=void 0!==window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,n=(e,t,i=null,r=null)=>{for(;t!==i;){const i=t.nextSibling;e.insertBefore(t,r),t=i}},o=(e,t,i=null)=>{for(;t!==i;){const i=t.nextSibling;e.removeChild(t),t=i}}},"./node_modules/lit-html/lib/part.js":function(e,t,i){"use strict";i.d(t,"a",function(){return r}),i.d(t,"b",function(){return n});const r={},n={}},"./node_modules/lit-html/lib/parts.js":function(e,t,i){"use strict";i.d(t,"i",function(){return d}),i.d(t,"h",function(){return c}),i.d(t,"a",function(){return u}),i.d(t,"b",function(){return p}),i.d(t,"e",function(){return g}),i.d(t,"c",function(){return h}),i.d(t,"f",function(){return b}),i.d(t,"g",function(){return m}),i.d(t,"d",function(){return v});var r=i("./node_modules/lit-html/lib/directive.js"),n=i("./node_modules/lit-html/lib/dom.js"),o=i("./node_modules/lit-html/lib/part.js"),s=i("./node_modules/lit-html/lib/template-instance.js"),a=i("./node_modules/lit-html/lib/template-result.js"),l=i("./node_modules/lit-html/lib/template.js");const d=e=>null===e||!("object"==typeof e||"function"==typeof e),c=e=>Array.isArray(e)||!(!e||!e[Symbol.iterator]);class u{constructor(e,t,i){this.dirty=!0,this.element=e,this.name=t,this.strings=i,this.parts=[];for(let e=0;e<i.length-1;e++)this.parts[e]=this._createPart()}_createPart(){return new p(this)}_getValue(){const e=this.strings,t=e.length-1;let i="";for(let r=0;r<t;r++){i+=e[r];const t=this.parts[r];if(void 0!==t){const e=t.value;if(d(e)||!c(e))i+="string"==typeof e?e:String(e);else for(const t of e)i+="string"==typeof t?t:String(t)}}return i+=e[t]}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class p{constructor(e){this.value=void 0,this.committer=e}setValue(e){e===o.a||d(e)&&e===this.value||(this.value=e,Object(r.b)(e)||(this.committer.dirty=!0))}commit(){for(;Object(r.b)(this.value);){const e=this.value;this.value=o.a,e(this)}this.value!==o.a&&this.committer.commit()}}class g{constructor(e){this.value=void 0,this.__pendingValue=void 0,this.options=e}appendInto(e){this.startNode=e.appendChild(Object(l.c)()),this.endNode=e.appendChild(Object(l.c)())}insertAfterNode(e){this.startNode=e,this.endNode=e.nextSibling}appendIntoPart(e){e.__insert(this.startNode=Object(l.c)()),e.__insert(this.endNode=Object(l.c)())}insertAfterPart(e){e.__insert(this.startNode=Object(l.c)()),this.endNode=e.endNode,e.endNode=this.startNode}setValue(e){this.__pendingValue=e}commit(){for(;Object(r.b)(this.__pendingValue);){const e=this.__pendingValue;this.__pendingValue=o.a,e(this)}const e=this.__pendingValue;e!==o.a&&(d(e)?e!==this.value&&this.__commitText(e):e instanceof a.b?this.__commitTemplateResult(e):e instanceof Node?this.__commitNode(e):c(e)?this.__commitIterable(e):e===o.b?(this.value=o.b,this.clear()):this.__commitText(e))}__insert(e){this.endNode.parentNode.insertBefore(e,this.endNode)}__commitNode(e){this.value!==e&&(this.clear(),this.__insert(e),this.value=e)}__commitText(e){const t=this.startNode.nextSibling,i="string"==typeof(e=null==e?"":e)?e:String(e);t===this.endNode.previousSibling&&3===t.nodeType?t.data=i:this.__commitNode(document.createTextNode(i)),this.value=e}__commitTemplateResult(e){const t=this.options.templateFactory(e);if(this.value instanceof s.a&&this.value.template===t)this.value.update(e.values);else{const i=new s.a(t,e.processor,this.options),r=i._clone();i.update(e.values),this.__commitNode(r),this.value=i}}__commitIterable(e){Array.isArray(this.value)||(this.value=[],this.clear());const t=this.value;let i,r=0;for(const n of e)void 0===(i=t[r])&&(i=new g(this.options),t.push(i),0===r?i.appendIntoPart(this):i.insertAfterPart(t[r-1])),i.setValue(n),i.commit(),r++;r<t.length&&(t.length=r,this.clear(i&&i.endNode))}clear(e=this.startNode){Object(n.b)(this.startNode.parentNode,e.nextSibling,this.endNode)}}class h{constructor(e,t,i){if(this.value=void 0,this.__pendingValue=void 0,2!==i.length||""!==i[0]||""!==i[1])throw new Error("Boolean attributes can only contain a single expression");this.element=e,this.name=t,this.strings=i}setValue(e){this.__pendingValue=e}commit(){for(;Object(r.b)(this.__pendingValue);){const e=this.__pendingValue;this.__pendingValue=o.a,e(this)}if(this.__pendingValue===o.a)return;const e=!!this.__pendingValue;this.value!==e&&(e?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=e),this.__pendingValue=o.a}}class b extends u{constructor(e,t,i){super(e,t,i),this.single=2===i.length&&""===i[0]&&""===i[1]}_createPart(){return new m(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class m extends p{}let f=!1;try{const e={get capture(){return f=!0,!1}};window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){}class v{constructor(e,t,i){this.value=void 0,this.__pendingValue=void 0,this.element=e,this.eventName=t,this.eventContext=i,this.__boundHandleEvent=(e=>this.handleEvent(e))}setValue(e){this.__pendingValue=e}commit(){for(;Object(r.b)(this.__pendingValue);){const e=this.__pendingValue;this.__pendingValue=o.a,e(this)}if(this.__pendingValue===o.a)return;const e=this.__pendingValue,t=this.value,i=null==e||null!=t&&(e.capture!==t.capture||e.once!==t.once||e.passive!==t.passive),n=null!=e&&(null==t||i);i&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),n&&(this.__options=w(e),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=e,this.__pendingValue=o.a}handleEvent(e){"function"==typeof this.value?this.value.call(this.eventContext||this.element,e):this.value.handleEvent(e)}}const w=e=>e&&(f?{capture:e.capture,passive:e.passive,once:e.once}:e.capture)},"./node_modules/lit-html/lib/render.js":function(e,t,i){"use strict";i.d(t,"a",function(){return s}),i.d(t,"b",function(){return a});var r=i("./node_modules/lit-html/lib/dom.js"),n=i("./node_modules/lit-html/lib/parts.js"),o=i("./node_modules/lit-html/lib/template-factory.js");const s=new WeakMap,a=(e,t,i)=>{let a=s.get(t);void 0===a&&(Object(r.b)(t,t.firstChild),s.set(t,a=new n.e(Object.assign({templateFactory:o.b},i))),a.appendInto(t)),a.setValue(e),a.commit()}},"./node_modules/lit-html/lib/template-factory.js":function(e,t,i){"use strict";i.d(t,"b",function(){return n}),i.d(t,"a",function(){return o});var r=i("./node_modules/lit-html/lib/template.js");function n(e){let t=o.get(e.type);void 0===t&&(t={stringsArray:new WeakMap,keyString:new Map},o.set(e.type,t));let i=t.stringsArray.get(e.strings);if(void 0!==i)return i;const n=e.strings.join(r.f);return void 0===(i=t.keyString.get(n))&&(i=new r.a(e,e.getTemplateElement()),t.keyString.set(n,i)),t.stringsArray.set(e.strings,i),i}const o=new Map},"./node_modules/lit-html/lib/template-instance.js":function(e,t,i){"use strict";i.d(t,"a",function(){return o});var r=i("./node_modules/lit-html/lib/dom.js"),n=i("./node_modules/lit-html/lib/template.js");class o{constructor(e,t,i){this.__parts=[],this.template=e,this.processor=t,this.options=i}update(e){let t=0;for(const i of this.__parts)void 0!==i&&i.setValue(e[t]),t++;for(const e of this.__parts)void 0!==e&&e.commit()}_clone(){const e=r.a?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),t=[],i=this.template.parts,o=document.createTreeWalker(e,133,null,!1);let s,a=0,l=0,d=o.nextNode();for(;a<i.length;)if(s=i[a],Object(n.d)(s)){for(;l<s.index;)l++,"TEMPLATE"===d.nodeName&&(t.push(d),o.currentNode=d.content),null===(d=o.nextNode())&&(o.currentNode=t.pop(),d=o.nextNode());if("node"===s.type){const e=this.processor.handleTextExpression(this.options);e.insertAfterNode(d.previousSibling),this.__parts.push(e)}else this.__parts.push(...this.processor.handleAttributeExpressions(d,s.name,s.strings,this.options));a++}else this.__parts.push(void 0),a++;return r.a&&(document.adoptNode(e),customElements.upgrade(e)),e}}},"./node_modules/lit-html/lib/template-result.js":function(e,t,i){"use strict";i.d(t,"b",function(){return s}),i.d(t,"a",function(){return a});var r=i("./node_modules/lit-html/lib/dom.js"),n=i("./node_modules/lit-html/lib/template.js");const o=` ${n.f} `;class s{constructor(e,t,i,r){this.strings=e,this.values=t,this.type=i,this.processor=r}getHTML(){const e=this.strings.length-1;let t="",i=!1;for(let r=0;r<e;r++){const e=this.strings[r],s=e.lastIndexOf("\x3c!--");i=(s>-1||i)&&-1===e.indexOf("--\x3e",s+1);const a=n.e.exec(e);t+=null===a?e+(i?o:n.g):e.substr(0,a.index)+a[1]+a[2]+n.b+a[3]+n.f}return t+=this.strings[e]}getTemplateElement(){const e=document.createElement("template");return e.innerHTML=this.getHTML(),e}}class a extends s{getHTML(){return`<svg>${super.getHTML()}</svg>`}getTemplateElement(){const e=super.getTemplateElement(),t=e.content,i=t.firstChild;return t.removeChild(i),Object(r.c)(t,i.firstChild),e}}},"./node_modules/lit-html/lib/template.js":function(e,t,i){"use strict";i.d(t,"f",function(){return r}),i.d(t,"g",function(){return n}),i.d(t,"b",function(){return s}),i.d(t,"a",function(){return a}),i.d(t,"d",function(){return d}),i.d(t,"c",function(){return c}),i.d(t,"e",function(){return u});const r=`{{lit-${String(Math.random()).slice(2)}}}`,n=`\x3c!--${r}--\x3e`,o=new RegExp(`${r}|${n}`),s="$lit$";class a{constructor(e,t){this.parts=[],this.element=t;const i=[],n=[],a=document.createTreeWalker(t.content,133,null,!1);let d=0,p=-1,g=0;const{strings:h,values:{length:b}}=e;for(;g<b;){const e=a.nextNode();if(null!==e){if(p++,1===e.nodeType){if(e.hasAttributes()){const t=e.attributes,{length:i}=t;let r=0;for(let e=0;e<i;e++)l(t[e].name,s)&&r++;for(;r-- >0;){const t=h[g],i=u.exec(t)[2],r=i.toLowerCase()+s,n=e.getAttribute(r);e.removeAttribute(r);const a=n.split(o);this.parts.push({type:"attribute",index:p,name:i,strings:a}),g+=a.length-1}}"TEMPLATE"===e.tagName&&(n.push(e),a.currentNode=e.content)}else if(3===e.nodeType){const t=e.data;if(t.indexOf(r)>=0){const r=e.parentNode,n=t.split(o),a=n.length-1;for(let t=0;t<a;t++){let i,o=n[t];if(""===o)i=c();else{const e=u.exec(o);null!==e&&l(e[2],s)&&(o=o.slice(0,e.index)+e[1]+e[2].slice(0,-s.length)+e[3]),i=document.createTextNode(o)}r.insertBefore(i,e),this.parts.push({type:"node",index:++p})}""===n[a]?(r.insertBefore(c(),e),i.push(e)):e.data=n[a],g+=a}}else if(8===e.nodeType)if(e.data===r){const t=e.parentNode;null!==e.previousSibling&&p!==d||(p++,t.insertBefore(c(),e)),d=p,this.parts.push({type:"node",index:p}),null===e.nextSibling?e.data="":(i.push(e),p--),g++}else{let t=-1;for(;-1!==(t=e.data.indexOf(r,t+1));)this.parts.push({type:"node",index:-1}),g++}}else a.currentNode=n.pop()}for(const e of i)e.parentNode.removeChild(e)}}const l=(e,t)=>{const i=e.length-t.length;return i>=0&&e.slice(i)===t},d=e=>-1!==e.index,c=()=>document.createComment(""),u=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/},"./node_modules/lit-html/lit-html.js":function(e,t,i){"use strict";i.r(t);var r=i("./node_modules/lit-html/lib/parts.js");class n{handleAttributeExpressions(e,t,i,n){const o=t[0];if("."===o){return new r.f(e,t.slice(1),i).parts}return"@"===o?[new r.d(e,t.slice(1),n.eventContext)]:"?"===o?[new r.c(e,t.slice(1),i)]:new r.a(e,t,i).parts}handleTextExpression(e){return new r.e(e)}}const o=new n;var s=i("./node_modules/lit-html/lib/template-result.js"),a=i("./node_modules/lit-html/lib/directive.js"),l=i("./node_modules/lit-html/lib/dom.js"),d=i("./node_modules/lit-html/lib/part.js"),c=i("./node_modules/lit-html/lib/render.js"),u=i("./node_modules/lit-html/lib/template-factory.js"),p=i("./node_modules/lit-html/lib/template-instance.js"),g=i("./node_modules/lit-html/lib/template.js");i.d(t,"html",function(){return h}),i.d(t,"svg",function(){return b}),i.d(t,"DefaultTemplateProcessor",function(){return n}),i.d(t,"defaultTemplateProcessor",function(){return o}),i.d(t,"directive",function(){return a.a}),i.d(t,"isDirective",function(){return a.b}),i.d(t,"removeNodes",function(){return l.b}),i.d(t,"reparentNodes",function(){return l.c}),i.d(t,"noChange",function(){return d.a}),i.d(t,"nothing",function(){return d.b}),i.d(t,"AttributeCommitter",function(){return r.a}),i.d(t,"AttributePart",function(){return r.b}),i.d(t,"BooleanAttributePart",function(){return r.c}),i.d(t,"EventPart",function(){return r.d}),i.d(t,"isIterable",function(){return r.h}),i.d(t,"isPrimitive",function(){return r.i}),i.d(t,"NodePart",function(){return r.e}),i.d(t,"PropertyCommitter",function(){return r.f}),i.d(t,"PropertyPart",function(){return r.g}),i.d(t,"parts",function(){return c.a}),i.d(t,"render",function(){return c.b}),i.d(t,"templateCaches",function(){return u.a}),i.d(t,"templateFactory",function(){return u.b}),i.d(t,"TemplateInstance",function(){return p.a}),i.d(t,"SVGTemplateResult",function(){return s.a}),i.d(t,"TemplateResult",function(){return s.b}),i.d(t,"createMarker",function(){return g.c}),i.d(t,"isTemplatePartActive",function(){return g.d}),i.d(t,"Template",function(){return g.a}),(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.1.2");const h=(e,...t)=>new s.b(e,t,"html",o),b=(e,...t)=>new s.a(e,t,"svg",o)},"./src/sdk-template/client/base.client.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/enums.ts"),o=i("./src/sdk-template/utils/index.ts"),s=i("./src/sdk-template/utils/logger.ts"),a=i("./src/sdk-template/client/browser-subscription-managers/browser-subscription-manager.ts"),l=i("./src/sdk-template/client/utils/vapid.ts");t.BaseClient=class{constructor(e,t,i,r){this._db=t,this._api=i,this._modules=r,this._Notification=window.Notification,this._autoRegister=!0,this._mode=null,this._commandsPermittedWithoutInit=[{module:this,commands:["init","getSubscription","getSubscriptionData","afterSubscription","subscriptionResult","isSubscribed","testMethod","subscribe"]}],this._subscriptionPromise=new Promise(e=>{this._subscriptionResolve=e}),this.config=e}_checkSubscriptionOwn(e){return Promise.resolve(!0)}_unsubscribeForeign(){return Promise.resolve(!1)}init(e={}){return this._initPromise||(this._initPromise=this._init(e),this._initPromise.then(()=>{this._onInit()}).catch(()=>{})),this._initPromise}_init(e={}){return r(this,void 0,void 0,function*(){const t=e.onInit||(()=>{});try{yield this._checkSupport()}catch(e){throw"Notifications API is not supported"===e.message||e.message==="You must use this SDK only for "+this.config.app.siteUrl?s.ConsoleLogger.warn(e.message):s.ConsoleLogger.error(e.message),e.permission&&t(!0),e}if(this._setMode(this._detectMode()),this._subscriptionManager.getSubscription().then(e=>{switch(e.permission){case n.PushPermissionStates.granted:if(!e.subscription)break;this._subscriptionResolve(e);break;case n.PushPermissionStates.denied:this._subscriptionResolve(e)}}),!this._subscriptionManager.isNotificationPermitted())throw t(!1,!0),s.ConsoleLogger.info("notifications are blocked"),new Error("notifications are blocked");return!1===e.autoRegister&&(this._autoRegister=!1),new Promise(e=>{const i=()=>{t(),e()};"loading"!==document.readyState?i():window.addEventListener("DOMContentLoaded",i)})})}_onInit(){this._autoRegister&&this.config.app.subscriptionAllowed&&this.registerUserForPush()}getSubscriptionData(e){this._getSubscription().then(t=>{e(t)}).catch(t=>{e({permission:t,subscription:null})})}getSubscription(e){this.getSubscriptionData(t=>{e(t.subscription||null)})}subscribe(e){console.log(e),window.addEventListener("ready-to-ask-permission-event",t=>r(this,void 0,void 0,function*(){"CUSTOM"===t.detail.type&&((yield e())?window.dispatchEvent(new CustomEvent("grv-permission-event")):window.dispatchEvent(new CustomEvent("grv-block-event")))}))}subscriptionResult(e){this._subscriptionPromise.then(t=>{e(t)})}afterSubscription(e){this.subscriptionResult(t=>{t.newSubscription&&e(t.subscription||null)})}isSubscribed(e){return this._getSubscription().then(t=>{const i=Boolean(t.subscription);return e(i),i})}isSubMatchIdb(e){return r(this,void 0,void 0,function*(){return s.ConsoleLogger.log("Matching subscriptions with idb..."),(yield this._subscriptionManager.checkSubscriptionState(e)).state===a.SubscriptionState.not_changed})}isSubNeedsToBeUpdatedInDb(e){return r(this,void 0,void 0,function*(){return s.ConsoleLogger.log("Matching subscriptions with idb..."),(yield this._subscriptionManager.checkSubscriptionState(e)).state===a.SubscriptionState.updated})}isSubExistOnServer(e){return r(this,void 0,void 0,function*(){return yield this._checkSubscriptionOwn(e)})}saveSubscriptionInDb(e){return r(this,void 0,void 0,function*(){try{s.ConsoleLogger.debug("saving subscription to db..."),yield this._subscriptionManager.saveSubscription(e),s.ConsoleLogger.debug("saved subscription to db")}catch(t){s.ConsoleLogger.warn(`Gravitec: couldn't store subscription to db (${e.regID})`)}})}updateSubscription(e){return r(this,void 0,void 0,function*(){const t=yield this._subscriptionManager.checkSubscriptionState(e);yield this._updateSubscription(t.storedSubscription,e).then(()=>r(this,void 0,void 0,function*(){s.ConsoleLogger.debug(`subscription updated: ${e.regID}`),this.saveSubscriptionInDb(e)}))})}insertSubscription(e){return r(this,void 0,void 0,function*(){yield this._sendSubscription(e).then(()=>r(this,void 0,void 0,function*(){s.ConsoleLogger.debug(`subscription sent: ${e.regID}`),yield this.saveSubscriptionInDb(e)}))})}isPushSubCreatedWithValidVapid(){return r(this,void 0,void 0,function*(){return yield l.isPushSubCreatedWithValidVapid(this.config.app.applicationServerKey)})}registerUserForPush(e=(()=>{})){return r(this,void 0,void 0,function*(){s.ConsoleLogger.debug("registering user for web push");let t=yield this._subscriptionManager.getSubscription(),i=t.subscription;if(i){if(yield this.isPushSubCreatedWithValidVapid())if(yield this.isSubMatchIdb(i))s.ConsoleLogger.log("Subscription not changed");else try{(yield this.isSubExistOnServer(i))?(s.ConsoleLogger.log("Subscription exist on server"),yield this.saveSubscriptionInDb(i)):(s.ConsoleLogger.log("Subscription does not exist on server"),yield this.upsertSubscription(i))}catch(e){s.ConsoleLogger.error(e)}else if(s.ConsoleLogger.warn("current subscription is been used with foreign subscription keys. Unsubscribing..."),yield this._unsubscribeForeign()){s.ConsoleLogger.info("unsubscribed from foreign subscription keys"),t.permission=n.PushPermissionStates.granted,t.newSubscription=!0;try{i=yield this._subscriptionManager.subscribe(),yield this.upsertSubscription(i),t.subscription=i}catch(e){e.permission?t.permission=e.permission:s.ConsoleLogger.error(e)}}}else try{i=yield this._subscriptionManager.subscribe(),t.permission=n.PushPermissionStates.granted,t.subscription=i,t.newSubscription=!0,yield this.upsertSubscription(i)}catch(e){e.permission?t.permission=e.permission:s.ConsoleLogger.error(e)}return t.subscription=i,this._subscriptionResolve(t),e(t),t})}upsertSubscription(e){return r(this,void 0,void 0,function*(){this._mode!==n.ClientMode.safari&&((yield this.isSubNeedsToBeUpdatedInDb(e))?yield this.updateSubscription(e):yield this.insertSubscription(e))})}_getSubscription(){return this._subscriptionManager.getSubscription()}_processSubscriptionIfChanged(e){return r(this,void 0,void 0,function*(){if(this._mode===n.ClientMode.safari)return!0;const t=yield this._subscriptionManager.checkSubscriptionState(e);s.ConsoleLogger.debug(`subscription state: ${t.state}`);let i=Promise.resolve();switch(t.state){case a.SubscriptionState.not_changed:return!1;case a.SubscriptionState.updated:i=this._updateSubscription(t.storedSubscription,e).then(()=>{s.ConsoleLogger.debug(`subscription updated: ${e.regID}`)});break;case a.SubscriptionState.new:i=this._sendSubscription(e).then(()=>{s.ConsoleLogger.debug(`subscription sent: ${e.regID}`)})}try{return yield i,!0}catch(e){return!1}})}_updateSubscription(e,t){return this._api.updateSubscription(e,t).then(i=>{if(i&&i.error)throw new Error(`couldn't update subscriber (old subscription - ${e.regID}, new subscription - ${t.regID}) - ${i.message}`);return i})}_sendSubscription(e){return this._api.subscribe(e).then(t=>{if(!t||!t.error)return t;throw new Error(`couldn't store subscriber (${e.regID}) - ${t.message}`)})}_checkSupport(){return r(this,void 0,void 0,function*(){if(!(document.baseURI||window.location&&window.location.href||"").includes(this.config.app.siteUrl))throw new Error("You must use this SDK only for "+this.config.app.siteUrl);if("IE"===o.getBrowserName())throw new Error("IE doesn't support Web Push");if(o.checkSafari()){if(!this.config.app.applePushId)throw new Error("Safari project ID not provided. Unable to use Safari subscription");return!0}if(!this._Notification)throw new Error("Notifications API is not supported");if(!o.isPushManagerSupported())throw new Error("Push messaging isn't supported");if(yield o.isPrivateMode())throw new Error("Web push not supported in incognito mode");return!0})}_detectMode(){return o.checkSafari()?n.ClientMode.safari:n.ClientMode.chrome}_setMode(e){this._mode=e,this._initModeSpecifics()}push(e){return r(this,void 0,void 0,function*(){let t,i=e[0];if(i.includes(".")?[t,i]=i.split("."):["addTag","addTags","setTags","removeTag","removeAllTags","setAlias","getTags"].includes(i)&&(t="segmentation"),t&&!this._modules[t])return void s.ConsoleLogger.error(`Gravitec: No module ${t}`);const r=t?this._modules[t]:this;if(!(i in r&&r[i]instanceof Function))return void s.ConsoleLogger.error(`Gravitec: No command ${i} ${t?` in ${t} module`:""}`);if(r!==this||"init"!==i){const e=this._commandsPermittedWithoutInit.some(e=>e.module===r&&e.commands.includes(i));try{yield this.init()}catch(t){if(!e)return}}if("segmentation"===t){const t=yield this._getSubscription();if(!t.subscription)return void s.ConsoleLogger.log(`No subscription found to execute '${i}' on segmentation module`);let r=["removeAllTags","getTags","getAlias"].includes(i)?1:2;e.splice(r,0,t.subscription.regID)}const n=r[i].apply(r,e.slice(1));n&&"object"==typeof n&&"catch"in n&&n.catch(()=>{})})}processPushes(e){e.forEach(e=>this.push(e))}}},"./src/sdk-template/client/browser-subscription-managers/browser-subscription-manager.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/utils/database.ts");var o;!function(e){e.updated="updated",e.new="new",e.not_changed="not changed"}(o=t.SubscriptionState||(t.SubscriptionState={}));t.BrowserSubscriptionManager=class{constructor(e,t,i){this.config=e,this._db=t,this._Notification=i}getSubscription(){return r(this,void 0,void 0,function*(){return yield this._getSubscription()})}subscribe(){return this._subscribe()}saveSubscription(e){return r(this,void 0,void 0,function*(){return yield this._db.put(n.DB_TABLES.ids,{type:"SubscriptionId",value:e}),e})}_retrieveSubscription(){return r(this,void 0,void 0,function*(){try{const e=yield this._db.get(n.DB_TABLES.ids,"SubscriptionId");return e&&e.value}catch(e){return null}})}checkSubscriptionState(e){return r(this,void 0,void 0,function*(){const t=yield this._retrieveSubscription();return t?t.regID===e.regID?{state:o.not_changed}:{state:o.updated,storedSubscription:t}:{state:o.new}})}}},"./src/sdk-template/client/browser-subscription-managers/chrome-like-subscription-manager.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/enums.ts"),o=i("./src/sdk-template/exceptions/subscribe.exception.ts"),s=i("./src/sdk-template/utils/index.ts"),a=i("./src/sdk-template/client/browser-subscription-managers/browser-subscription-manager.ts"),l=i("./src/sdk-template/utils/logger.ts"),d=i("./src/sdk-template/utils/database.ts"),c=i("./src/sdk-template/client/widgets/branding.ts"),u=i("./src/sdk-template/client/widgets/optIn.ts");function p(e){const t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),i=window.atob(t),r=new Uint8Array(i.length);for(let e=0;e<i.length;++e)r[e]=i.charCodeAt(e);return r}t.ChromeLikeSubscriptionManager=class extends a.BrowserSubscriptionManager{constructor(e,t,i){super(e,t,i),this.trackingLink=`https://api.gravitec.media/api/stats/event?app_key=${this.config.app.appKey}`,this.getRand=(()=>{let e=Math.random();if(!(e<=.2))return e>.2&&e<=.4?"A":e>.4&&e<=.6?"B":e>.6&&e<=.8?"D":e>.8&&e<=1?"F":void 0}),this.getType=(()=>"G"),this._addServiceWorker()}_addServiceWorker(){if("serviceWorker"in navigator){const e=window.navigator.serviceWorker.controller;if(e&&e.scriptURL.endsWith(`${this.config.app.swPath}?version=${this.config.app.sdkVersion}`))return;return this._db.get(d.DB_TABLES.ids,"sw_version").then(e=>0!==e.value?this._tryToRegisterWorkerWithVersion():this._tryToRegisterWorkerWithoutVersion()).catch(e=>this._tryToRegisterWorkerWithVersion())}throw new Error("Service workers are not supported")}_tryToRegisterWorkerWithVersion(){const e=g(this.config.app.appKey);return e&&(this.config.app.swPath=e),window.navigator.serviceWorker.register(`${this.config.app.swPath}?version=${this.config.app.sdkVersion}&appKey=${this.config.app.appKey}`,{scope:this.config.app.swScope}).then(()=>{this._db.put(d.DB_TABLES.ids,{type:"sw_version",value:this.config.app.sdkVersion}),l.ConsoleLogger.log("service worker registered")}).catch(e=>{this._tryToRegisterWorkerWithoutVersion(),l.ConsoleLogger.error(e)})}_tryToRegisterWorkerWithoutVersion(){return window.navigator.serviceWorker.register(`${this.config.app.swPath}`,{scope:this.config.app.swScope}).then(e=>{this._db.put(d.DB_TABLES.ids,{type:"sw_version",value:0}),l.ConsoleLogger.log("service worker registered")}).catch(e=>{l.ConsoleLogger.error(e)})}getNativeSubscription(){return r(this,void 0,void 0,function*(){const e=yield window.navigator.serviceWorker.ready;try{return yield e.pushManager.getSubscription()}catch(e){return l.ConsoleLogger.error(`Error during getSubscription(): ${e}`),null}})}_getSubscription(){return r(this,void 0,void 0,function*(){const e=yield this.getNativeSubscription();if(!e)return{permission:this._Notification.permission};try{return{permission:n.PushPermissionStates.granted,subscription:s.prepareSubscription(e)}}catch(e){return l.ConsoleLogger.error(`Couldn't parse subscription: ${e}`),{permission:this._Notification.permission}}})}_subscribe(){return r(this,void 0,void 0,function*(){const e=yield window.navigator.serviceWorker.ready,t=yield this._localSubscribe();if(t!==n.PushPermissionStates.granted)return Promise.reject(new o.SubscribeError(t));const i=yield e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:p(this.config.app.applicationServerKey)});try{return s.prepareSubscription(i)}catch(e){}})}_localSubscribe(){return r(this,void 0,void 0,function*(){const e=new CustomEvent("subscribed",{detail:{subscribed:!0}}),t=new CustomEvent("unsubscribed",{detail:{unsubscribed:!0}});if(this.config.app.subDomain)return new Promise(e=>{this._Notification.requestPermission(()=>{e(this._Notification.permission)}),"complete"==document.readyState||(document.onreadystatechange=(()=>{document.readyState}))});{const i=!1,r=new c.BrandingLabel(this.config.app),o=new u.OptIn(this.config);let a="C";if("default"===Notification.permission)try{"UC_BROWSER"!==s.getBrowserName()&&(yield o.requestPermission())}catch(e){return Promise.resolve(n.PushPermissionStates.deniedFromCustom)}return new Promise(o=>{this._Notification.requestPermission(()=>{o(this._Notification.permission),r.close(),this._Notification.permission===n.PushPermissionStates.denied?i&&(dispatchEvent(t),fetch(`${this.trackingLink}&user_id=${window.GravitecNews.getUserId()}&event_type=native_blocked&event_source=${a}_sub`).catch(()=>{})):this._Notification.permission===n.PushPermissionStates.granted?(dispatchEvent(e),i&&fetch(`${this.trackingLink}&user_id=${window.GravitecNews.getUserId()}&event_type=native_allowed&event_source=${a}_sub`).catch(()=>{})):(window.localStorage.setItem("gravitecOptIn",a),i&&fetch(`${this.trackingLink}&user_id=${window.GravitecNews.getUserId()}&event_type=native_closed&event_source=${a}_sub`).catch(()=>{}))}),"complete"==document.readyState?(r.show(),i&&fetch(`${this.trackingLink}&user_id=${window.GravitecNews.getUserId()}&event_type=native_showed&event_source=${a}_sub`).catch(()=>{})):document.onreadystatechange=(()=>{"complete"==document.readyState&&(r.show(),i&&fetch(`${this.trackingLink}&user_id=${window.GravitecNews.getUserId()}&event_type=native_showed&event_source=${a}_sub`).catch(()=>{}))})})}})}isNotificationPermitted(){return this._Notification.permission!==n.PushPermissionStates.denied}getNotificationPermission(){return this._Notification.permission}};const g=e=>{const t=document.querySelector(`script[src*="${e}/client.js"]`);if(t){const e=t.getAttribute("src"),i=new URL(e);return"wp"===i.searchParams.get("service")?i.searchParams.get("wpath"):""}return""}},"./src/sdk-template/client/browser-subscription-managers/http-non-safari-subscription-manager.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/utils/index.ts"),o=i("./src/sdk-template/utils/database.ts"),s=i("./src/sdk-template/enums.ts"),a=i("./src/sdk-template/exceptions/subscribe.exception.ts"),l=i("./src/sdk-template/client/browser-subscription-managers/browser-subscription-manager.ts"),d=i("./src/sdk-template/client/widgets/translations.ts"),c=i("./src/sdk-template/client/widgets/optIn.ts");t.HttpNonSafariSubscriptionManager=class extends l.BrowserSubscriptionManager{constructor(e,t,i){super(e,t,i),this._timeToCheckSubscription=5184e3,this._cookieKeys={shown:"gravitecPromptShowed",blocked:"gravitecBlocked",blockedByWidget:"dontShowPrompt"},this._poweredBy="Powered by Gravitec.net",this._subdomainFull=e.app.subDomain,this._subdomainUrl=new URL(this._subdomainFull),this._websiteDomain=window.location.hostname}_getSubscription(){return r(this,void 0,void 0,function*(){if(!this.isNotificationPermitted())return Promise.resolve({permission:s.PushPermissionStates.denied,subscription:null});let e;const t=yield this._db.get(o.DB_TABLES.ids,"SubscriptionId");if(t&&(e=t.value),e){const t=n.getCurrentTimestamp(),i=yield this._db.get(o.DB_TABLES.httpCreated,"subscribedTime");if(i&&t-i.value<this._timeToCheckSubscription)return{subscription:e,permission:s.PushPermissionStates.granted};const r=[this._db.remove(o.DB_TABLES.httpCreated,"subscribedTime"),this._db.remove(o.DB_TABLES.ids,"SubscriptionId")];yield Promise.all(r),n.removeCookie(this._cookieKeys.shown)}return n.removeCookie(this._cookieKeys.shown),{subscription:null,permission:s.PushPermissionStates.default}})}_subscribe(){if(!this.isNotificationPermitted())return Promise.reject(new a.SubscribeError(s.PushPermissionStates.denied));if(!n.checkCookie(this._cookieKeys.shown)){if(this._subdomainFull){let e=new c.OptIn(this.config);return n.getBrowserName(),e.requestPermission().then(e=>e!==s.PushPermissionStates.granted?(e===s.PushPermissionStates.denied&&n.setCookie(this._cookieKeys.blockedByWidget,!0,7),Promise.reject(new a.SubscribeError(e))):this._subscribeOnHttpsNewWindow())}throw"No subdomain found to subscribe"}}isNotificationPermitted(){return!n.checkCookie(this._cookieKeys.blocked)&&!n.checkCookie(this._cookieKeys.blockedByWidget)}_subscribeOnHttpsNewWindow(){return r(this,void 0,void 0,function*(){const e=null!=window.screenLeft?window.screenLeft:screen.left,t=null!=window.screenTop?window.screenTop:screen.top,i=window.innerWidth?window.innerWidth:document.documentElement.clientWidth?document.documentElement.clientWidth:window.screen.width,r=window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:window.screen.height,o=n.getBrowserName();let l,d,c,u;"CHROME"===o||"OPERA"===o?(c=i/2-(l=640)/2+e,u=r/2-(d=661)/2+t):(l=100,d=100,c=-window.innerWidth,u=window.innerHeight-d);const p=window.open(this._subdomainFull,"_blank",`scrollbars=yes, width=${l}, height=${d}, top=${u}, left=${c}`);if(p){p.focus();const e=this._listenSubscription();p.onbeforeunload=(()=>setTimeout(()=>e.cancel()));const t=yield e.promise;if(t.permission===s.PushPermissionStates.granted&&t.subscription)return n.setCookie(this._cookieKeys.shown,!0,60),t.subscription;throw t.permission===s.PushPermissionStates.denied&&n.setCookie(this._cookieKeys.blocked,!0,30),new a.SubscribeError(t.permission)}return Promise.reject("Couldn't open https window")})}saveSubscription(e){const t=Object.create(null,{saveSubscription:{get:()=>super.saveSubscription}});return r(this,void 0,void 0,function*(){return yield Promise.all([t.saveSubscription.call(this,e),this._db.put(o.DB_TABLES.httpCreated,{type:"subscribedTime",value:n.getCurrentTimestamp()})]),e})}_listenSubscription(){let e,t;t=new Promise(t=>e=t);const i=t=>{t.origin===this._subdomainUrl.origin&&(r(),e(t.data))},r=()=>{window.removeEventListener("message",i,!1)};return window.addEventListener("message",i,!1),{promise:t,cancel:()=>{r(),e({permission:s.PushPermissionStates.default})}}}_getWidgetText(e){let t=n.getBrowserlanguage();switch(t){case s.LANGUAGES.russian:case s.LANGUAGES.ukrainian:case s.LANGUAGES.polish:case s.LANGUAGES.spanish:break;default:t=s.LANGUAGES.english}const i=d.default[t][e];return Object.assign(Object.assign({},i),{url:this._websiteDomain})}}},"./src/sdk-template/client/browser-subscription-managers/safari-subscription-manager.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/utils/index.ts"),o=i("./src/sdk-template/client/browser-subscription-managers/browser-subscription-manager.ts"),s=i("./src/sdk-template/enums.ts"),a=i("./src/sdk-template/exceptions/subscribe.exception.ts"),l=i("./src/sdk-template/client/widgets/slidedownPrompt.ts"),d=i("./src/sdk-template/client/widgets/translations.ts");t.SafariSubscriptionManager=class extends o.BrowserSubscriptionManager{constructor(e,t,i){super(e,t,i),this._cookieKeys={shown:"gravitecPromptShowed",blocked:"gravitecBlocked",blockedByWidget:"dontShowPrompt"}}_getSubscription(){return r(this,void 0,void 0,function*(){const e=window.safari.pushNotification.permission(this.config.app.applePushId);return e.permission===s.PushPermissionStates.granted?(n.checkCookie(this._cookieKeys.shown)||n.setCookie(this._cookieKeys.shown,!0,60),{permission:s.PushPermissionStates.granted,subscription:{regID:e.deviceToken,browser:"SAFARI"}}):e.permission===s.PushPermissionStates.default&&n.checkCookie(this._cookieKeys.shown)?(n.removeCookie(this._cookieKeys.shown),{permission:e.permission}):{permission:e.permission}})}_subscribeAfterUserGesture(){const e=window.safari.pushNotification.permission(this.config.app.applePushId);return this._checkRemotePermission(e)}_subscribe(){return r(this,void 0,void 0,function*(){if(!n.checkCookie(this._cookieKeys.shown)&&this.isNotificationPermitted()){let e=new l.SlidedownPrompt(this._getWidgetText("slidedownWidgetText"),"Gravitec.net");return this._loadStyles(),e.show().then(e=>e!==s.PushPermissionStates.granted?(e===s.PushPermissionStates.denied&&(n.setCookie(this._cookieKeys.blockedByWidget,!0,7),console.log("Blocked")),Promise.reject(new a.SubscribeError(e))):this._subscribeAfterUserGesture())}})}_loadStyles(){const e=document.querySelector("head"),t=document.createElement("style");t.type="text/css",t.appendChild(document.createTextNode('.m-subscribe{display:block !important;position:fixed;top:0;bottom:0;right:0;left:0;z-index:999999;font-family:sans-serif !important}.m-subscribe-overlay{position:absolute;top:0;bottom:0;right:0;left:0;display:flex;font-family:sans-serif !important;background:rgba(0, 0, 0, .4)}.m-subscribe-widget{box-sizing:border-box;position:relative;width:85%;min-width:300px;max-width:380px;margin:auto;padding:20px 25px 12px;font-family:sans-serif !important;color:#6d6d6d;text-align:left;background:#fff;border:1px solid #7f7f7e;border-radius:3px;box-shadow:0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .12), 0 1px 5px 0 rgba(0, 0, 0, .2)}.m-subscribe-widget__notification{display:flex;margin:0 0 30px 0;font-family:sans-serif !important;font-size:14px;line-height:18px;letter-spacing:.5px}.m-subscribe-widget__notification svg{width:auto;flex-shrink:0;height:18px;margin-top:5px;margin-right:14px;vertical-align:text-bottom;fill:#3e86f6}.m-subscribe-widget__notification>span{padding-right:24px;font-size:inherit}.m-subscribe-widget__powered,.m-subscribe-widget__powered:visited{margin:0 0 8px 0;font-family:sans-serif !important;font-size:14px;line-height:18px;letter-spacing:.5px;text-align:right;color:rgba(109, 109, 109, .6);transition:color ease .2s;text-decoration:underline}.m-subscribe-widget__powered:focus,.m-subscribe-widget__powered:hover,.m-subscribe-widget__powered:visited:focus,.m-subscribe-widget__powered:visited:hover{text-decoration:none;color:#6d6d6d}.m-subscribe-widget__buttons-wrap{text-align:right}.btn.m-subscribe-widget__button,.button.m-subscribe-widget__button,.m-subscribe-widget__button,button[type=button].m-subscribe-widget__button,input[type=submit].m-subscribe-widget__button{margin:0;padding:12px 10px;font-size:12px;line-height:1;font-family:sans-serif !important;font-weight:600;text-transform:uppercase;border-radius:3px;border:0;outline:0;color:#3e86f6;cursor:default;background:#fff;transition:all ease .2s}.m-subscribe-widget__button:last-child,button[type=button].m-subscribe-widget__button:last-child,input[type=submit].m-subscribe-widget__button:last-child{margin-left:4px}.m-subscribe-widget__button:focus,.m-subscribe-widget__button:hover,button[type=button].m-subscribe-widget__button:focus,button[type=button].m-subscribe-widget__button:hover,input[type=submit].m-subscribe-widget__button:focus,input[type=submit].m-subscribe-widget__button:hover{background:#fafafa}.btn.m-close-button,.button.m-close-button,.m-close-button,button[type=button].m-close-button,input[type=submit].m-close-button{position:absolute;top:4px;right:4px;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:50%;outline:0;background:0 0;transition:all ease .2s}.m-close-button:focus,.m-close-button:hover,button[type=button].m-close-button:focus,button[type=button].m-close-button:hover,input[type=submit].m-close-button:focus,input[type=submit].m-close-button:hover{background:rgba(62, 134, 246, .1)}.btn.m-close-button::after,.btn.m-close-button::before,.button.m-close-button::after,.button.m-close-button::before,.m-close-button::after,.m-close-button::before,button[type=button].m-close-button::after,button[type=button].m-close-button::before,input[type=submit].m-close-button::after,input[type=submit].m-close-button::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;display:block;width:2px;height:14px;background:#3e86f6;-webkit-transform-origin:center;transform-origin:center}.btn.m-close-button::before,.button.m-close-button::before,.m-close-button::before,button[type=button].m-close-button::before,input[type=submit].m-close-button::before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.btn.m-close-button::after,.button.m-close-button::after,.m-close-button::after,button[type=button].m-close-button::after,input[type=submit].m-close-button::after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.subscribe-widget{box-sizing:border-box;display:block !important;position:fixed;z-index:999999;top:1px;left:calc(50% - 211px);;width:422px;padding:20px 16px 16px;font-family:sans-serif !important;text-align:left;color:#212121;background:#F0EFF0;;border:1px solid #aaa;border-radius:4px;box-shadow:0 0 4px #888;}.subscribe-widget__url{margin:0 0 12px 0;font-size:15px;font-family:sans-serif !important;line-height:17px;letter-spacing:.4px}.subscribe-widget__notification{position:relative!important;padding:10px 0 0!important;color:#000!important;text-align:left!important;margin:0!important;line-height:1.4em!important;display:inline-block!important;width:calc(100% - 80px)!important;}.subscribe-widget__notification svg{display:inline-block;width:auto;height:14px;margin-right:14px;vertical-align:text-bottom;fill:#5a5a5a}.subscribe-widget__notification_title{margin-bottom:5px;text-align:left;font-size:14px;font-weight:700;line-height:1.4em;color:#000;font-family:sans-serif;}.subscribe-widget__notification_message{font-size:12px!important;line-height:1.4em!important;margin:10px 0!important;padding:0!important;text-align:left!important;font-family:sans-serif!important;}.subscribe-widget__powered,.subscribe-widget__powered:visited{margin:0 0 8px 0;font-family:sans-serif !important;font-size:14px;line-height:17px;letter-spacing:.4px;text-align:right;color:rgba(90, 90, 90, .6);transition:color ease .2s;text-decoration:underline}.subscribe-widget__powered:focus,.subscribe-widget__powered:hover,.subscribe-widget__powered:visited:focus,.subscribe-widget__powered:visited:hover{text-decoration:none;color:#5a5a5a}.subscribe-widget__buttons-wrap{text-align:right}.btn.subscribe-widget__button,.button.subscribe-widget__button,.subscribe-widget__button,button[type=button].subscribe-widget__button,input[type=submit].subscribe-widget__button{width:90px!important;height:26px!important;font-size:14px!important;cursor:pointer!important;line-height:1.1em!important;border-radius:4px!important;color:#fff!important;background:linear-gradient(to bottom,#64b4f4,#0084f6)!important;border:1px solid #42a2f2!important;display:inline-block!important;font-weight:400!important;margin:0!important;padding:5px!important;text-transform:none!important;box-sizing:border-box!important;font-family:Arial!important;text-shadow:none!important;box-shadow:none!important;white-space:nowrap!important;}.subscribe-widget__button:last-child,button[type=button].subscribe-widget__button:last-child,input[type=submit].subscribe-widget__button:last-child{margin-left:8px}.subscribe-widget__button:focus,.subscribe-widget__button:hover,button[type=button].subscribe-widget__button:focus,button[type=button].subscribe-widget__button:hover,input[type=submit].subscribe-widget__button:focus,input[type=submit].subscribe-widget__button:hover{background:#fafafa;box-shadow:0 2px 1px 0 rgba(0, 0, 0, .02), 0 3px 1px -2px rgba(0, 0, 0, .04), 0 1px 3px 0 rgba(0, 0, 0, .06)}button.block-button.subscribe-widget__button{background:#FFF!important;color:#000!important;border-color:#CCC!important;margin-right:20px!important;width:100px!important;}.subscribe-widget__image-wrapper{float:left;position:relative;margin:15px 15px 0 0!important;padding:0!important;display:inline-block;}.subscribe-widget__image-wrapper img{height:65px!important;width:65px!important;}.btn.close-button,.button.close-button,.close-button,button[type=button].close-button,input[type=submit].close-button{position:absolute;top:4px;right:4px;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:2px;outline:0;background:0 0;transition:all ease .2s}.close-button:focus,.close-button:hover,button[type=button].close-button:focus,button[type=button].close-button:hover,input[type=submit].close-button:focus,input[type=submit].close-button:hover{background:#eaeaea}.btn.close-button::after,.btn.close-button::before,.button.close-button::after,.button.close-button::before,.close-button::after,.close-button::before,button[type=button].close-button::after,button[type=button].close-button::before,input[type=submit].close-button::after,input[type=submit].close-button::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;display:block;width:2px;height:14px;background:#5a5a5a;-webkit-transform-origin:center;transform-origin:center}.btn.close-button::before,.button.close-button::before,.close-button::before,button[type=button].close-button::before,input[type=submit].close-button::before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.btn.close-button::after,.button.close-button::after,.close-button::after,button[type=button].close-button::after,input[type=submit].close-button::after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}')),e.appendChild(t)}_checkRemotePermission(e){return r(this,void 0,void 0,function*(){if(e.permission===s.PushPermissionStates.denied)throw n.setCookie(this._cookieKeys.blockedByWidget,!0,30),new a.SubscribeError(e.permission);return e.permission===s.PushPermissionStates.granted?(n.setCookie(this._cookieKeys.shown,!0,60),{regID:e.deviceToken,browser:"SAFARI"}):yield new Promise((e,t)=>{window.safari.pushNotification.requestPermission(this.config.app.safariUrl,this.config.app.applePushId,{},i=>{i.permission===s.PushPermissionStates.default?t(new Error("Recursive safari subscription...")):this._checkRemotePermission(i).then(e,t)})})})}isNotificationPermitted(){const e=window.safari.pushNotification.permission(this.config.app.applePushId);return!n.checkCookie(this._cookieKeys.blocked)&&!n.checkCookie(this._cookieKeys.blockedByWidget)&&e.permission!==s.PushPermissionStates.denied}_getWidgetText(e){let t=n.getBrowserlanguage();switch(t){case s.LANGUAGES.russian:case s.LANGUAGES.ukrainian:case s.LANGUAGES.polish:case s.LANGUAGES.spanish:break;default:t=s.LANGUAGES.english}const i=d.default[t][e];return Object.assign(Object.assign({},i),{url:"https://gravitec.net/rf/"})}}},"./src/sdk-template/client/http.client.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/enums.ts"),o=i("./src/sdk-template/client/base.client.ts"),s=i("./src/sdk-template/client/browser-subscription-managers/http-non-safari-subscription-manager.ts"),a=i("./src/sdk-template/client/browser-subscription-managers/safari-subscription-manager.ts");i("./src/sdk-template/client/utils/database.ts");const l=i("./src/sdk-template/utils/logger.ts");t.HttpClient=class extends o.BaseClient{constructor(e,t,i,r){super(e,t,i,r),this._subdomainFull=new URL(e.app.subDomain),this._poweredBy=e.app.poweredBy,console.log("check subdomain:",e.app.subDomain,new URL(e.app.subDomain))}_init(e){return super._init(e)}_initModeSpecifics(){switch(this._mode){case n.ClientMode.safari:this._subscriptionManager=new a.SafariSubscriptionManager(this.config,this._db,this._Notification);break;case n.ClientMode.chrome:this._subscriptionManager=new s.HttpNonSafariSubscriptionManager(this.config,this._db,this._Notification)}}isPushSubCreatedWithValidVapid(){return r(this,void 0,void 0,function*(){return!0})}_processSubscriptionIfChanged(e){return this._mode===n.ClientMode.safari?super._processSubscriptionIfChanged(e):(l.ConsoleLogger.info(`subscription: ${e.regID}`),Promise.resolve(!0))}_updateCharset(e){e.toUpperCase()!==document.characterSet.toUpperCase()&&this._api.updateCharset({appKey:this.config.app.appKey,charset:document.characterSet})}}},"./src/sdk-template/client/https.client.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/enums.ts"),o=i("./src/sdk-template/client/browser-subscription-managers/chrome-like-subscription-manager.ts"),s=i("./src/sdk-template/client/browser-subscription-managers/safari-subscription-manager.ts"),a=i("./src/sdk-template/utils/index.ts"),l=i("./src/sdk-template/client/base.client.ts");t.Client=class extends l.BaseClient{constructor(e,t,i,r){super(e,t,i,r)}_init(e={}){return this.config.app.swScope=e.serviceWorkerScope||"/",super._init(e)}_initModeSpecifics(){switch(this._mode){case n.ClientMode.chrome:this._subscriptionManager=new o.ChromeLikeSubscriptionManager(this.config,this._db,this._Notification);break;case n.ClientMode.safari:this._subscriptionManager=new s.SafariSubscriptionManager(this.config,this._db,this._Notification)}}_checkSubscriptionOwn(e){return r(this,void 0,void 0,function*(){const{value:t}=yield this._api.checkOwnSubscription(e);return t})}_unsubscribeForeign(){return r(this,void 0,void 0,function*(){if(this._subscriptionManager instanceof o.ChromeLikeSubscriptionManager){const e=yield this._subscriptionManager.getNativeSubscription();return!!e&&(yield e.unsubscribe())}return!1})}_checkSupport(){const e=Object.create(null,{_checkSupport:{get:()=>super._checkSupport}});return r(this,void 0,void 0,function*(){const t=yield e._checkSupport.call(this);if(!t)return t;if(!a.checkSafari()&&!a.isNotificationsSupported())throw new Error("Notifications aren't supported.");return!0})}}},"./src/sdk-template/client/segmentation/segmentation.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=i("./src/sdk-template/utils/logger.ts"),n=i("./src/sdk-template/utils/index.ts");t.Segmentation=class{constructor(e){this._api=e,this._endpoints={tags:"/api/sites/followers/tags",aliases:"/api/sites/followers/aliases"}}addTag(e,t,i=n.noop,o=n.noop){return t?"string"!=typeof e?o({message:r.ConsoleLogger.error("tag names argument is not a string")}):e&&e.trim()?void this._api.send(`${this._endpoints.tags}?regID=${t}`,"POST",[e]).then(()=>{r.ConsoleLogger.debug(`tag (${e}) has been added`),i()},t=>{r.ConsoleLogger.debug(`failed to add tag (${e})`),o(t)}):o({message:r.ConsoleLogger.error("tag name is empty")}):o({message:r.ConsoleLogger.error("no subscriber token to add tag")})}addTags(e,t,i=n.noop,o=n.noop){return t?e instanceof Array?(e=e.map(e=>e.trim()).filter(Boolean)).length?void this._api.send(`${this._endpoints.tags}?regID=${t}`,"PATCH",e).then(()=>{r.ConsoleLogger.debug(`tags (${e.join(", ")}) have been added`),i()},t=>{r.ConsoleLogger.debug(`failed to add tags (${e.join(", ")})`),o(t)}):o({message:r.ConsoleLogger.error("no tags to add")}):o({message:r.ConsoleLogger.error("tag names argument is not an array type")}):o({message:r.ConsoleLogger.error("no subscriber token to add tags")})}setTags(e,t,i=n.noop,o=n.noop){return t?e instanceof Array?(e=e.map(e=>e.trim()).filter(Boolean)).length?void this._api.send(`${this._endpoints.tags}?regID=${t}`,"PUT",e).then(()=>{r.ConsoleLogger.debug(`tags (${e.join(", ")}) have been set`),i()},t=>{r.ConsoleLogger.debug(`failed to set tags (${e.join(", ")})`),o(t)}):o({message:r.ConsoleLogger.error("no tags to set")}):o({message:r.ConsoleLogger.error("tag names argument is not an array type")}):o({message:r.ConsoleLogger.error("no subscriber token to set tags")})}removeTag(e,t,i=n.noop,o=n.noop){return t?"string"!=typeof e?o({message:r.ConsoleLogger.error("tag names argument is not a string")}):e&&e.trim()?void this.removeTags([e],t,i,o):o({message:r.ConsoleLogger.error("tag name is empty. Cannot remove")}):o({message:r.ConsoleLogger.error("no subscriber token to remove tag")})}removeTags(e,t,i=n.noop,o=n.noop){return t?e instanceof Array?(e=e.map(e=>e.trim()).filter(Boolean)).length?void this._api.send(`${this._endpoints.tags}?regID=${t}`,"DELETE",e).then(()=>{r.ConsoleLogger.debug(`tags (${e.join(", ")}) have been removed`),i()},t=>{r.ConsoleLogger.debug(`failed to remove tags (${e.join(", ")})`),o(t)}):o({message:r.ConsoleLogger.error("no tags to remove")}):o({message:r.ConsoleLogger.error("tag names argument is not an array type")}):o({message:r.ConsoleLogger.error("no subscriber token to set tags")})}removeAllTags(e,t=n.noop,i=n.noop){if(!e)return i({message:r.ConsoleLogger.error("no subscriber token to remove all tags")});this._api.send(`${this._endpoints.tags}?regID=${e}`,"DELETE",[]).then(()=>{r.ConsoleLogger.debug("tags have been removed"),t()},e=>{r.ConsoleLogger.debug("failed to remove tags"),i(e)})}setAlias(e,t,i=n.noop,o=n.noop){return t?"string"!=typeof e?o({message:r.ConsoleLogger.error("alias is not a string")}):e&&e.trim()?e.length>255?o({message:r.ConsoleLogger.error("alias length is over 255 sumbols")}):void this._api.send(`${this._endpoints.aliases}?regID=${t}`,"POST",e).then(()=>{r.ConsoleLogger.debug(`alias (${e}) has been added`),i()},t=>{r.ConsoleLogger.debug(`failed to add alias (${e})`),o(t)}):o({message:r.ConsoleLogger.error("alias is empty")}):o({message:r.ConsoleLogger.error("no subscriber token to remove alias")})}getTags(e,t=n.noop,i=n.noop){this._api.send(`${this._endpoints.tags}?regID=${e}`,"GET").then(e=>{const i=e.map(e=>e.name);r.ConsoleLogger.debug(`tags have been retrieved: ${i.join(", ")}`),t(i)}).catch(e=>{r.ConsoleLogger.debug("failed to get tags"),i(e)})}getAlias(e,t=n.noop,i=n.noop){i({message:r.ConsoleLogger.error("getAlias segmentation method is currently not available")})}}},"./src/sdk-template/client/utils/api.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=i("./src/sdk-template/utils/api.ts");t.ClientApiService=class extends r.ApiService{constructor(e,t){super(e,t)}checkOwnSubscription(e){return this.send(`/api/sites/followers/exist?regID=${e.regID}`,"get")}subscribe(e){return this.send("/api/sites/followers","post",e)}updateSubscription(e,t){return this.send("/api/sites/followers","put",{oldSubscription:e,newSubscription:t})}updateCharset(e){return this.send("/api/sites/charset","post",e)}}},"./src/sdk-template/client/utils/database.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=i("./src/sdk-template/utils/database.ts");r.DB_TABLES.httpCreated="HttpCreated";t.ClientDatabase=class extends r.Database{constructor(){super(...arguments),this.dbName="gravitec_client_db"}onupgradeneeded(e){const t=super.onupgradeneeded(e);return t.createObjectStore(r.DB_TABLES.httpCreated,{keyPath:"type"}),t}}},"./src/sdk-template/client/utils/vapid.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/utils/logger.ts");t.isPushSubCreatedWithValidVapid=function(e){return r(this,void 0,void 0,function*(){try{const t=yield navigator.serviceWorker.ready,i=(yield t.pushManager.getSubscription()).options.applicationServerKey,r=new Uint8Array(i),o=String.fromCharCode.apply(null,r),s=window.btoa(o).replace(/\=/g,"").replace(/\+/g,"-").replace(/\//g,"_")===e;return n.ConsoleLogger.log("Vapid validation done"),s}catch(e){return!1}})},t.base64ToUint8Array=function(e){const t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),i=atob(t),r=new Uint8Array(i.length);for(let e=0;e<i.length;++e)r[e]=i.charCodeAt(e);return r},t.arrayBufferToBase64=function(e){for(var t,i="",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=new Uint8Array(e),o=n.byteLength,s=o%3,a=o-s,l=0;l<a;l+=3)i+=r[(16515072&(t=n[l]<<16|n[l+1]<<8|n[l+2]))>>18]+r[(258048&t)>>12]+r[(4032&t)>>6]+r[63&t];return 1==s?i+=r[(252&(t=n[a]))>>2]+r[(3&t)<<4]+"==":2==s&&(i+=r[(64512&(t=n[a]<<8|n[a+1]))>>10]+r[(1008&t)>>4]+r[(15&t)<<2]+"="),i},t.base64Encode=function(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)}))},t.base64Decode=function(e){return decodeURIComponent(atob(e).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""))}},"./src/sdk-template/client/widgets/bellElement.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=i("./node_modules/lit-element/lit-element.js"),n=i("./src/sdk-template/client/widgets/bellStyles.ts"),o=i("./src/sw-template/modules/push/utils/database.ts"),s=i("./node_modules/lit-html/lit-html.js"),a=i("./src/sdk-template/utils/index.ts"),l=i("./src/sdk-template/enums.ts"),d=i("./src/sdk-template/models/config.ts"),c=i("./src/sdk-template/client/widgets/translations.json");var u,p;!function(e){e.history="history",e.settings="settings"}(u||(u={})),function(e){e.default="default",e.rounded="rounded",e.roundedBig="rounded big"}(p||(p={}));t.BellElement=class extends r.LitElement{constructor(){super(),this.combinationSets={_0:{history:!0,conf:!0,unblock:!0},_1:{history:!1,conf:!0,unblock:!1},_2:{history:!1,conf:!0,unblock:!0},_3:{history:!0,conf:!0,unblock:!1},_4:{history:!0,conf:!1,unblock:!1},_5:{history:!0,conf:!1,unblock:!0},_6:{history:!1,conf:!1,unblock:!0},_7:{history:!1,conf:!1,unblock:!1}},this.currentSet=this.combinationSets._6,this.landingLink=`https://gravitec.net/rf/?site=${window.location.hostname}&utm_source=${window.location.hostname}&utm_medium=bell&utm_campaign=${window.location.hostname}_bell`,this.track=window.GravitecNews||null,this.loadPushHistory=(()=>{o.getAllNotifications().then(e=>{e=e.reverse().slice(0,20),this.unread=e.filter(e=>!e.data.isInteracted).length;let t=new CustomEvent("stuff-loaded",{detail:e});this.dispatchEvent(t)})}),this.loadOptions=(e=>{fetch(`${this.config.app.cdnUrl}/storage/${this.config.app.appKey}/bell_cfg.json`).then(e=>e.json().then(e=>{let t=new CustomEvent("options-loaded",{detail:e});this.dispatchEvent(t)}).catch(()=>{let e=new CustomEvent("options-loaded",{detail:{colour:"#0d4d96",enabled:!0,position:"left",btnColour:"#0d4d96",bellSet:p.default,brandingEnabled:!1,categories:[{tag:"",captions:[{lang:"default",value:""}]}],texts:[{lang:"default",value:""}],combination:"_6",titles:[{lang:"default",value:""}]}});this.dispatchEvent(e)})).catch(()=>{let e=new CustomEvent("options-loaded",{detail:{colour:"#0d4d96",enabled:!0,position:"left",btnColour:"#0d4d96",bellSet:p.default,brandingEnabled:!1,categories:[{tag:"",captions:[{lang:"default",value:""}]}],texts:[{lang:"default",value:""}],combination:"_6",titles:[{lang:"default",value:""}]}});this.dispatchEvent(e)})}),this.submitTags=(()=>{const e=[],t=[];for(let i of this.renderRoot.querySelectorAll(".grv-tag-list__item"))i.getElementsByTagName("input")[0].checked?t.push(i.getElementsByTagName("input")[0].value):e.push(i.getElementsByTagName("input")[0].value);t.length&&this.client.push(["segmentation.addTags",t]),e.length&&this.client.push(["segmentation.removeTags",e]),localStorage.setItem("tagsSet",JSON.stringify(!0)),this.track&&fetch(`${this.trackingLink}&user_id=${this.track.getUserId()}&event_type=submit&event_source=bell`).catch(()=>{}),this.tagsSet=!0,this.isPanelVisible=!1,this.currentSet.history?this.currentTab=u.history:this.currentTab=u.settings}),this.generateTagList=s.directive(()=>e=>{const t=new Promise((e,t)=>{let i=[];this.client.push(["getTags",t=>{let n=t.map(e=>e.toLowerCase());this.options.categories.map((e,t)=>{i.push(r.html` <div class="grv-tag-list__item"> <label for=${e.tag}> <input type="checkbox" id=${e.tag} value=${e.tag} ?disabled=${0===t} ?checked=${n.includes(e.tag.toLowerCase())||0===t} @change=${e=>{e.target.checked}}> <span class="grv-checkbox"></span> <span class="grv-categorie-text">${e.captions[0].value}</span> </label> </div>`)}),e(i)}])});Promise.resolve(t).then(t=>{e.setValue(t),e.commit()})}),this.readAll=(e=>{e.map(e=>{o.interactWithPush(window,e.id)}),this.loadPushHistory()}),this.clearHistory=(()=>{o.clearHistory(window),this.loadPushHistory()}),this.onPushClickHandler=(e=>{this.track&&fetch(`${this.trackingLink}&user_id=${this.track.getUserId()}&event_type=push_click&event_source=bell`).catch(()=>{}),o.interactWithPush(window,e.id);let t=new URL(e.data.url);t.searchParams.append("utm_gravitec","bell"),this.loadPushHistory(),window.open(`${t}`,"_blank")}),this.onUnblockBellClickHandler=(()=>{this.isUnblockBubbleVisible=!this.isUnblockBubbleVisible,this.track&&fetch(`${this.trackingLink}&user_id=${this.track.getUserId()}&event_type=blocked_click&event_source=bell`).catch(()=>{})}),this.showModal=(()=>{this.isUnblockModalVisible=!0,this.isUnblockBubbleVisible=!1}),this.hideModal=(()=>{this.isUnblockModalVisible=!1}),this.onSubscribeBellClickHandler=(()=>{a.removeCookie("gravitecOptInBlocked"),this.track&&fetch(`${this.trackingLink}&user_id=${this.track.getUserId()}&event_type=click&event_source=bell`).catch(()=>{}),document.getElementsByClassName("grv-dialog-host"),document.getElementsByClassName("grv-dialog-host").length||this.client.push(["registerUserForPush",e=>{}])}),this.subscribeBellWrapperTemplate=(()=>r.html` <div class="grv-bell-wrap unblock ${this.options.position===d.Position.right?"right":"left"} ${this.options.brandingEnabled?"":"not-branded"}" style="display:none; --main-color:${this.options.colour}"> ${this.subscribeBellTemplate()} <div class="grv-bubble-message" @click=${e=>{this.onSubscribeBellClickHandler(),e.stopPropagation()}}> <p class="grv-bubble-message-p">${this.bellText.subscribeToNotification}</p> </div> </div> `),this.unblockBellWrapperTemplate=(()=>r.html` <div class="grv-bell-wrap unblock ${this.options.position===d.Position.right?"right":"left"} ${this.options.brandingEnabled?"":"not-branded"}" style="--main-color:${this.options.colour}"> ${this.unblockBellTemplate()} <div class="grv-bubble ${this.isUnblockBubbleVisible?"":"hidden"}" @click=${this.showModal}> <button class="grv-bubble__close" @click=${e=>{this.isUnblockBubbleVisible=!1,e.stopPropagation()}} type="button" aria-label="Close"></button> <img src="${this.config.app.cdnUrl}/styles/unblock${this.lang}.png" class="grv-bubble-img"> </div> <div class="grv-bubble-message ${this.isUnblockBubbleVisible?"hidden":""}" @click=${e=>{this.onUnblockBellClickHandler(),e.stopPropagation()}}> <p class="grv-bubble-message-p">${this.bellText.notificationAreBlocked}</p> </div> <div class="grv-tag-overlay ${this.isUnblockModalVisible?"":"hidden"}" @click=${e=>{"grv-tag-unblock-img"!=e.target.className&&(this.isUnblockModalVisible=!1)}}> <section class="grv-tag-window"> <img class="grv-tag-unblock-img" src="${this.config.app.cdnUrl}/styles/unblock${this.lang}.png"> <button class="grv-bubble__close unblock-modal-close" @click=${this.hideModal} type="button" aria-label="Close"></button> <a class="grv-modal-brand" href=${this.landingLink} target="_blank" rel="noopener">Powered by <span>Gravitec</span> </a> </section> </div> </div> `),this.unblockBellTemplate=(()=>r.html` <div class="grv-bell" @click=${()=>{this.onUnblockBellClickHandler()}}> <div class="grv-bell__icon">${this.bellSvgTemplate()} </div> ${this.options.brandingEnabled?r.html` <a class="grv-bell__powered" href=${this.landingLink} target="_blank" rel="noopener" @click=${e=>e.stopPropagation(e)}> Notifications by <br> Gravitec </a> `:""} </div> `),this.subscribeBellTemplate=(()=>r.html` <div class="grv-bell" @click=${()=>{this.onSubscribeBellClickHandler()}}> <div class="grv-bell__icon">${this.bellSvgTemplate()} </div> ${this.options.brandingEnabled?r.html` <a class="grv-bell__powered" href=${this.landingLink} target="_blank" rel="noopener" @click=${e=>e.stopPropagation(e)}> Notifications by <br> Gravitec </a> `:""} </div> `),this.bellWrapperTemplate=(()=>r.html` <div class="grv-bell-wrap ${this.options.position} ${this.options.brandingEnabled?"":"not-branded"} ${this.options.bellSet.toString()}" style="--main-color:${this.options.colour}"> ${this.bellTemplate()} ${this.currentSet.conf?this.bubbleTemplate():""} ${this.isPanelVisible?this.panelTemplate():""} </div> `),this.bellTemplate=(()=>r.html` <div class="grv-bell" @click=${()=>{this.currentSet.history?this.currentTab=u.history:this.currentSet.conf&&(this.currentTab=u.settings),this.isPanelVisible=!this.isPanelVisible}}> <div class="grv-bell__icon">${this.bellSvgTemplate()} ${this.currentSet.history?r.html`<span class="badge_wrapper">${this.badgeTemplate()}</span>`:""} </div> ${this.options.brandingEnabled?r.html` <a class="grv-bell__powered" href=${this.landingLink} target="_blank" rel="noopener" @click=${e=>e.stopPropagation(e)}> Notifications by <br> Gravitec </a> `:""} </div> `),this.bubbleTemplate=(()=>r.html` ${!this.tagsSet&&this.isBubbleVisible?r.html` <div class="grv-bubble" @click=${e=>{this.currentTab=u.settings,this.isPanelVisible=!this.isPanelVisible,this.isBubbleVisible=!1,e.stopPropagation()}}> <button class="grv-bubble__close" type="button" aria-label="Close" @click=${e=>{this.isBubbleVisible=!1,e.stopPropagation()}} > </button> <p>${this.bellText.bubbleText}</p> </div> `:""} `),this.panelTemplate=(()=>r.html` <div class="grv-bell-panel"> ${this.navigationTemplate()} </div> `),this.bellSvgTemplate=(()=>r.svg` <svg width="36" height="44" viewBox="0 ${this.options.bellSet===p.default?0:-2} 36 44" fill="none" xmlns="http://www.w3.org/2000/svg" class="${this.options.brandingEnabled?"":"not-branded"}"> ${this.options.bellSet===p.default?r.svg`<path class="grv-svg-bell-background" d="M18 44C18 44 36 28.2623 36 18.2069C36 8.1515 27.9411 0 18 0C8.05887 0 0 8.1515 0 18.2069C0 28.2623 18 44 18 44Z"/>`:r.html``} <path class="grv-svg-bell-only" d="M27.8572 24.3418C26.719 23.1369 24.251 19.9236 24.4528 14.8676C24.5722 11.8779 22.9435 10.293 21.285 9.4554C19.1915 8.39825 16.6847 8.39825 14.5912 9.4554C12.9326 10.2929 11.3039 11.8778 11.4233 14.8675C11.6251 19.9236 9.15719 23.1369 8.01892 24.3417" stroke="white"/> <path class="grv-svg-bell-only" d="M27.8383 23.7067C22.429 28.0867 13.4023 28.0811 8 23.7067" stroke="white"/> <path class="grv-svg-bell-only" d="M16 29C16 30.1028 16.8972 31 17.9997 31C19.1027 31 20 30.1028 20 29" stroke="white"/> <path class="grv-svg-bell-only" fill-rule="evenodd" clip-rule="evenodd" d="M21.596 18.35h-1.818a1.81 1.81 0 00-1.312.8c-.05.05 0 .05 0 .1h2.12c.303 0 .404.15.303.45a2.771 2.771 0 01-1.488 1.706 2.82 2.82 0 01-2.278.041 1.152 1.152 0 00-.91-.05l-.555.15c-.202.05-.252-.05-.202-.25.045-.222.112-.44.202-.649a1.692 1.692 0 00-.12-.65 7.926 7.926 0 01-.233-1.048 2.858 2.858 0 011.028-2.34 2.927 2.927 0 012.506-.607c.494.138.945.396 1.313.749.252.25.354.25.606 0l.05-.05a.324.324 0 000-.55 3.597 3.597 0 00-2.575-1.148 2.695 2.695 0 00-.676.05A3.847 3.847 0 0014.9 16.87a3.77 3.77 0 00-.322 3.179c.05.247.05.502 0 .749-.131.65-.333 1.299-.556 1.948 0 .05-.05.15 0 .2a.382.382 0 00.253.05c.656-.2 1.262-.4 1.918-.55.25-.05.508-.05.758 0 .752.242 1.56.259 2.322.05A3.89 3.89 0 0022 18.8c-.03-.35-.131-.4-.404-.45z" fill="#fff"/> </svg> `),this.badgeTemplate=(()=>0===this.unread?r.html``:r.html`<span class="grv-bell__badge">${this.unread}</span>`),this.navigationTemplate=(()=>r.html` <div class="grv-bell-panel_header"> <span class="grv-tabs"> ${this.currentSet.history?(()=>r.html` <span class="grv-tab ${this.currentTab==u.history?"active":""}" @click=${e=>this.currentTab=u.history}> <div class="grv-bell-panel_icon"> <svg viewBox="0 0 512 512"><path fill="currentColor" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z"/></svg> </div> ${this.bellText.pushHistory} </span> `)():""} ${this.currentSet.conf?(()=>r.html` <span class="grv-tab ${this.currentTab==u.settings?"active":""}" @click=${e=>this.currentTab=u.settings}> <div class="grv-bell-panel_icon"> <svg viewBox="0 0 512 512"><path fill="currentColor" d="M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"/></svg> </div> ${this.bellText.configuration} </span> `)():""} <button class="grv-tab grv-bell-panel_close" type="button" aria-label="Close" @click=${e=>{this.isPanelVisible=!1}}> </button> </span> </div> ${this.currentTab==u.history?this.historyTemplate():this.segmentatorTemplate()} ${this.options.brandingEnabled?r.html`<div class="grv-bell-panel_footer"><a href=${this.landingLink}>Powered by GRAVITEC</a></div>`:r.html`<div class="grv-bell-panel_footer"></div>`} `),this.emptyHistoryTemplate=(()=>r.html` <div class="grv-empty-list-icon-wrapper"> <svg xmlns="http://www.w3.org/2000/svg" class="grv-empty-list-icon" viewBox="0 0 1024 1024" fill="#748490" overflow="hidden"><path d="M896.022 255.957H607.898c-17.718 0-31.995-14.277-31.995-31.995 0-17.717 14.277-31.994 31.995-31.994h287.951c17.718 0 31.995 14.277 31.995 31.994.172 17.718-14.105 31.995-31.822 31.995zm0 159.973H607.898c-17.718 0-31.995-14.277-31.995-31.995s14.277-31.994 31.995-31.994h287.951c17.718 0 31.995 14.277 31.995 31.994s-14.105 31.995-31.822 31.995zm0 256.13H607.898c-17.718 0-31.995-14.278-31.995-31.995s14.277-31.995 31.995-31.995h287.951c17.718 0 31.995 14.277 31.995 31.995s-14.105 31.994-31.822 31.994zm0 159.972H607.898c-17.718 0-31.995-14.277-31.995-31.994s14.277-31.995 31.995-31.995h287.951c17.718 0 31.995 14.277 31.995 31.995s-14.105 31.994-31.822 31.994zM383.935 479.92H191.968c-52.98 0-95.984-43.003-95.984-95.984V191.968c0-52.98 43.003-95.984 95.984-95.984h191.967c52.98 0 95.984 43.003 95.984 95.984v191.967c0 52.98-43.003 95.984-95.984 95.984zM191.968 159.973c-17.546 0-31.995 14.45-31.995 31.995v191.967c0 17.546 14.45 31.995 31.995 31.995h191.967c17.546 0 31.995-14.45 31.995-31.995V191.968c0-17.546-14.45-31.995-31.995-31.995H191.968zm191.967 768.043H191.968c-52.98 0-95.984-43.003-95.984-95.984v-192.14c0-52.98 43.003-95.983 95.984-95.983h191.967c52.98 0 95.984 43.003 95.984 95.983V831.86c0 52.98-43.003 96.156-95.984 96.156zM191.968 607.898c-17.546 0-31.995 14.277-31.995 31.994V831.86c0 17.718 14.45 31.995 31.995 31.995h191.967c17.546 0 31.995-14.277 31.995-31.995V639.892c0-17.717-14.45-31.994-31.995-31.994H191.968z"></path></svg> </div> <h2 class="grv-empty-list-text">${this.bellText.emptyHistory}</h2> `),this.historyList=(()=>{if(this.pushes.length){let e=[];return this.pushes.map(t=>{e.push(r.html` <li class="grv-push-history-item ${!1===t.data.isInteracted?"new":""}" @click=${()=>{this.onPushClickHandler(t)}}> <div class="grv-image-wrapper"><img class="grv-push-icon" src=${t.icon}></div> <div class="grv-text"> <h3 class="grv-push-title">${t.title}</h3> <p class="grv-push-body">${t.body}</p> </div> </li> `)}),r.html` <ul class="grv-push-history-list"> ${e} </ul>`}return this.emptyHistoryTemplate()}),this.historyTemplate=(()=>r.html` <div class="history-block"> <div class="history"> ${this.historyList()} </div> <div class="grv-btns-wrapper"> <button class="grv-push-history-btn" @click=${()=>{this.readAll(this.pushes)}}>${this.bellText.markAllAsRead}</button> <button class="grv-push-history-btn" @click=${()=>{this.clearHistory()}}>${this.bellText.clearAll}</button> </div> </div> `),this.segmentatorTemplate=(()=>r.html` <div class="grv-configuration-wrapper"> <h2 class="grv-bell-title">${this.options.titles[0].value}</h2> <h3 class="grv-bell-text">${this.options.texts[0].value}</h3> <div class="grv-tag-list"> ${this.generateTagList()} </div> <div class="grv-btn-wrap"> <button type="button" @click=${()=>{this.submitTags()}}>${this.bellText.submit}</button> </div> </div> `),this.templateNavigator=(()=>"granted"===this.permission&&(this.currentSet.history||this.currentSet.conf)?r.html` ${this.bellWrapperTemplate()} `:"denied"===this.permission&&this.currentSet.unblock&&!a.isMobileScreen()?r.html` ${this.unblockBellWrapperTemplate()} `:r.html``),this.config=window.GravitecConfig,this.options=this.config.bell;const e=document.createElement("link");e.type="text/css",e.rel="stylesheet",e.href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Sans+Pro:400,700&subset=cyrillic",document.head.appendChild(e),this.trackingLink=`https://api.gravitec.media/api/stats/event?app_key=${this.config.app.appKey}`,this.currentBellSet=p.roundedBig,this.history=[],this.currentTab=u.history,this.unread=0,this.pushes=[],this.isPanelVisible=!1,this.isUnblockModalVisible=!1,this.isUnblockBubbleVisible=!1,this.isBubbleVisible=!0,this.tagsSet=JSON.parse(localStorage.getItem("tagsSet")||"false"),this.currentSet=this.combinationSets[this.options.combination],this.options.bellSet||(this.options.bellSet=p.default),this.client.push(["subscriptionResult",({permission:e})=>{this.permission=e,this.currentSet.history&&"granted"===this.permission&&this.loadPushHistory()}]),this.addEventListener("stuff-loaded",e=>{this.pushes=e.detail}),navigator.serviceWorker.addEventListener("message",e=>{"received"===e.data.msg&&this.loadPushHistory()}),this.addEventListener("tags-set",e=>{this.tagsSet=e.detail}),this.addEventListener("options-loaded",e=>{this.options=e.detail,this.currentSet=this.combinationSets[e.detail.combination],this.options.bellSet||(this.options.bellSet=p.default),this.client.push(["subscriptionResult",({permission:e})=>{this.permission=e,this.currentSet.history&&"granted"===this.permission&&this.loadPushHistory()}])}),window.addEventListener("subscribed",e=>{this.currentSet.conf||this.currentSet.history?this.permission="granted":this.permission=null}),window.addEventListener("unsubscribed",e=>{this.permission="denied"}),document.addEventListener("click",e=>{e.target.renderRoot||(this.isPanelVisible=!1)})}static get properties(){return{options:{type:Object},history:{type:Array},currentTab:{type:String},unread:{type:Number},isPanelVisible:{type:Boolean},pushes:{type:Array},tagsSet:{type:Boolean},permission:{type:String},isUnblockBubbleVisible:{type:Boolean},isUnblockModalVisible:{type:Boolean},isBubbleVisible:{type:Boolean}}}static get styles(){return n.bellStyles}get client(){return window.Gravitec}get bellText(){let e=this.lang;const t=c[e];return Object.assign({},t)}get lang(){let e=a.getBrowserlanguage();switch(e){case l.LANGUAGES.russian:case l.LANGUAGES.ukrainian:case l.LANGUAGES.polish:case l.LANGUAGES.spanish:break;default:e=l.LANGUAGES.english}return e}render(){return r.html` ${this.options&&this.options.enabled?this.templateNavigator():""} `}}},"./src/sdk-template/client/widgets/bellStyles.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=i("./node_modules/lit-element/lit-element.js");t.bellStyles=r.css`.hidden { display: none !important; } .grv-bell-wrap { box-sizing: border-box; position: fixed; z-index: 2147483647; left: 10px; bottom: 20px; display: flex !important; flex-direction: row; font-family: Lato, "Source Sans Pro", sans-serif; -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; line-height: normal; } .grv-bell-wrap.right { right: 10px; left: auto; flex-direction: row-reverse; } .grv-bell { display: flex; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; margin: 0 10px; margin-right: 0; align-self: flex-end; flex-direction: column; pointer-events: all; z-index: 9999; } .grv-bell-wrap.right .grv-bell { margin: 0 10px; margin-left: 0; } .grv-bell-wrap.not-branded .grv-bell { margin: 0 10px; } .grv-bell__icon { margin: auto; position: relative; width: fit-content; height: fit-content; cursor: pointer; filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.4)); } .grv-bell__icon svg { width: 36px; height: 44px; } .grv-bell__badge { font-family: Lato; font-weight: 700; font-style: normal; font-size: 8px; line-height: 10px; color: #fff; background: #dc493a; border-radius: 4px; padding: 1px 3px; font-size: 10px; position: absolute; top: 0; right: 0; } .grv-bell__powered { display: inline-block; margin-top: 0; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; font-size: 9px; line-height: 1.2; text-align: center; text-decoration: none; color: #999; transition: color 0.15s linear; } .grv-bell-panel { flex-direction: column; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; position: fixed; bottom: 43px; left: 43px; height: 460px; width: 320px; background-color: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); border-radius: 4px; } .grv-bell-wrap.right > .grv-bell-panel { right: 43px; left: auto; } .grv-bell-wrap.rounded > .grv-bell-panel { bottom: 95px; left: 30px; } .grv-bell-wrap.rounded.big > .grv-bell-panel { bottom: 100px; } .grv-bell-wrap.rounded.right > .grv-bell-panel { right: 30px; left: auto; } .grv-bell-wrap.rounded.right.not-branded > .grv-bell-panel { right: 25px; } .grv-bell-wrap.rounded.not-branded > .grv-bell-panel { bottom: 80px; left: 25px; } .grv-bell-wrap.rounded.big.not-branded > .grv-bell-panel { bottom: 85px; } .grv-bell-wrap.not-branded > .grv-bell-panel { bottom: 20px; left: 38px; } .grv-bell-wrap.right.not-branded > .grv-bell-panel { right: 38px; left: auto; } .grv-bell-panel_header { overflow: hidden; align-items: center; background: var(--main-color); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); border-radius: 4px 4px 0 0; height: 48px; width: 100%; } .grv-bell-panel_footer { background: #f9fcff; box-shadow: 0 0 2px rgba(0, 0, 0, 0.1); border-radius: 0 0 4px 4px; font-family: Lato, "Source Sans Pro"; font-style: normal; font-weight: 400; font-size: 10px; line-height: 14px; text-align: center; vertical-align: middle; line-height: 20px; text-align: center; color: #8e8e93; } .grv-bell-panel_footer a { color: #8e8e93; text-decoration: none; } .grv-tab.grv-bell-panel_close { position: relative; top: 0; right: 0; background: 0 0; width: 18px; height: 18px; padding: 4px; border: 0; opacity: 0.5; transition: opacity 0.15s linear; margin-right: 16px; } .grv-bell-panel_close:after, .grv-bell-panel_close:before { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; width: 2px; transform-origin: center; transition: top, bottom 0.15s linear; background: #cfdbea; mix-blend-mode: normal; } .grv-bell-panel_close:before { transform: rotate(45deg); } .grv-bell-panel_close:after { transform: rotate(-45deg); } .grv-bell-panel_close:focus, .grv-bell-panel_close:hover { opacity: 1; outline: 0; } .grv-tabs { display: flex; flex-direction: row; justify-content: space-between; align-items: center; height: 100%; } .grv-bell-panel_icon { height: 16px; width: 16px; margin-right: 7px; } .grv-bell-panel_icon svg { height: 16px; width: 16px; } .grv-tab { margin: auto; display: flex; align-items: center; font-family: Lato, "Source Sans Pro"; font-weight: 400; font-style: normal; font-size: 16px; color: #fff; mix-blend-mode: normal; opacity: 0.4; cursor: pointer; } .grv-tab:first-child { margin-left: 16px; } .grv-tab:hover { opacity: 1; } .grv-tab.active { opacity: 1; } .history { overflow: auto; } .grv-image-wrapper { display: inline-block; } .grv-text { display: inline-block; max-width: 235px; } .grv-push-history-list { list-style-type: none; width: 100%; margin: 0; padding: 0; display: flex; flex-direction: column; } .grv-push-title { margin: 0; font: bold 12px/1.5 Lato, "Source Sans Pro", Verdana, sans-serif; font-style: normal; font-weight: 700; font-size: 12px; line-height: 16px; color: #2a333c; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; text-transform: none; } .grv-push-icon { height: 40px; width: 40px; float: left; margin: 0 5px 0 0; border-radius: 4px; } .grv-push-body { font-family: Lato, "Source Sans Pro", Verdana, sans-serif; font-style: normal; font-weight: 400; font-size: 12px; line-height: 16px; margin: 0; color: #2a333c; text-overflow: ellipsis; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; } .grv-push-history-item { display: flex; align-items: center; padding: 10px; padding-left: 20px; overflow: auto; } .grv-push-history-item.new { background: rgba(207, 219, 234, 0.2); mix-blend-mode: normal; padding-left: 10px; order: -1; } .grv-push-history-item.new:before { content: "•"; color: var(--main-color); margin-right: 4px; font-size: 10px; } .grv-push-history-item:hover { background: #eee; cursor: pointer; } .history-block { height: 100%; display: grid; grid-template-rows: 1fr auto; } .grv-empty-list-icon-wrapper { height: 64px; width: 64px; border-radius: 35.5px; background-color: #fafafa; margin: auto; display: flex; margin-top: 65px; } .grv-empty-list-icon { width: 24px; height: 24px; vertical-align: middle; border: 1px solid #000; border-radius: 4px; margin: auto; border-color: #748490; padding: 1px; } .grv-empty-list-text { color: #13293d; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; font-size: 20px; line-height: 28px; text-align: center; font-weight: 400; margin: 16px 0; } .grv-btns-wrapper { text-align: center; padding: 5px 0; box-shadow: 0 0 2px rgba(0, 0, 0, 0.1); } .grv-push-history-btn { font-size: 13px; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; background: #fff; cursor: pointer; padding: 2px 10px; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; font-size: 13px; line-height: 1.2; border-radius: 4px; border: 1px solid var(--main-color); color: var(--main-color); outline: 0; cursor: pointer; transition: background 0.15s linear; } .grv-push-history-btn:focus { outline: 0; } .grv-push-history-btn:hover { text-decoration: none; opacity: 0.8; } @keyframes bell-ringing { 0% { transform: rotate(0); } 0.2% { transform: rotate(15deg); } 0.4% { transform: rotate(0); } 0.6% { transform: rotate(-15deg); } 0.8% { transform: rotate(0); } 1% { transform: rotate(15deg); } 1.2% { transform: rotate(0); } 1.4% { transform: rotate(-15deg); } 1.6% { transform: rotate(0); } 1.8% { transform: rotate(15deg); } 2% { transform: rotate(0); } to { transform: rotate(0); } } .grv-bell__icon:hover .grv-svg-bell-only { animation: none; } .grv-svg-bell-background { fill: var(--main-color); } .grv-svg-bell-only { transform-origin: top center; animation-name: bell-ringing; animation-duration: 30s; animation-delay: 2s; animation-iteration-count: infinite; } .not-branded > .grv-svg-bell-only { fill: #fff; } .rounded .grv-bell__icon svg { background-color: var(--main-color); border-radius: 50%; width: 45px; height: 45px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); } .rounded .grv-bell__icon svg { background-color: var(--main-color); border-radius: 50%; width: 45px; height: 45px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); } .rounded.big .grv-bell__icon svg { width: 52px; height: 52px; } .grv-bell__powered:focus, .grv-bell__powered:hover { outline: 0; color: #666; } .grv-bubble { position: relative; align-self: flex-start; width: fit-content; min-height: fit-content; margin-left: 5px; padding: 10px 16px; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; border-radius: 5px; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); background: var(--main-color); color: #fff; cursor: pointer; transition: background, visibility 0.15s linear; } .grv-bubble.visible { visibility: visible; } .grv-bell-wrap.right .grv-bubble { margin-right: 5px; margin-left: 2px; } .grv-bell-wrap.not-branded .grv-bubble { margin-left: 2px; } .grv-bell-wrap.not-branded.right .grv-bubble { margin-right: 2px; } .grv-bell-wrap.unblock.right.not-branded .grv-bubble { margin-right: 2px; margin-left: 2px; } .grv-bubble:before { content: ""; position: absolute; top: 0; bottom: 0; right: 100%; display: block; margin: auto; width: 5px; height: 5px; border: 10px solid transparent; border-right-color: var(--main-color); filter: drop-shadow(-1px 1px 1px rgba(0, 0, 0, 0.2)); transform: scaleY(0.6); } .grv-bell-wrap.right .grv-bubble:before { left: 100%; border-left-color: var(--main-color); border-right-color: transparent; filter: drop-shadow(rgba(0, 0, 0, 0.2) 1px 1px 1px); } .grv-bell-wrap.right .grv-bubble:hover:before { border-left-color: var(--main-color); border-right-color: transparent; } .grv-bubble p { margin: auto 0; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; font-size: 14px; line-height: 1.2; } .grv-bubble p:not(:last-child) { margin-bottom: 6px; } .grv-bubble__close { position: absolute; top: 0; right: 0; background: 0 0; width: 18px; height: 18px; padding: 4px; border: 0; opacity: 0.5; transition: opacity 0.15s linear; } .grv-bubble__close:after, .grv-bubble__close:before { content: ""; position: absolute; top: 4px; bottom: 4px; left: 0; right: 0; margin: auto; width: 2px; background: #fff; transform-origin: center; transition: top, bottom 0.15s linear; } .grv-bubble__close:before { transform: rotate(45deg); } .grv-bubble__close:after { transform: rotate(-45deg); } .grv-bubble__close:focus, .grv-bubble__close:hover { opacity: 1; outline: 0; } .grv-bubble__close:focus:after, .grv-bubble__close:focus:before, .grv-bubble__close:hover:after, .grv-bubble__close:hover:before { top: 3px; bottom: 3px; } .grv-bubble:hover { opacity: 0.8; } .grv-bubble:hover:before { border-right-color: var(--main-color); } .grv-bell-title { margin-top: 16px; margin-left: 20px; margin-bottom: 8px; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; font-style: normal; font-weight: 400; font-size: 20px; line-height: 28px; color: #13293d; word-break: break-word; } .grv-configuration-wrapper { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; } .grv-bell-text { margin-left: 20px; margin-top: 0; margin-bottom: 16px; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; font-style: normal; font-weight: 400; font-size: 14px; line-height: 20px; color: #545458; word-break: break-word; } .grv-tag-list { max-width: 380px; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; display: grid; grid-template-columns: 50% 50%; margin: 0 auto auto auto; width: 280px; overflow: auto; align-content: start; height: 100%; } .grv-tag-list__item:not(:last-of-type) { margin-bottom: 10px; } .grv-tag-list__item label { margin-bottom: 0; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; } .grv-tag-list__item label .grv-checkbox { position: relative; display: -webkit-inline-box; display: inline-flex; margin-right: 8px; width: 16px; height: 16px; border-radius: 4px; vertical-align: middle; border-style: solid; border-width: 1px; border-color: var(--main-color); box-sizing: content-box; } .grv-tag-list__item label input:checked ~ .grv-checkbox { background-color: var(--main-color); } .grv-tag-list__item label input:checked ~ .grv-checkbox:before { content: ""; position: absolute; top: 1px; left: 5px; display: block; width: 5px; height: 9px; border: 2px solid #fff; border-left: none; border-top: none; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .grv-tag-list__item input { display: none; } .grv-tag-list__item input:disabled ~ .grv-categorie-text { color: grey; } .grv-categorie-text { color: #252525; font-size: 14px; } .grv-tag-list__item input:disabled ~ .grv-checkbox { opacity: 0.6; } .grv-btn-wrap { text-align: center; margin-bottom: 20px; margin-top: auto; } .grv-btn-wrap button { display: inline-block; width: 85%; margin-left: 8px; margin-right: 8px; margin-top: 24px; padding: 8px 16px; background: var(--main-color); color: #fff; font-family: Lato, "Source Sans Pro", Verdana, sans-serif; font-size: 16px; line-height: 1.2; border-radius: 5px; border: 0; outline: 0; cursor: pointer; transition: background 0.15s linear; } .grv-btn-wrap button:focus, .grv-btn-wrap button:hover { opacity: 0.8; } @media screen and (max-width: 400px) { .grv-bell-panel { left: 0 !important; right: 0 !important; margin: auto !important; } div > div.grv-bell { margin: 0; } .grv-bell-wrap.right > div.grv-bell { margin: 0; } } @media screen and (max-width: 360px) { div > div.grv-bell-wrap { left: 0; } } @media screen and (max-width: 320px) { div > div.grv-bell-panel { width: 100% !important; min-width: 300px !important; } div > div.grv-bell-wrap { left: 0; } } @media screen and (max-height: 500px) { div > div.grv-bell-panel { bottom: 10px !important; height: 360px !important; } .grv-bell-panel_header { height: 40px; } .grv-bell-title { margin-top: 0; margin-bottom: 5px; } .grv-bell-text { margin-top: 0; margin-bottom: 5px; } .grv-tag-list { max-height: 163px; } .grv-btn-wrap { margin-bottom: 0; } .grv-bell-wrap { bottom: 0 !important; } } @media screen and (max-height: 360px) { div > div.grv-bell-panel { height: 95% !important; } } .unblock .grv-bubble { right: auto; margin-left: 5px; padding: 15px 15px; background: #fff; width: fit-content; } .unblock .grv-bubble:hover { opacity: 1; } .unblock.not-branded .grv-bubble { margin-left: 2px; } .unblock .grv-bubble:before { top: 137px; width: 5px; height: 5px; border-right-color: #fff; } .unblock .grv-bubble > .grv-bubble__close:after, .unblock .grv-bubble > .grv-bubble__close:before { background: #000; } .grv-bubble__close.unblock-modal-close:after, .grv-bubble__close.unblock-modal-close:before { background: #000; } .grv-bell-wrap.unblock:hover .grv-bubble-message { display: block; } .grv-bubble-message { position: relative; display: none; align-self: flex-start; white-space: nowrap; width: fit-content; min-height: 10px; margin-left: 5px; padding: 5px; font-family: inherit; border-radius: 5px; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); background: #fff; line-height: 0; color: #000; cursor: pointer; transition: background, visibility 0.15s linear; } .not-branded .grv-bubble-message { margin-left: 2px; } .right .grv-bubble-message { margin-right: 5px; } .not-branded.right .grv-bubble-message { margin-right: 2px; } .grv-bubble-message-p { line-height: 0; font-size: 15px; padding: 0 16px; margin-block-start: 1em; margin-block-end: 1em; display: block; margin-inline-end: 0; margin-inline-start: 0; } .grv-bubble-message:before { content: ""; position: absolute; top: 0; bottom: 0; right: 100%; display: block; margin: auto; width: 5px; height: 5px; border: 10px solid transparent; border-right-color: #fff; filter: drop-shadow(-1px 1px 1px rgba(0, 0, 0, 0.2)); transform: scaleY(0.6); transition: border-color 0.15s linear; } .grv-bell-wrap.right .grv-bubble-message:before { left: 100%; border-left-color: #fff; border-right-color: transparent; filter: drop-shadow(rgba(0, 0, 0, 0.2) 1px 1px 1px); } .grv-bell-wrap.right.unblock .grv-bubble:before { left: 100%; border-left-color: #fff; border-right-color: transparent; filter: drop-shadow(rgba(0, 0, 0, 0.2) 1px 1px 1px); } .grv-bubble-img { height: 200px; max-width: fit-content; } .grv-tag-overlay { box-sizing: border-box; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 10000; padding: 20px; font-family: Open Sans, sans-serif; background: rgba(0, 0, 0, 0.3); } .grv-tag-overlay *, .grv-tag-overlay :after, .grv-tag-overlay :before { box-sizing: inherit; } .grv-tag-window { height: 425px; width: 556px; top: 0; bottom: 0; margin: auto; position: absolute; left: 0; right: 0; font-family: inherit; border-radius: 10px; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); background: #fff; } .grv-tag-window .grv-bubble__close { width: 25px; height: 25px; top: 5px; right: 5px; } .grv-tag-window .grv-tag-unblock-img { height: 100%; width: 100%; } .grv-modal-brand { position: absolute; bottom: 0; left: 0; margin-bottom: 7px; font-size: small; color: #999; margin-left: 18px; text-decoration: none; cursor: pointer; line-height: normal; vertical-align: super; } .grv-modal-brand span { text-decoration: underline; } .grv-modal-brand span:hover { text-decoration: none; } .grv-bell-wrap.not-branded.unblock .grv-bubble:before { top: 177px; }`},"./src/sdk-template/client/widgets/branding.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=i("./node_modules/lit-element/lit-element.js"),n=i("./src/sdk-template/utils/index.ts"),o=i("./src/sdk-template/utils/index.ts"),s=i("./node_modules/lit-html/lit-html.js");t.BrandingLabel=class{constructor({brandingStrategy:e,cdnUrl:t}){this.brandingStrategy=e,this.cdnUrl=t}handleClick(){window.open(`https://gravitec.net/rf/?site=${window.location.hostname}&utm_source=${window.location.hostname}&utm_medium=branding&utm_campaign=${window.location.hostname}_free`,"_blank")}show(){if(0!==this.brandingStrategy&&!n.inIframe()){const e=document.createElement("div");e.className="grv-branding-host",document.body.appendChild(e);const t=e.attachShadow({mode:"open"}),i=document.createElement("div");t.appendChild(i),i.setAttribute("class","branding-element");let r="grv-"+n.getOS().toLowerCase(),l="grv-lang-en",d="grv-"+o.getBrowserSpecs().name.toLowerCase(),c=d+o.getBrowserSpecs().version;s.render(a(this.cdnUrl,this.brandingStrategy,r,l,d,c),i)}}close(){0!==this.brandingStrategy&&document.querySelector(".grv-branding-host")&&document.querySelector(".grv-branding-host").remove()}};const a=(e,i,n,o,a,l)=>1===i?r.html` <style> ${t.stylesLabelA} </style> <div class="grv-webpush-label ${n} ${o} ${a} ${l}" > <img @click=${this.handleClick} class="brandImg" src="${e}/img/newbranding.svg" /> </div> `:2===i?r.html` <style> ${t.stylesLabelB} </style> <div class="grv-webpush-label ${n} ${o} ${a} ${l}" > <div class="grv-inner-content"> <span @click=${this.handleClick} class="poweredBy"> Notifications powered by <span class="brandLabel"></span> </span> </div> </div> `:void s.nothing;t.stylesLabelA="\n.grv-webpush-label {\n top: 0px ;\n left: 460px ;\n position: fixed ;\n z-index: 100001 ;\n display: block ;\n height: fit-content ;\n width: fit-content ;\n cursor: pointer ;\n}\n\n.grv-webpush-label.grv-firefox{\n left: calc(60% * 0.25 + 500px) ;\n}\n\n.grv-webpush-label.grv-firefox.grv-macos{\nleft: calc(60% * 0.25 + 405px) ;\n}\n\n.grv-webpush-label.grv-firefox.grv-windows{\nleft: 495px ;\n}\n\n.brandImg {\nmax-height: fit-content;\nbox-shadow: none;\n}\n\n\n@media (max-width: 1300px) {\n.grv-firefox .poweredBy {\n margin-left: 50% ;\n}\n}\n\n@media (max-width: 900px) {\n.grv-webpush-label {\n display: none ;\n z-index: -10 ;\n visibility: hidden ;\n opacity: 0 ;\n}\n}\n\n@media (max-width: 900px) {\n.grv-webpush-label.grv-firefox {\n display: none ;\n z-index: -10 ;\n visibility: hidden ;\n opacity: 0 ;\n}\n} \n\n/*new prompt default styles end*/\n/*hide push label for old firefox browser versions*/\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox58 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox57 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox56 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox55 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox54 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox53 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox52 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox51 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox50 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox49 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox48 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox47 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox46 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox45 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox44 {\n display: none ;\n}\n",t.stylesLabelB="\n.grv-webpush-label {\n top: 0px ;\n left: 0px ;\n width: 100% ;\n position: fixed ;\n z-index: 100001 ;\n font-family: 'Segoe UI', 'Open Sans', Ubuntu, 'Dejavu Sans', Helvetica, 'Helvetica Neue', Arial, sans-serif ;\n background-image: radial-gradient(at 0% 0%, #00000044, transparent 60%) ;\n height: 70px ;\n display: block ;\n font-size: 14px ;\n line-height: normal ;\n letter-spacing: normal ;\n pointer-events: none;\n}\n\n.grv-webpush-label .grv-inner-content {\n filter: blur(0) ;\n z-index: 10 ;\n height: 100% ;\n margin-top: 5px ;\n}\n\n\n.poweredBy {\n color: #ffffff ;\n text-decoration: none ; \n margin-left: 465px ;\n vertical-align: middle ;\n cursor: pointer ;\n pointer-events: all;\n}\n\n\n.brandLabel {\n background: url(https://cdn.gravitec.net/img/gravitec-blue.svg) no-repeat center ;\n vertical-align: baseline ;\n display: inline-block ;\n height: 11px ;\n width: 85px ;\n margin-top: 4px ;\n margin-left: 3px ;\n}\n\n.grv-webpush-label.grv-firefox.grv-macos .brandLabel {\nmargin-top: 3px ;\n}\n\n.grv-webpush-label.grv-firefox .poweredBy{\nmargin-left: calc(60% * 0.25 + 500px) ;\n}\n\n.grv-webpush-label.grv-firefox.grv-macos .poweredBy{ \nmargin-left: calc(60% * 0.25 + 425px) ;\n}\n\n.grv-webpush-label.grv-firefox.grv-windows .poweredBy{\nmargin-left: 495px ;\n}\n\n\n@media (max-width: 900px) {\n.grv-webpush-label {\n display: none ;\n z-index: -10 ;\n visibility: hidden ;\n opacity: 0 ;\n}\n}\n\n@media (max-width: 900px) {\n.grv-webpush-label.grv-firefox {\n display: none ;\n z-index: -10 ;\n visibility: hidden ;\n opacity: 0 ;\n}\n} \n\n/*new prompt default styles end*/\n/*hide push label for old firefox browser versions*/\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox58 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox57 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox56 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox55 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox54 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox53 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox52 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox51 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox50 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox49 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox48 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox47 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox46 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox45 {\n display: none ;\n}\n.grv-webpush-label.grv-windows.grv-firefox.grv-firefox44 {\n display: none ;\n}\n"},"./src/sdk-template/client/widgets/digest/digestStyles.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.styles="body > *:not(#grv-digest) { display: none; } div #grv-digest-widget { position: fixed; top: 0; bottom: 0; right: 0; left: 0; z-index: 99999999999; display: grid; overflow-y: auto; grid-template-rows: auto 1fr auto; min-height: 100vh; background: #fff; margin: 0 auto; width: 100vw; min-width: 320px; box-sizing: border-box; font-size: 16px; font-family: sans-serif; font-weight: normal; font-style: normal; font-stretch: normal; line-height: 1.38; letter-spacing: normal; --color-white-1: #fff; --color-white-2: #f8f8f8; --color-white-3: #e5e5ea; --color-black-1: #191c1e; --color-grey-1: #a1aeb7; --color-grey-2: #8b959e; --color-grey-3: #545458; --color-blue-1: #0d4d96; --color-blue-2: #1268b2; --color-steel-1: rgba(116, 132, 144, 0.4); } #grv-digest-widget *, #grv-digest-widget *::before, #grv-digest-widget *::after { box-sizing: inherit; font: inherit; } #grv-digest-widget h1, #grv-digest-widget h2, #grv-digest-widget h3, #grv-digest-widget h4, #grv-digest-widget h5, #grv-digest-widget h6, #grv-digest-widget p, #grv-digest-widget ul, #grv-digest-widget ol, #grv-digest-widget li, #grv-digest-widget figure, #grv-digest-widget blockquote, #grv-digest-widget img, #grv-digest-widget dl, #grv-digest-widget dt, #grv-digest-widget dd { margin: 0; padding: 0; border: 0; } #grv-digest-widget article, #grv-digest-widget aside, #grv-digest-widget details, #grv-digest-widget figcaption, #grv-digest-widget figure, #grv-digest-widget footer, #grv-digest-widget header, #grv-digest-widget hgroup, #grv-digest-widget main, #grv-digest-widget menu, #grv-digest-widget nav, #grv-digest-widget section, #grv-digest-widget picture { display: block; background: inherit; } #grv-digest-widget picture { line-height: 0; } #grv-digest-widget img { display: inline-flex; } #grv-digest-widget a { color: inherit; font-size: inherit; } #grv-digest-widget strong { font-weight: bold; } #grv-digest-widget h1, #grv-digest-widget .h1, #grv-digest-widget h2, #grv-digest-widget .h2 { font-size: 20px; line-height: 1.4; font-weight: 300; font-style: normal; font-stretch: normal; letter-spacing: normal; } #grv-digest-widget .h2 label { font-size: inherit; line-height: inherit; font-weight: inherit; font-style: inherit; font-stretch: inherit; } @media(min-width: 992px) { #grv-digest-widget h1, #grv-digest-widget .h1, #grv-digest-widget h2, #grv-digest-widget .h2 { font-size: 24px; line-height: 1.33; } } #grv-digest-widget h3, #grv-digest-widget .h3 { font-size: 16px; line-height: 1.38; font-weight: normal; font-style: normal; font-stretch: normal; letter-spacing: normal; color: inherit; } @media(min-width: 992px) { #grv-digest-widget h3, #grv-digest-widget .h3 { font-size: 20px; line-height: 1.4; } } #grv-digest-widget p { font-size: 16px; font-style: normal; font-stretch: normal; line-height: 1.38; font-weight: 300; letter-spacing: normal; } #grv-digest-widget a, #grv-digest-widget .link { color: #0d4d96; color: var(--color-blue-1); text-decoration: none; transition: color 0.15s ease-in-out, background 0.1s linear; } #grv-digest-widget a:hover, #grv-digest-widget a:focus { --color-blue-1: #2487f7; } #grv-digest-widget .link--simple { background-position: 0 0.9em; background-image: none; background-repeat: repeat-x; background-size: 1px 1px; } #grv-digest-widget .link--simple:hover, #grv-digest-widget .link--simple:focus { background-image: linear-gradient(to right, var(--color-blue-1) 0, var(--color-blue-1) 100%); background-position: 0 1em; } #grv-digest-widget .link--arrow { display: inline-flex; align-items: center; } #grv-digest-widget .link--arrow svg { width: 1.15em; height: 0.5em; margin-left: 1.15em; fill: #0d4d96; fill: var(--color-blue-1); transition: fill 0.15s ease-in-out, transform 0.1s linear; } #grv-digest-widget .link--arrow:hover svg, #grv-digest-widget .link--arrow:focus svg { transform: translateX(0.5em); } #grv-digest-widget .link--arrow:active svg { transform: translateX(-0.5em); } #grv-digest-widget .text-center { text-align: center; } #grv-digest-widget .grv-btn { display: inline-block; padding: 16px 38px; text-align: center; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: transparent; border: 1px solid transparent; border-radius: 4px; font: 400 14px/14px sans-serif; text-transform: uppercase; text-decoration: none; cursor: pointer; color: inherit; transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out; } #grv-digest-widget .btn-primary { background-color: var(--color-blue-2); border-color: var(--color-blue-2); color: var(--color-white-1); } #grv-digest-widget .btn-primary:hover, #grv-digest-widget .btn-primary:focus { --color-blue-2: #0d4d96; } #grv-digest-widget .grv-btn-close { position: absolute; top: 0; right: 0; padding: 16px; font-size: 24px; outline: none; color: var(--color-grey-1); } #grv-digest-widget .grv-btn-close:hover, #grv-digest-widget .grv-btn-close:focus { color: var(--color-grey-3); } #grv-digest-widget .form-control { display: block; width: 100%; padding: 14px 24px; height: auto; font: 400 14px/18px sans-serif; background-color: var(--color-white-1); background-clip: padding-box; color: #545458; color: var(--color-grey-3); border: 1px solid var(--color-white-3); box-shadow: inset 0 0 0 100px var(--color-white-1); border-radius: 4px; outline: none; transition: border-color .15s ease-in-out; } #grv-digest-widget .form-control::-ms-expand { background-color: var(--color-white-1); border: 1px solid var(--color-white-3) } #grv-digest-widget .form-control::-webkit-input-placeholder, #grv-digest-widget .form-control:-moz-placeholder, #grv-digest-widget .form-control::-moz-placeholder, #grv-digest-widget .form-control:-ms-input-placeholder { font: 400 14px/18px sans-serif; color: #a1aeb7; color: var(--color-grey-1); } #grv-digest-widget .form-control:focus { border-color: var(--color-grey-1); } #grv-digest-widget .input-group input { margin: 0; } #grv-digest-widget .input-group-append button { width: 100%; margin-top: 8px; margin-bottom: 0; white-space: nowrap; } #grv-digest-widget .input-group-notes { margin-top: 8px; font: 300 14px/20px sans-serif; text-align: center; } #grv-digest-widget .input-group-append { display: flex; } @media (min-width: 768px) { #grv-digest-widget .input-group { display: flex; } #grv-digest-widget .input-group input { border-top-left-radius: 24px; border-bottom-left-radius: 24px; border-top-right-radius: 0; border-bottom-right-radius: 0; } #grv-digest-widget .input-group-append { flex: 1 0 auto; } #grv-digest-widget .input-group-append button { margin-top: 0; border-top-left-radius: 0; border-bottom-left-radius: 0; border-top-right-radius: 24px; border-bottom-right-radius: 24px; } #grv-digest-widget .input-group-notes { text-align: left; } } #grv-digest-widget .text-black-1 { color: #191c1e; color: var(--color-black-1); } #grv-digest-widget .text-grey-1 { color: #a1aeb7; color: var(--color-grey-1); } #grv-digest-widget .text-grey-2 { color: #8b959e; color: var(--color-grey-2); text-transform:capitalize; } #grv-digest-widget .text-grey-3 { color: #545458; color: var(--color-grey-3); } #grv-digest-widget .bg-white-1 { background-color: #fff; background-color: var(--color-white-1); } #grv-digest-widget .bg-white-2 { background-color: #f8f8f8; background-color: var(--color-white-2); } #grv-digest-widget * { outline-color: rgba(18, 104, 178, 0.5); } #grv-digest-widget *::selection { background: rgba(18, 104, 178, 0.5); } #grv-digest-widget .grv-widget-container { width: 100%; max-width: 480px; margin-left: auto; margin-right: auto; padding-left: 16px; padding-right: 16px; } @media(min-width: 640px) { #grv-digest-widget .grv-widget-container { max-width: 576px; } } @media(min-width: 768px) { #grv-digest-widget .grv-widget-container { max-width: 640px; } } @media(min-width: 992px) { #grv-digest-widget .grv-widget-container { max-width: 768px; padding-left: 24px; padding-right: 24px; } } @media(min-width: 1240px) { #grv-digest-widget .grv-widget-container { max-width: 1200px; padding-left: 24px; padding-right: 24px; } } #grv-digest-widget .grv-widget-header-container { position: relative; padding-top: 16px; padding-bottom: 16px; } #grv-digest-widget .grv-widget-date { font-size: 14px; line-height: 1.5; } #grv-digest-widget .grv-widget-header-container .h1 { margin-bottom: 2px; } #grv-digest-widget .grv-widget-logo { width: 64px; height: 40px; margin-bottom: 16px; overflow: hidden; font-size: 12px; font-weight: 300; color: #8b959e; color: var(--color-grey-2); } #grv-digest-widget .grv-widget-logo img { width: 100%; height: 100%; object-fit: contain; object-position: center; } @media(min-width: 768px) { #grv-digest-widget .grv-widget-header { display: grid; grid-template-columns: auto 1fr; column-gap: 24px; align-items: center; } #grv-digest-widget .grv-widget-logo { width: 88px; height: 56px; margin-bottom: 0; } } @media(min-width: 992px) { #grv-digest-widget .grv-widget-header-container { padding-top: 28px; padding-bottom: 28px; } #grv-digest-widget .grv-widget-header { column-gap: 32px; } #grv-digest-widget .grv-widget-logo { width: 104px; height: 64px; } #grv-digest-widget .grv-widget-date { font-size: 16px; } } #grv-digest-widget .grv-widget-main-container { padding-top: 24px; padding-bottom: 32px; } #grv-digest-widget .grv-widget-news-title { margin-bottom: 24px; } #grv-digest-widget .grv-widget-news+.grv-widget-news { margin-top: 32px; } #grv-digest-widget .grv-widget-news+.grv-widget-news-title { margin-top: 48px; } #grv-digest-widget .grv-widget-news { width: 100%; max-width: 520px; margin-left: auto; margin-right: auto; } #grv-digest-widget .grv-widget-news-img { width: 100%; height: 152px; margin-bottom: 16px; overflow: hidden; border-radius: 4px; font-size: 12px; font-weight: 300; color: #8b959e; color: var(--color-grey-2); box-shadow: 0 2px 6px 0 rgba(116, 132, 144, 0.4); box-shadow: 0 2px 6px 0 var(--color-steel-1); background-color: rgba(116, 132, 144, 0.4); background-color: var(--color-steel-1); } #grv-digest-widget .grv-widget-news-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; } #grv-digest-widget .grv-widget-news .h3 { margin-bottom: 4px; } #grv-digest-widget .grv-widget-news p { margin-bottom: 8px; } #grv-digest-widget .grv-widget-news-footer { display: grid; grid-template-columns: auto auto; justify-content: space-between; align-items: flex-end; column-gap: 16px; font-size: 14px; line-height: 1.43; } @media(min-width: 768px) { #grv-digest-widget .grv-widget-news { display: grid; } #grv-digest-widget .grv-widget-news { grid-template-columns: auto 1fr; column-gap: 24px; } #grv-digest-widget .grv-widget-news .grv-widget-news-img { margin-bottom: 0; width: 152px; } #grv-digest-widget .grv-widget-news-content { display: grid; grid-template-rows: auto auto 1fr; min-height:100%; } } @media(min-width: 992px) { #grv-digest-widget .grv-widget-main-container { padding-top: 48px; padding-bottom: 64px; } } @media(min-width: 1240px) { #grv-digest-widget .grv-widget-news:nth-child(-n+2) { grid-template-columns: auto; grid-template-rows: auto 1fr; } #grv-digest-widget .grv-widget-news:nth-child(-n+2) .grv-widget-news-img { width: 100%; height: 240px; margin-bottom: 16px; } #grv-digest-widget .grv-widget-main-container { padding-top: 64px; padding-bottom: 80px; } #grv-digest-widget .grv-widget-news-block { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 80px; row-gap: 40px; } #grv-digest-widget .grv-widget-news { max-width: none; } #grv-digest-widget .grv-widget-news-title { margin-bottom: 0; } #grv-digest-widget .grv-widget-news p, #grv-digest-widget .grv-widget-news .h3 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; } #grv-digest-widget .grv-widget-news h3 { -webkit-line-clamp: 2; } #grv-digest-widget .grv-widget-news p { -webkit-line-clamp: 3; } #grv-digest-widget .grv-widget-news+.grv-widget-news, #grv-digest-widget .grv-widget-news+.grv-widget-news-title { margin-top: 0; } } #grv-digest-widget .grv-widget-footer-container { padding-top: 24px; padding-bottom: 24px; } #grv-digest-widget .grv-widget-footer-container .h2 { margin-bottom: 24px; } #grv-digest-widget .grv-widget-subscribe-form { width: 100%; max-width: 520px; margin-left: auto; margin-right: auto; } @media(min-width: 992px) { #grv-digest-widget .grv-widget-footer-container { padding-top: 48px; padding-bottom: 48px; } } @media(min-width: 1240px) { #grv-digest-widget .grv-widget-footer-container { padding-top: 64px; padding-bottom: 64px; } }"},"./src/sdk-template/client/widgets/digest/digestTemplate.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=i("./node_modules/lit-html/lit-html.js"),n=i("./src/sdk-template/client/widgets/digest/digestStyles.ts");t.getStringDate=function(e){return new Date(e).toUTCString().substr(5,17)};t.Digest=class{constructor(e,t){this.closeModal={handleEvent(e){const t=document.getElementById("grv-digest-host");document.body.style.removeProperty("overflow"),document.body.removeChild(t)},capture:!0},this.getStringDate=(e=>new Date(e).toLocaleString([],{timeZone:"UTC",month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"})),this.parseDateForPeriod=(e=>1===e.length?this.getDateForPeriod(e[0]):`${this.getDateForPeriod(e[0])} - ${this.getDateForPeriod(e[1])}`),this.getDateForPeriod=(e=>new Date(e).toLocaleTimeString([],{timeZone:"UTC",weekday:"long",month:"long",day:"numeric",second:"numeric"}).slice(0,-3)),this.createLink=(e=>{let t=new URL(e);return t.searchParams.append("utm_gravitec","digest"),t}),this.imageTemaplate=(({src:e,alt:t,width:i,height:n,cssClass:o=!1})=>r.html` <img ?class=${o} src=${e} loading="lazy" alt=${t} width=${i} height=${n}> `),this.headerTemplate=((e,t)=>r.html` <div class="grv-widget-header"> <div class="grv-widget-logo"> ${this.imageTemaplate({src:e.siteIcon,alt:e.siteName,width:70,height:42})} </div> <div class="grv-widget-heading"> <h1 class="grv-h1 text-black-1">${e.digestTitle} <a href=${e.siteLink} rel="noopener" class="link link--simple">${window.location.hostname}</a></h1> <p class="grv-widget-date text-grey-2">${this.parseDateForPeriod(e.period)}</p> </div> </div> `),this.aricleTemplate=(e=>r.html` <article class="grv-widget-news grv-widget-news"> <div class="grv-widget-news-img"> <a href=${this.createLink(e.redirect)} target="_blank" rel="noopener"> ${this.imageTemaplate({src:e.icon,alt:e.tl,width:152,height:152})} </a> </div> <div class="grv-widget-news-content"> <a href=${this.createLink(e.redirect)} target="_blank" rel="noopener"> <h3 class="h3">${e.tl}</h3> </a> <p>${e.tx}</p> <div class="grv-widget-news-footer"> <a href=${this.createLink(e.redirect)} target="_blank" rel="noopener" class="link link--arrow"> <span>Read more</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18.3 8.4" width="16" heigth="7.5"> <path d="M13.5 0l-.7.8 3.4 2.9H0v1h16.2l-3.4 3 .7.7 4.8-4.2z" /></svg> </a> <span class="text-grey-2">${this.getStringDate(`${e.sentDateAsString}Z`)}</span> </div> </div> </article> `),this.articlesListTemaplate=(e=>r.html` <div class="grv-widget-news-block"> ${e.map(e=>this.aricleTemplate(e.data))} </div> `),this.digestTemplate=((e,t)=>r.html` <div id="grv-digest-widget" class="grv-widget-content"> <style> ${n.styles} </style> <header class="grv-widget-header-container bg-white-2"> <button class="grv-btn grv-btn-close" type="button" @click=${this.closeModal}>✕</button> <div id="grv-digest-header" class="grv-widget-container"> ${this.headerTemplate(e,t)} </div> </header> <div class="grv-widget-main-container bg-white-1"> <div id="grv-digest-content" class="grv-widget-container"> ${this.articlesListTemaplate(e.campaigns)} </div> </div> </div> `),this.generate=(()=>{const e=document.createElement("div");e.setAttribute("id","grv-digest-host");const t=e.attachShadow({mode:"open"}),i=document.createElement("div");i.setAttribute("id","grv-digest-root"),t.appendChild(i),function t(){if(document.body)return document.body.appendChild(e),void(document.body.style.overflow="hidden");window.requestAnimationFrame(t)}(),r.render(this.digestTemplate(this.data,this.frequency),i)}),this.data=e,this.frequency=t}}},"./src/sdk-template/client/widgets/optIn.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/enums.ts"),o=i("./src/sdk-template/utils/index.ts"),s=i("./node_modules/lit-element/lit-element.js"),a=i("./src/sdk-template/client/widgets/optInStyles.ts"),l=i("./src/sdk-template/client/widgets/bellStyles.ts"),d=i("./node_modules/lit-html/lit-html.js"),c=i("./src/sdk-template/models/config.ts"),u=i("./src/sdk-template/client/widgets/translations.json");t.OptIn=class{constructor(e){this.options={brandingEnabled:!1,mobileProps:{btnColour:"#0d4d96",textColour:"#545458",type:c.OptType.NATIVE,events:[{steps:[{name:"ON_DELAY",definition:{value:"0"}}]}],position:c.Position["right bottom"],allowTexts:[{lang:"default",value:"Allow"}],blockTexts:[{lang:"default",value:"No, thanks"}],subscTexts:[{lang:"default",value:"Хочете отримувати найцікавіший контент від нашого сайту?"}]},desktopProps:{btnColour:"#0d4d96",textColour:"#545458",type:c.OptType.TOAST,events:[{steps:[{name:"ON_DELAY",definition:{value:"0"}}]},{steps:[{name:"VIEW_DEPTH",definition:{value:"2"}},{name:"ON_DELAY",definition:{value:"10"}}]}],position:c.Position["middle-x top"],allowTexts:[{lang:"default",value:"Allow"}],blockTexts:[{lang:"default",value:"No, thanks"}],subscTexts:[{lang:"default",value:"Would you like to receive notifications?"}]}},this.root=document.createElement("div"),this.landingLink=`https://gravitec.net/rf/?site=${window.location.hostname}&utm_source=${window.location.hostname}&utm_medium=optin&utm_campaign=${window.location.hostname}_optin`,this.loadOptions=(()=>r(this,void 0,void 0,function*(){try{const e=yield fetch(`${this.config.cdnUrl}/storage/${this.config.appKey}/opt_cfg.json`);return yield e.json()}catch(e){return console.error(e),this.options}})),this.appendStyles=(()=>r(this,void 0,void 0,function*(){const e=yield document.createElement("link");e.type="text/css",e.rel="stylesheet",e.href="https://fonts.googleapis.com/css?family=Lato|Source+Sans+Pro&subset=cyrillic,cyrillic-ext,latin-ext",yield document.body.appendChild(e)})),this.requestPermission=(()=>new Promise((e,t)=>r(this,void 0,void 0,function*(){o.isMobileScreen()?this.localOptions=this.options.mobileProps:this.localOptions=this.options.desktopProps,h();const i=new Promise((e,t)=>{window.addEventListener("grv-permission-event",t=>r(this,void 0,void 0,function*(){e(n.PushPermissionStates.granted)})),window.addEventListener("grv-block-event",e=>r(this,void 0,void 0,function*(){t(n.PushPermissionStates.deniedFromCustom)}))});if("BELL"===this.localOptions.type){const e={steps:[{name:"ON_ELEMENT_CLICK",definition:{value:""}}]};this.localOptions.events.push(e)}if("BELL"!==this.localOptions.type&&(yield g(this.localOptions)),!o.checkCookie("gravitecOptInBlocked")||"BELL"===this.localOptions.type)if("NATIVE"===this.localOptions.type&&e(n.PushPermissionStates.granted),"CUSTOM"===this.localOptions.type)i.then(()=>{e(n.PushPermissionStates.granted)}).catch(()=>{document.cookie="gravitecOptInBlocked=true; expires=0; path=/",t(n.PushPermissionStates.deniedFromCustom)});else{yield function(){return r(this,void 0,void 0,function*(){const e=new FontFace("Lato","url(https://fonts.gstatic.com/s/lato/v16/S6uyw4BMUTPHjx4wXiWtFCc.woff2)"),t=new FontFace("Source Sans Pro","url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xK3dSBYKcSV-LCoeQqfX1RYOo3qPK7lujVj9_mf.woff2)"),i=yield e.load(),r=yield t.load();document.fonts.add(i),document.fonts.add(r)})}();const i=document.createElement("div");i.className="grv-dialog-host",document.body.appendChild(i),this.shadow=i.attachShadow({mode:"open"}),this.shadow.appendChild(this.root),s.LitElement.render(this.selectSubscribeTemplate(this.localOptions.type),this.root,{scopeName:"root"}),this.promiseResolve=(()=>e(n.PushPermissionStates.granted)),this.promiseReject=(()=>t(n.PushPermissionStates.deniedFromCustom))}}))),this.selectSubscribeTemplate=(e=>{switch(e){case"MODAL":return this.subscribeTemplateD();case"TOAST":return this.subscribeTemplateG();case"BELL":return this.subscribeBellWrapperTemplate()}}),this.onSubscribeClickHandler=(()=>{this.promiseResolve(),document.body.removeChild(document.getElementsByClassName("grv-dialog-host")[0])}),this.onBlockClickHandler=(()=>{this.promiseReject(),document.cookie="gravitecOptInBlocked=true; expires=0; path=/",document.body.removeChild(document.getElementsByClassName("grv-dialog-host")[0])}),this.subscribeTemplateD=(()=>s.html` <style>${a.stylesOpt}</style> <div id="grv-popup" class="grv-popup ${this.localOptions.position} grv-widgets ${this.options.brandingEnabled?"":"not-branded"}" style="--main-color:${this.localOptions.btnColour}; --text-color:${this.localOptions.textColour}"> <div class="grv-popup__block"> <div class="grv-popup__inner"> <div class="grv-popup__header"> <div class="grv-popup__logo"> <img class="grv-popup__img" src=${this.config.siteIcon} alt="Name"> </div> </div> <div class="grv-popup__content"> <div class="grv-popup__title">${this.localOptions.subscTexts[0].value}</div> <div class="grv-popup__text"></div> <div id="grv-popup__subscribe" class="grv-popup__button D_type block" @click=${()=>{this.onBlockClickHandler()}}>${this.localOptions.blockTexts[0].value}</div> <div id="grv-popup__subscribe" class="grv-popup__button D_type" @click=${()=>{this.onSubscribeClickHandler()}}>${this.localOptions.allowTexts[0].value}</div> </div> ${this.options.brandingEnabled?s.html` <div class="grv-popup__copyright"> <a id="grv-popup__link" target="_blank" href=${this.landingLink}> powered by GRAVITEC</a> </div> `:s.html``} </div> </div> <div class="grv-popup__fade"></div> </div> `),this.subscribeTemplateG=(()=>s.html` <style>${a.stylesOpt}</style> <div class="grv-sub-widget ${this.localOptions.position} ${this.options.brandingEnabled?"":"not-branded"}" style="--main-color:${this.localOptions.btnColour}; --text-color:${this.localOptions.textColour}"> <header> <div class="icon" style="background-image: url(${this.config.siteIcon})"> </div> <p>${this.localOptions.subscTexts[0].value}</p> </header> <div class="buttons-wrapper"> <button class="sub-dialog-btn block_btn" @click=${()=>{this.onBlockClickHandler()}}>${this.localOptions.blockTexts[0].value}</button> <button class="sub-dialog-btn allow_btn" @click=${()=>{this.onSubscribeClickHandler()}}>${this.localOptions.allowTexts[0].value}</button> </div> ${this.options.brandingEnabled?s.html`<div class="grv-bell-panel_footer"><a target="_blank" href=${this.landingLink}>Powered by GRAVITEC</a></div>`:s.html`<div class="grv-bell-panel_footer"></div>`} </div> `),this.subscribeTemplatePopup=(e=>s.html` <div class="grv-sub-widget from_bell ${e?"":"visible"}" style="--main-color:${this.localOptions.btnColour}; --text-color:${this.localOptions.textColour}"> <header> <div class="icon" style="background-image: url(${this.config.siteIcon})"> </div> <p>${this.localOptions.subscTexts[0].value}</p> </header> <div class="buttons-wrapper"> <button class="sub-dialog-btn block_btn" @click=${()=>{let e=this.root.getElementsByClassName("grv-sub-widget")[0];e.classList.contains("visible")?e.classList.remove("visible"):e.classList.add("visible"),document.cookie="gravitecOptInBlocked=true; expires=0; path=/"}}> ${this.localOptions.blockTexts[0].value} </button> <button class="sub-dialog-btn allow_btn" @click=${()=>{this.onSubscribeClickHandler()}}>${this.localOptions.allowTexts[0].value}</button> </div> ${this.options.brandingEnabled?s.html`<div class="grv-bell-panel_footer"><a target="_blank" href=${this.landingLink}>Powered by GRAVITEC</a></div>`:s.html`<div class="grv-bell-panel_footer"></div>`} </div> `),this.subscribeBellWrapperTemplate=(()=>{const e=new Promise((e,t)=>r(this,void 0,void 0,function*(){o.checkCookie("gravitecOptInBlocked")?e(this.subscribeTemplatePopup(!0)):(yield g(this.localOptions),e(this.subscribeTemplatePopup(!1)))})),t=d.directive(e=>t=>{Promise.resolve(e).then(e=>{t.setValue(e),t.commit()})});return s.html` <style>${l.bellStyles}</style> <style>${a.stylesOpt}</style> <div class="grv-bell-wrap ${this.localOptions.position} ${this.options.brandingEnabled?"":"not-branded"}" style="--main-color:${this.localOptions.btnColour}; --text-color:${this.localOptions.textColour}"> ${y(this.options,this.landingLink,this.root)} ${t(e)} </div> `}),this.options=e.opt,this.config=e.app}get client(){return window.Gravitec}_getBellText(){let e=this._getLang();const t=u[e];return Object.assign({},t)}_getLang(){let e=o.getBrowserlanguage();switch(e){case n.LANGUAGES.russian:case n.LANGUAGES.ukrainian:case n.LANGUAGES.polish:case n.LANGUAGES.spanish:break;default:e=n.LANGUAGES.english}return e}};const p=e=>new Promise(t=>{setTimeout(t,1e3*e)}),g=e=>new Promise(t=>{const i=[{type:"delay-event",handler:e=>w(e,"ON_DELAY")},{type:"scroll-event",handler:e=>w(e,"ON_SCROLL")},{type:"view-depth-event",handler:t=>{if(b("VIEW_DEPTH",e)&&m("VIEW_DEPTH",e)<=t.detail.page)return w(t,"VIEW_DEPTH")}},{type:"click-event",handler:e=>w(e,"ON_ELEMENT_CLICK")},{type:"resolve-event",handler:r=>{f(i),o.checkCookie("gravitecOptInBlocked")||window.dispatchEvent(new CustomEvent("ready-to-ask-permission-event",{detail:e})),t()}},{type:"step-event",handler:t=>_(t,e)}];v(i),b("ON_DELAY",e)&&p(m("ON_DELAY",e)).then(()=>{window.dispatchEvent(new CustomEvent("delay-event"))})}),h=()=>r(void 0,void 0,void 0,function*(){let e=Number(window.localStorage.getItem("views-counter"));for(;;)yield p(1),window.dispatchEvent(new CustomEvent("view-depth-event",{detail:{page:e}}))}),b=(e,t)=>-1!==t.events.findIndex(t=>t.steps[0].name===e),m=(e,t)=>t.events[t.events.findIndex(t=>t.steps[0].name===e)].steps[0].definition.value,f=e=>{e.map(({type:e,handler:t})=>window.removeEventListener(e,t))},v=e=>{e.map(({type:e,handler:t})=>window.addEventListener(e,t))},w=(e,t)=>{window.dispatchEvent(new CustomEvent("step-event",{detail:{name:t}}))},_=(e,t)=>{const i=t.events[t.events.findIndex(t=>t.steps[0].name===e.detail.name)];i.steps&&(i.steps.shift(),-1!==t.events.findIndex(e=>0===e.steps.length)&&window.dispatchEvent(new CustomEvent("resolve-event")),i.steps[0]&&"ON_DELAY"===i.steps[0].name&&p(i.steps[0].definition.value).then(()=>{window.dispatchEvent(new CustomEvent("delay-event"))}))},y=(e,t,i)=>s.html` <div class="grv-bell" @click=${()=>{window.dispatchEvent(new CustomEvent("click-event"));let e=i.getElementsByClassName("grv-sub-widget")[0];if(e){const t=e.classList;t.contains("visible")?t.remove("visible"):t.add("visible")}}}> <div class="grv-bell__icon">${(e=>s.svg` <svg width="36" height="44" viewBox="0 0 36 44" fill="none" xmlns="http://www.w3.org/2000/svg" class="${e?"":"not-branded"}"> ${s.svg`<path class="grv-svg-bell-background" d="M18 44C18 44 36 28.2623 36 18.2069C36 8.1515 27.9411 0 18 0C8.05887 0 0 8.1515 0 18.2069C0 28.2623 18 44 18 44Z"/>`} <path class="grv-svg-bell-only" d="M27.8572 24.3418C26.719 23.1369 24.251 19.9236 24.4528 14.8676C24.5722 11.8779 22.9435 10.293 21.285 9.4554C19.1915 8.39825 16.6847 8.39825 14.5912 9.4554C12.9326 10.2929 11.3039 11.8778 11.4233 14.8675C11.6251 19.9236 9.15719 23.1369 8.01892 24.3417" stroke="white"/> <path class="grv-svg-bell-only" d="M27.8383 23.7067C22.429 28.0867 13.4023 28.0811 8 23.7067" stroke="white"/> <path class="grv-svg-bell-only" d="M16 29C16 30.1028 16.8972 31 17.9997 31C19.1027 31 20 30.1028 20 29" stroke="white"/> <path class="grv-svg-bell-only" fill-rule="evenodd" clip-rule="evenodd" d="M21.596 18.35h-1.818a1.81 1.81 0 00-1.312.8c-.05.05 0 .05 0 .1h2.12c.303 0 .404.15.303.45a2.771 2.771 0 01-1.488 1.706 2.82 2.82 0 01-2.278.041 1.152 1.152 0 00-.91-.05l-.555.15c-.202.05-.252-.05-.202-.25.045-.222.112-.44.202-.649a1.692 1.692 0 00-.12-.65 7.926 7.926 0 01-.233-1.048 2.858 2.858 0 011.028-2.34 2.927 2.927 0 012.506-.607c.494.138.945.396 1.313.749.252.25.354.25.606 0l.05-.05a.324.324 0 000-.55 3.597 3.597 0 00-2.575-1.148 2.695 2.695 0 00-.676.05A3.847 3.847 0 0014.9 16.87a3.77 3.77 0 00-.322 3.179c.05.247.05.502 0 .749-.131.65-.333 1.299-.556 1.948 0 .05-.05.15 0 .2a.382.382 0 00.253.05c.656-.2 1.262-.4 1.918-.55.25-.05.508-.05.758 0 .752.242 1.56.259 2.322.05A3.89 3.89 0 0022 18.8c-.03-.35-.131-.4-.404-.45z" fill="#fff"/> </svg> `)(e.brandingEnabled)} </div> ${e.brandingEnabled?s.html` <a class="grv-bell__powered" href=${t} target="_blank" rel="noopener" @click=${e=>e.stopPropagation(e)}> Notifications by <br> Gravitec </a> `:""} </div> `},"./src/sdk-template/client/widgets/optInStyles.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=i("./node_modules/lit-element/lit-element.js");t.stylesOpt=r.css`@-webkit-keyframes grv-fadeInUp { 0% { opacity: 0; -moz-transform: translate3d(0, 50%, 0); -ms-transform: translate3d(0, 50%, 0); -webkit-transform: translate3d(0, 50%, 0); transform: translate3d(0, 50%, 0) } 100% { opacity: 1; -moz-transform: none; -ms-transform: none; -webkit-transform: none; transform: none } } @keyframes grv-fadeInUp { 0% { opacity: 0; -moz-transform: translate3d(0, 50%, 0); -ms-transform: translate3d(0, 50%, 0); -webkit-transform: translate3d(0, 50%, 0); transform: translate3d(0, 50%, 0) } 100% { opacity: 1; -moz-transform: none; -ms-transform: none; -webkit-transform: none; transform: none } } #grv-popup .grv-popup__copyright #grv-popup__link, #grv-popup .grv-popup__copyright .grv-icon--logo, #grv-popup .grv-popup__img { padding: 0; margin: 0; border: 0 none; background-color: transparent; text-transform: normal } #grv-popup.grv-popup { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 2147483647; -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; } #grv-popup .grv-popup__block { overflow-y: auto; position: relative; z-index: 10000; max-height: 100%; height: 100%; -moz-animation-duration: .5s; -webkit-animation-duration: .5s; animation-duration: .5s; -moz-animation-fill-mode: both; -webkit-animation-fill-mode: both; animation-fill-mode: both; -moz-animation-name: grv-fadeInUp; -webkit-animation-name: grv-fadeInUp; animation-name: grv-fadeInUp; display: flex; align-items: center; justify-content: center; } #grv-popup .grv-popup__fade { background-color: rgba(33, 33, 33, .8); position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 9100 } #grv-popup .grv-popup__close { position: absolute; opacity: .8; right: -39px; top: 0px; cursor: pointer; width: 20px; height: 20px; background: transparent; background-size: contain !important; z-index: 10005; } .grv-popup__close:before, .grv-popup__close:after { content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; width: 2px; transform-origin: center; transition: top, bottom .15s linear; background: #FFF; mix-blend-mode: normal; } .grv-popup__close:before { transform: rotate(45deg); } .grv-popup__close:after { transform: rotate(-45deg); } .grv-popup__close:hover, .grv-popup__close:focus { opacity: 1; outline: none; } #grv-popup .grv-popup__close:hover { opacity: 1 } #grv-popup .grv-popup__inner { -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; -moz-box-shadow: 0 0 3px 2px rgba(42, 42, 69, .23); -webkit-box-shadow: 0 0 3px 2px rgba(42, 42, 69, .23); box-shadow: 0 0 3px 2px rgba(42, 42, 69, .23); background-color: #fff; max-width: 360px; position: absolute; z-index: 10000; text-align: center; width: 360px; } .grv-popup.top .grv-popup__inner{ top: 0; bottom: unset; } .grv-popup.bottom .grv-popup__inner{ top: unset; bottom: 20px; } .grv-popup.bottom.not-branded .grv-popup__inner{ top: unset; bottom: 0px; } .grv-popup.left .grv-popup__inner{ left: 0; right: unset; } .grv-popup.right .grv-popup__inner{ right: 0; left: unset; } .grv-popup.middle-x .grv-popup__inner{ right: unset; left: unset; } .grv-popup.middle-y .grv-popup__inner{ top: unset; bottom: unset; } #grv-popup .grv-popup__header { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; height: 130px; padding-top: 36px; text-align: center } #grv-popup .grv-popup__logo { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; overflow: hidden; margin: 0 auto; width: 72px; height: 72px } #grv-popup .grv-popup__img { background-color: #e5e5e5; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; overflow: hidden; width: 72px !important; height: 72px !important; max-width: 72px !important; max-height: 72px !important; outline: 0 none; display: inline-block; vertical-align: middle; font-size: 7px; font-weight: 400; line-height: 72px; text-align: center } #grv-popup .grv-popup__content { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; width: 100%; text-align: center; font-family: 'Lato','Source Sans Pro',sans-serif; letter-spacing: normal; padding: 0 48px 43px; color: var(--text-color); } #grv-popup .grv-popup__title { font-size: 20px; margin-bottom: 10px } #grv-popup .grv-popup__text { font-size: 14px; line-height: 22px; margin-bottom: 30px } #grv-popup .grv-popup__button { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; display: inline-block; border: 2px solid var(--main-color); border-radius: 2px; padding: 0 35px; font-size: 16px; font-weight: 700; color: var(--main-color); cursor: pointer; max-width: 50%; } #grv-popup .grv-popup__button.block { border: none; font-size: 14px; } #grv-popup .grv-popup__button.D_type { padding: 18px 16px; } #grv-popup .grv-popup__button.F_type { padding: 0px 33px; } #grv-popup .grv-popup__button:hover { background-color: #f5f5f5 } #grv-popup .grv-popup__button:active { background-color: #e0e0e0 } #grv-popup .grv-popup__copyright { position: absolute; bottom: -20px; right: 0px } #grv-popup .grv-popup__copyright #grv-popup__link { display: block; text-align: center; font: 400 10px/24px 'Lato','Source Sans Pro',sans-serif; color: #a1a1a1; text-decoration: none !important } #grv-popup .grv-popup__copyright #grv-popup__link:hover { text-decoration: none } #grv-popup .grv-popup__copyright .grv-icon--logo { display: inline-block; fill: #a1a1a1; width: 15px; height: 15px; vertical-align: top; padding-top: 4px; padding-left: 3px } .grv-popup__active { overflow: hidden } @media only screen and (max-width:480px) { #grv-popup .grv-popup__close { top: 5px; right: 5px; } .grv-popup__close:before, .grv-popup__close:after { background: #000; } #grv-popup .grv-popup__content { padding-left: 25px; padding-right: 25px } } @keyframes tooltips-vert { from { opacity: 0; transform: translate(0, 50%); } } .grv-sub-widget { display: flex; width: 384px; height: fit-content; height: -moz-fit-content; border-radius: 4px; background-color: #FFFFFF; box-shadow: 0 4px 16px 0 rgba(0,0,0,0.1); flex-direction: column; position: fixed; top: 0; left: 0; right: 0; margin: auto; justify-content: space-between; animation: tooltips-vert 300ms ease-out forwards; z-index: 2147483646; -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; } .grv-sub-widget.from_bell { display: none; position: relative; top: 0; left: 0; right: 0; margin-bottom: 15px; } .grv-sub-widget.from_bell:after { content: ""; position: absolute; width: 0; height: 0; border-width: 10px; border-style: solid; border-color: #F9FCFF transparent transparent transparent; bottom: -20px; left: 33px; filter: drop-shadow(0 2px 1px rgba(0, 0, 0, .05)); } .grv-sub-widget.from_bell.visible { display: flex; } .grv-bell-wrap { flex-direction: column-reverse; } .grv-bell-wrap.left { flex-direction: column-reverse; left: 10px; right: unset; } .grv-bell-wrap.left .grv-sub-widget.from_bell:after { left: 33px; right: unset; } .grv-bell-wrap.right .grv-sub-widget.from_bell:after { left: unset; right: 33px; } .grv-bell-wrap.not-branded .grv-sub-widget.from_bell:after { border-color: #FFFFFF transparent transparent transparent; } .grv-bell-wrap.left.not-branded .grv-sub-widget.from_bell:after { left: 20px; right: unset; } .grv-bell-wrap.right.not-branded .grv-sub-widget.from_bell:after { left: unset; right: 20px; } .grv-bell-wrap.right { flex-direction: column-reverse; right: 10px; left: unset; } .grv-bell-wrap.left .grv-bell { align-self: flex-start; } .grv-bell-wrap.right .grv-bell { align-self: flex-end; } .direction_row { display: flex; flex-direction: row; } .grv-bell-wrap.right .direction_row { flex-direction: row-reverse; } .grv-sub-widget.top { top: 0; bottom: unset; } .grv-sub-widget.middle-x { left: 0; right: 0; } .grv-sub-widget.middle-y { top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .grv-sub-widget.bottom { bottom: 0; top: unset; } .grv-sub-widget.left { left: 0; right: unset; } .grv-sub-widget.right { right: 0; left: unset; } .grv-sub-widget header { display: grid; grid-template-columns: 64px minmax(0,1fr); -webkit-column-gap: 12px; -moz-column-gap: 12px; column-gap: 12px; margin-top: 16px; margin-left: 24px; margin-right: 24px; align-items: center; } .grv-sub-widget header .icon { width: 64px; height: 64px; background-size: cover; background-position: top center; border-radius: 50%; } .grv-sub-widget header .icon svg { margin: auto; display: block; } .grv-sub-widget header p { margin: auto 0; color: var(--text-color); font-family: 'Lato','Source Sans Pro',sans-serif; font-size: 16px; line-height: 24px; font-weight: 400; } .grv-sub-widget .buttons-wrapper { margin-top: 8px; margin-left: 24px; margin-right: 24px; margin-bottom: 8px; text-align: right; } .grv-bell-wrap.not-branded .grv-sub-widget .buttons-wrapper { margin-bottom: 16px; } .grv-sub-widget.not-branded .buttons-wrapper { margin-bottom: 16px; } .grv-sub-widget button.sub-dialog-btn { font-family: 'Lato','Source Sans Pro',sans-serif; font-size: 14px; line-height: 20px; font-weight: 400; cursor: pointer; outline: none; border: none; max-width: 50%; min-width: 92px; } .grv-sub-widget button.sub-dialog-btn:hover { opacity: 0.8; } .grv-sub-widget button.sub-dialog-btn:active { outline: none; } .grv-sub-widget button.sub-dialog-btn.block_btn { border: none; color: var(--main-color); background-color: #fff; } .grv-sub-widget button.sub-dialog-btn.allow_btn { border-radius: 4px; background-color: var(--main-color); color: #FFFFFF; padding: 10px 28px; } .grv-bell-panel_footer { background: #F9FCFF; box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.1); border-radius: 0px 0px 4px 4px; font-family: 'Lato','Source Sans Pro'; font-style: normal; font-weight: normal; font-size: 10px; line-height: 14px; text-align: center; vertical-align: middle; line-height: 20px; /* identical to box height, or 140% */ text-align: center; color: #8E8E93; } .grv-bell-panel_footer a { color: #8E8E93; text-decoration: none; } @media only screen and (max-width:400px) { .grv-sub-widget { width: 100%; } div>div.grv-bell-wrap.left { left: 10px; right: 10px; } div>div.grv-bell-wrap.right { left: 10px; right: 10px; } .grv-bell-wrap.left .grv-sub-widget.from_bell:after { left: 20px; right: unset; } .grv-bell-wrap.right .grv-sub-widget.from_bell:after { right: 20px; left: unset; } .grv-bell-wrap.not-branded.left .grv-bell, .grv-bell-wrap.not-branded.right .grv-bell { margin: 0 10px; } } @media only screen and (max-width: 320px) { div>div.grv-bell-wrap.left { left: 10px; right: 10px; } div>div.grv-bell-wrap.right { left: 10px; right: 10px; } } @media only screen and (max-width: 360px) { div>div.grv-bell-wrap.left { left: 10px; right: 10px; } div>div.grv-bell-wrap.right { left: 10px; right: 10px; } .grv-sub-widget header { grid-template-columns: 48px minmax(0,1fr); } .grv-sub-widget header .icon { height: 48px; width: 48px; } } .type_H.overlay { /* height: 100%; */ /* width: 100%; */ background-color: rgba(33, 33, 33, .8); position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9100; } .grv-sub-widget.type_H { /* justify-content: space-between; */ height: 15; width: 330px; bottom: 0; height: 120px; border-radius: 4px; } .grv-sub-widget header.type_H { margin-left: 16px; } .grv-sub-widget header .icon.type_H { background-color: #fff; min-height: 40px; min-width: 40px; } .grv-sub-widget header p.type_H { padding-left: 0; font-size: 14px; line-height: 20px; } .grv-sub-widget .buttons-wrapper.type_H { margin-right: 10px; } .grv-sub-widget button.sub-dialog-btn.allow_btn.type_H { border: none; background-color: #fff; color: #0D4D96; }`},"./src/sdk-template/client/widgets/slidedownPrompt.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=i("./src/sdk-template/enums.ts"),n=i("./src/sdk-template/client/widgets/widget.ts");t.SlidedownPrompt=class extends n.Widget{constructor(e,t=null){super(e,t)}show(){return new Promise((e,t)=>{this._onAllow=(()=>{e(r.PushPermissionStates.granted)}),this._onBlock=(()=>{e(r.PushPermissionStates.denied)}),this._onClose=(()=>{e(r.PushPermissionStates.default)}),this._create()}).then(e=>(this._destroy(),e))}_create(){if(this._widget)return;const e=document.createElement("div");e.classList.add("subscribe-widget"),e.style.display="none";const t=document.createElement("div");t.classList.add("subscribe-widget__image-wrapper"),e.appendChild(t);const i=document.createElement("img");i.setAttribute("src","__SITE_ICON__"),t.appendChild(i);const r=document.createElement("button");r.classList.add("close-button"),r.setAttribute("type","button"),r.setAttribute("aria-label","Close"),e.appendChild(r);const n=document.createElement("div");n.classList.add("subscribe-widget__notification");const o=document.createElement("span");o.classList.add("subscribe-widget__notification_title"),o.innerText=this._textObj.promptTextHeader;const s=document.createElement("p");s.classList.add("subscribe-widget__notification_message"),s.innerText=this._textObj.promptTextBody,n.appendChild(o),n.appendChild(s),e.appendChild(n);const a=document.createElement("a");a.classList.add("subscribe-widget__powered"),a.style.display="block",a.href=`https://gravitec.net/rf/?site=${document.location.hostname}&utm_source=${document.location.hostname}&utm_medium=branding&utm_campaign=${document.location.hostname}_safari`,a.target="_blank",a.innerHTML=this._poweredBy,e.appendChild(a);const l=document.createElement("button");l.classList.add("block-button","subscribe-widget__button"),l.setAttribute("type","button"),l.innerText=this._textObj.block;const d=document.createElement("button");d.classList.add("allow-button","subscribe-widget__button"),d.setAttribute("type","button"),d.innerText=this._textObj.allow;const c=document.createElement("div");c.classList.add("subscribe-widget__buttons-wrap"),c.appendChild(l),c.appendChild(d),e.appendChild(c),d.addEventListener("click",this._onAllow),l.addEventListener("click",this._onBlock),r.addEventListener("click",this._onClose),document.body.appendChild(e),this._widget=e}_destroy(){this._widget&&(this._widget.querySelector(".allow-button").removeEventListener("click",this._onAllow),this._widget.querySelector(".block-button").removeEventListener("click",this._onBlock),this._widget.querySelector(".close-button").removeEventListener("click",this._onClose),this._widget.parentNode.removeChild(this._widget))}}},"./src/sdk-template/client/widgets/translations.json":function(e){e.exports={en:{bubbleText:"Click to configure notifications",notificationAreBlocked:"Notifications are blocked!",tagWindowTitle:"Configure notifications",submit:"Submit",cancel:"Cancel",pushHistory:"Push History",configuration:"Configuration",emptyHistory:"Notifications history is empty",markAllAsRead:"Mark all as read",clearAll:"Clear all",subscribeToNotification:"Подпишитесь на уведомления",optInText:"Will you allow sitename.com to send notifications?",optInAllow:"Allow",optInBlock:"No, thanks"},es:{bubbleText:"Configura la suscripción",notificationAreBlocked:"¡Notificaciones están bloqueadas!",tagWindowTitle:"Configuración de notificaciones",submit:"Aceptar",cancel:"Cancelar",pushHistory:"Historia push",configuration:"Configuración",emptyHistory:"La historia está vacía",markAllAsRead:"Marcar todo como leído",clearAll:"Borrar todo",subscribeToNotification:"Подпишитесь на уведомления",optInText:"¿Va a permitir a sitename.com enviar notificaciones?",optInAllow:"Permitir",optInBlock:"No, gracias"},ru:{bubbleText:"Нажмите, чтобы настроить уведомления",notificationAreBlocked:"Уведомления заблокированы!",tagWindowTitle:"Настройте уведомления",submit:"Принять",cancel:"Отменить",pushHistory:"История",configuration:"Настройки",emptyHistory:"История уведомлений пуста",markAllAsRead:"Пометить как прочитанное",clearAll:"Очистить",subscribeToNotification:"Подпишитесь на уведомления",optInText:"Вы разрешаете sitename.com отправлять уведомления?",optInAllow:"Разрешить",optInBlock:"Нет, спасибо"},uk:{bubbleText:"Натисніть, щоб налаштувати сповіщення",notificationAreBlocked:"Сповіщення заблоковані!",tagWindowTitle:"Налаштуйте сповіщення",submit:"Прийняти",cancel:"Відмінити",pushHistory:"Історія",configuration:"Налаштування",emptyHistory:"Історія сповіщень пуста",markAllAsRead:"Позначити як прочитане",clearAll:"Очистити",subscribeToNotification:"Подпишитесь на уведомления",optInText:"Дозволити sitename.com відправляти сповіщення?",optInAllow:"Дозволити",optInBlock:"Ні, дякую"},pl:{bubbleText:"Kliknij, aby skonfigurować subskrypcję",notificationAreBlocked:"Notifications are blocked!",tagWindowTitle:"Skonfiguruj subskrypcję",submit:"Zatwierdź",cancel:"Anulować",pushHistory:"Historia push",configuration:"Konfiguracja",emptyHistory:"Brak zapisów w historii ",markAllAsRead:"Oznacz jako przeczytane",clearAll:"Usuń wszystkie",subscribeToNotification:"Подпишитесь на уведомления",optInText:"Czy zezwalasz sitename.com na wysyłanie powiadomień?",optInAllow:"Pozwalam",optInBlock:"Nie, dziękuję"}}},"./src/sdk-template/client/widgets/translations.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r={en:{desktopWidgetText:{wantsTo:"wants to",showNotifications:"Show notifications",allow:"Allow",block:"Block"},mobileWidgetText:{wantsTo:"wants to",showNotifications:"send you notifications",allow:"Allow",block:"Block"},slidedownWidgetText:{promptTextHeader:"This website would like to send you push notifications.",promptTextBody:"Notifications can be turned off anytime from browser settings.",allow:"Allow",block:"Don't Allow"},slidedownPromptForHttps:{promptTextHeader:"This website would like to send you push notifications.",promptTextBody:"Notifications can be turned off anytime from browser settings.",allow:"Allow",block:"Don't Allow"}},ru:{desktopWidgetText:{wantsTo:"запрашивает разрешение на:",showNotifications:"Показывать оповещения",allow:"Разрешить",block:"Блокировать"},mobileWidgetText:{wantsTo:"запрашивает разрешение",showNotifications:"показывать оповещения",allow:"Разрешить",block:"Блокировать"},slidedownWidgetText:{promptTextHeader:"Этот веб-сайт запрашивает разрешение на отправку push-уведомлений в Центре уведомлений.",promptTextBody:'Уведомлениями веб-сайтов можно управлять в разделе "Веб-сайты" настроек Safari.',allow:"Разрешить",block:"Не разрешать"},slidedownPromptForHttps:{promptTextHeader:"This website would like to send you push notifications.",promptTextBody:"Notifications can be turned off anytime from browser settings.",allow:"Allow",block:"Don't Allow"}},uk:{desktopWidgetText:{wantsTo:"хоче",showNotifications:"показувати сповіщення",allow:"Дозволити",block:"Блокувати"},mobileWidgetText:{wantsTo:"хоче",showNotifications:"показувати сповіщення",allow:"Дозволити",block:"Блокувати"},slidedownWidgetText:{promptTextHeader:"Цей веб-сайт хоче надсилати вам push-сповіщення у Центрі сповіщень.",promptTextBody:"Сповіщення для веб-сайтів можна настроїти в параметрах веб-сайтів Safari.",allow:"Дозволити",block:"Заборонити"},slidedownPromptForHttps:{promptTextHeader:"This website would like to send you push notifications.",promptTextBody:"Notifications can be turned off anytime from browser settings.",allow:"Allow",block:"Don't Allow"}},pl:{desktopWidgetText:{wantsTo:"prosi o pozwolenie na",showNotifications:"Pokazywanie powiadomień",allow:"Zezwalaj",block:"Blokuj"},mobileWidgetText:{wantsTo:"prosi o pozwolenie na",showNotifications:"Pokazywanie powiadomień",allow:"Zezwalaj",block:"Blokuj"},slidedownWidgetText:{promptTextHeader:"This website would like to send you push notifications.",promptTextBody:"Notifications can be turned off anytime from browser settings.",allow:"Allow",block:"Don't Allow"},slidedownPromptForHttps:{promptTextHeader:"This website would like to send you push notifications.",promptTextBody:"Notifications can be turned off anytime from browser settings.",allow:"Allow",block:"Don't Allow"}},es:{desktopWidgetText:{wantsTo:"quiere",showNotifications:"Mostrar notificaciones",allow:"Permitir",block:"Bloquear"},mobileWidgetText:{wantsTo:"quiere",showNotifications:"enviar notificaciones",allow:"Permitir",block:"Bloquear"},slidedownWidgetText:{promptTextHeader:"Este sitio web desea enviarle notificaciones push",promptTextBody:"Las notificaciones se pueden desactivar en cualquier momento desde la configuración del navegador.",allow:"Permitir",block:"Ahora no"},slidedownPromptForHttps:{promptTextHeader:"Este sitio web desea enviarle notificaciones push",promptTextBody:"Las notificaciones se pueden desactivar en cualquier momento desde la configuración del navegador.",allow:"¡Si, quiero!",block:"No, gracias"}}};t.default=r},"./src/sdk-template/client/widgets/widget.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.Widget=class{constructor(e,t){this._textObj=e,this._poweredBy=t,this._onAllow=null,this._onBlock=null,this._onClose=null}}},"./src/sdk-template/enums.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.chrome="CHROME",e.safari="SAFARI"}(t.ClientMode||(t.ClientMode={})),function(e){e.granted="granted",e.default="default",e.denied="denied",e.deniedFromCustom="deniedFromCustom"}(t.PushPermissionStates||(t.PushPermissionStates={})),function(e){e.ukrainian="uk",e.russian="ru",e.english="en",e.polish="pl",e.spanish="es"}(t.LANGUAGES||(t.LANGUAGES={}))},"./src/sdk-template/exceptions/subscribe.exception.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.SubscribeError=class extends Error{constructor(e){super(`SubscribeError: permission ${e}`),this.permission=e}}},"./src/sdk-template/https.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/client/https.client.ts"),o=i("./src/sdk-template/client/segmentation/segmentation.ts"),s=i("./src/sdk-template/client/utils/database.ts"),a=i("./src/sdk-template/client/utils/api.ts"),l=i("./src/sdk-template/client/widgets/digest/digestTemplate.ts"),d=i("./src/sdk-template/utils/logger.ts"),c=i("./src/sdk-template/utils/index.ts"),u=i("./src/sdk-template/client/browser-subscription-managers/chrome-like-subscription-manager.ts"),p=i("./src/sdk-template/client/widgets/bellElement.ts"),g=i("./src/sdk-template/client/http.client.ts");c.setPagesCounter(),window.customElements&&(customElements.get("bell-element")||customElements.define("bell-element",p.BellElement)),window._subscriptionStrategy=0;const h=window.Gravitec||[];function b({appKey:e,cdnUrl:t}){const i=new URLSearchParams(window.location.search);if(i.get("frequency")){const n=i.get("hash"),o=i.get("frequency");(function(e,t,i,n){return r(this,void 0,void 0,function*(){let r=yield fetch(`${e}/open-api/digests?appKey=${t}&frequency=${n}&hash=${i}`);if(r.status>304){const e=yield r.text();return Promise.reject(new Error(`fetch error ${e}`))}return r.json().then(e=>e&&"object"==typeof e&&"error"in e?Promise.reject(e):null===e||0===Object.keys(e).length?Promise.reject(new Error(`Digest response: ${JSON.stringify(e)}`)):e)})})(t,e,n,o.toUpperCase()).then(e=>r(this,void 0,void 0,function*(){if(e.unique){const t=[];for(const i of e.campaigns)t.push(i.hash);let n=yield f();i.get("regid")&&(n=i.get("regid"));const s={id:n,link_hashes:t};try{const t=yield function(e,t,i=new Headers,n="POST"){i.append("Content-Type","application/json");const o={method:n,headers:i};e&&(o.body=e);return fetch(t,o).then(e=>r(this,void 0,void 0,function*(){if(e.status>304){const t=yield e.text();return Promise.reject(new Error(`fetch error ${t}`))}return e.json().then(e=>e&&"object"==typeof e&&"error"in e?Promise.reject(e):e)})).catch(e=>{throw e})}(JSON.stringify(s),"https://api.gravitec.media/api/stats/v1/filter-viewed-page");let i=e.campaigns.filter(e=>t.includes(e.hash)),n=e.campaigns.filter(e=>!t.includes(e.hash));if(i.length>=e.size){e.campaigns=i.slice(0,e.size),new l.Digest(e,o).generate()}else{e.campaigns=i.concat(n.slice(0,e.size-i.length)),new l.Digest(e,o).generate()}}catch(t){e.campaigns=e.campaigns.slice(0,e.size),new l.Digest(e,o).generate()}}else{e.campaigns=e.campaigns.slice(0,e.size),new l.Digest(e,o).generate()}})).catch(e=>{d.ConsoleLogger.error(e)})}}fetch("https://cdn.gravitec.net/sdk/web/configs?appKey=d0c386c49fd26796e4003c2976470df7").then(e=>e.status>304?Promise.reject(new Error("fetch error")):e.json()).then(e=>{e.app.isHttpToHttps=!1,e.app.sdkVersion=6,e.app.appKey="d0c386c49fd26796e4003c2976470df7",m(e),e.app.trackStat&&function(){r(this,void 0,void 0,function*(){let e=yield f();window.GravitecNetNewsConfig={appKey:"d0c386c49fd26796e4003c2976470df7",regId:e};var t=document.createElement("script");t.type="text/javascript",t.src="//cdn.gravitec.media/track.min.js",t.async=!0,document.getElementsByTagName("script")[0].parentNode.appendChild(t)})}()}).catch(e=>{console.log(e)});const m=e=>{window.GravitecConfig=e;const t=new s.ClientDatabase,i=new a.ClientApiService(e.app.userApiUrl,e.app.appKey),r=new o.Segmentation(i);let l;l=e.app.subDomain?new g.HttpClient(e,t,i,{segmentation:r}):new n.Client(e,t,i,{segmentation:r}),window.Gravitec=l,window.WLPush=l,b(e.app),h.some(([e],t)=>{if("init"===e)return t>0&&h.unshift(h.splice(t,1)),!0})||window.Gravitec.push(["init"]),window.Gravitec.processPushes(h);["addTag","addTags","setTags","removeTag","removeTags","removeAllTags","setAlias","getTags"].forEach(e=>{window.Gravitec[e]=((...t)=>window.Gravitec.push([`segmentation.${e}`].concat(t)))}),l.push(["subscriptionResult",t=>{if(l._subscriptionManager instanceof u.ChromeLikeSubscriptionManager){if(window.customElements){const e=document.createElement("bell-element");document.body.appendChild(e)}if("denied"===window.localStorage.permission&&"granted"===Notification.permission)try{fetch(`https://api.gravitec.media/api/stats/event?app_key=${e.app.appKey}&user_id=${window.GravitecNews.getUserId()}&event_type=unblock&event_source=sub`)}catch(e){}window.localStorage.setItem("permission",Notification.permission)}}])};function f(){return r(this,void 0,void 0,function*(){let e=null;try{const t=yield window.navigator.serviceWorker.ready,i=yield t.pushManager.getSubscription();e=c.prepareSubscription(i).regID}catch(t){e=null}return e})}},"./src/sdk-template/models/config.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.NATIVE="NATIVE",e.CUSTOM="CUSTOM",e.TOAST="TOAST",e.BELL="BELL"}(t.OptType||(t.OptType={})),function(e){e.default="default",e.rounded="rounded",e.roundedBig="rounded big"}(t.BellSets||(t.BellSets={})),function(e){e[e.left=0]="left",e[e.right=1]="right",e[e["left top"]=2]="left top",e[e["middle-x top"]=3]="middle-x top",e[e["right top"]=4]="right top",e[e["middle-x middle-y"]=5]="middle-x middle-y",e[e["left bottom"]=6]="left bottom",e[e["middle-x bottom"]=7]="middle-x bottom",e[e["right bottom"]=8]="right bottom"}(t.Position||(t.Position={}));var r;!function(e){e[e._0=0]="_0",e[e._1=1]="_1",e[e._2=2]="_2",e[e._3=3]="_3",e[e._4=4]="_4",e[e._5=5]="_5",e[e._6=6]="_6",e[e._7=7]="_7"}(r||(r={}))},"./src/sdk-template/utils/api.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/utils/logger.ts");t.ApiService=class{constructor(e,t){this.version="1.2.1",this._apiUrl=e,this._appKey=t}send(e,t,i=null,o=new Headers){let s=e.split("?")[0],a=e.split("?")[1]||"",l=`${this._apiUrl}${s}?${a}&appKey=${this._appKey}&version=${this.version}`;if(o.append("Content-Type","application/json"),null!==i&&(i=JSON.stringify(i)),"fetch"in window){const e={method:t,headers:o};return i&&(e.body=i),fetch(l,e).then(e=>r(this,void 0,void 0,function*(){if(e.status>304){const t=yield e.text();return Promise.reject(new Error(`fetch error ${t}`))}return e.json().then(e=>e&&"object"==typeof e&&"error"in e?Promise.reject(e):e).catch(()=>{})})).catch(e=>{throw console.log(e),e})}return new Promise((e,r)=>{const s=new XMLHttpRequest;s.open(t,l.toString(),!0),o.forEach((e,t)=>{s.setRequestHeader(t,e)}),s.onreadystatechange=function(){if(4==s.readyState){if(s.status>304){let e;n.ConsoleLogger.log(`Looks like there was a problem. Status Code: ${s.status}`);try{e=JSON.parse(s.responseText)}catch(t){n.ConsoleLogger.debug(JSON.stringify(t)),e={message:s.responseText}}return r(e)}return n.ConsoleLogger.debug("data successfully sent"),e(JSON.parse(s.responseText))}},s.onerror=r,s.send(i||null)})}}},"./src/sdk-template/utils/database.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sdk-template/utils/logger.ts");var o;!function(e){e.ids="Ids",e.settings="Settings"}(o=t.DB_TABLES||(t.DB_TABLES={}));t.Database=class{constructor(){this.version=1,this.dbName="gravitec_db"}open(e=this.dbName,t=this.version){return this.db?Promise.resolve(this.db):new Promise((i,r)=>{let o;try{o=window.indexedDB.open(e,this.version)}catch(i){return void n.ConsoleLogger.debug(`Error opening indexeddb. \nDb name: ${e}\ndb version: ${t}`)}o.onerror=r,o.onblocked=r,o.onupgradeneeded=(e=>this.onupgradeneeded(e)),o.onsuccess=(()=>{this.db=o.result,i(this.db)})})}onupgradeneeded(e){const t=e.target.result;return t.createObjectStore(o.ids,{keyPath:"type"}),t.createObjectStore(o.settings,{keyPath:"option"}),t}put(e,t){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((i,r)=>{try{const n=this.db.transaction([e],"readwrite").objectStore(e).put(t);n.onsuccess=(()=>{i()}),n.onerror=(e=>{this.logOperationError("PUT",e,!0),r(e)})}catch(e){this.logOperationError("PUT",e),r(e)}})})}count(e){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((t,i)=>{try{const r=this.db.transaction([e],"readonly").objectStore(e).count();r.onsuccess=(()=>{t(r.result)}),r.onerror=(e=>{this.logOperationError("COUNT",e,!0),i(e)})}catch(e){this.logOperationError("COUNT",e),i(e)}})})}get(e,t){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((i,r)=>{try{const n=this.db.transaction([e],"readonly").objectStore(e).get(t);n.onsuccess=(()=>{i(n.result)}),n.onerror=(e=>{this.logOperationError("GET",e,!0),r(e)})}catch(e){this.logOperationError("GET",e),r(e)}})})}remove(e,t){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((i,r)=>{try{let n;(n=t?this.db.transaction([e],"readwrite").objectStore(e).delete(t):this.db.transaction([e],"readwrite").objectStore(e).clear()).onsuccess=(()=>{i(t)}),n.onerror=(e=>{this.logOperationError("GET_ALL",e,!0),r(e)})}catch(e){this.logOperationError("GET_ALL",e),r(e)}})})}getAll(e){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((t,i)=>{try{const r={},n=this.db.transaction([e],"readonly").objectStore(e).openCursor();n.onsuccess=(()=>{const e=n.result;e?(r[e.key]=e.value,e.continue()):t(r)}),n.onerror=(e=>{this.logOperationError("GET_ALL",e,!0),i(e)})}catch(e){this.logOperationError("GET_ALL",e),i(e)}})})}logOperationError(e,t,i=!1){n.ConsoleLogger.error(`DB${i?" transaction":""} error ${e}: ${t}`)}}},"./src/sdk-template/utils/index.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=i("./node_modules/bowser/es5.js");function n(e=navigator.userAgent){switch(r.parse(e).browser.name){case"Chrome":return"CHROME";case"Firefox":return"FIREFOX";case"Microsoft Edge":return"EDGE";case"Opera":return"OPERA";case"Safari":return"SAFARI";case"UC Browser":return"UC_BROWSER";case"Yandex Browser":return"YANDEX";case"Internet Explorer":return"IE";default:return"CHROME"}}t.getBrowserName=n,t.getOS=function(){let e;return-1!=navigator.appVersion.indexOf("Win")&&(e="Windows"),-1!=navigator.appVersion.indexOf("Mac")&&(e="MacOS"),-1!=navigator.appVersion.indexOf("X11")&&(e="Linux"),-1!=navigator.appVersion.indexOf("Linux")&&(e="Linux"),e},t.inIframe=function(){try{return window.self!==window.top}catch(e){return!0}},t.getBrowserSpecs=function(){var e,t=navigator.userAgent,i=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(i[1])?{name:"IE",version:(e=/\brv[ :]+(\d+)/g.exec(t)||[])[1]||""}:"Chrome"===i[1]&&null!=(e=t.match(/\b(OPR|Edge)\/(\d+)/))?{name:e[1].replace("OPR","Opera"),version:e[2]}:(i=i[2]?[i[1],i[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=t.match(/version\/(\d+)/i))&&i.splice(1,1,e[1]),{name:i[0],version:i[1]})};const o=[/^https:\/\/fcm\.googleapis\.com\/fcm\/send\//,/^https:\/\/android\.googleapis\.com\/gcm\/send\//,/^https:\/\/updates\.push\.services\.mozilla\.com(?::443)?\//,/^https:\/\/am3p\.notify\.windows\.com\/w\/\?token\=/];function s(e,t,i=30){var r=new Date;r.setTime(r.getTime()+864e5*i);var n="; expires="+r.toUTCString();document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+n+"; path=/"}t.prepareSubscription=function(e,t=navigator.userAgent,i=self){const r={regID:null,auth:null,p256dh:null,browser:null,subscriptionSpec:null,subscriptionStrategy:null,endpoint:null};try{for(const t of o)t.test(e.endpoint)&&Object.assign(r,{regID:e.endpoint.split(t)[1]});const{keys:s}=e.toJSON();Object.assign(r,{auth:s.auth,p256dh:s.p256dh,browser:n(t),subscriptionSpec:i._subscriptionSpec||0,subscriptionStrategy:i._subscriptionStrategy||0,endpoint:e.endpoint})}catch(e){}return r},t.stringToBoolean=(e=>"true"===e),t.isNotificationsSupported=function(){return"showNotification"in(ServiceWorkerRegistration&&ServiceWorkerRegistration.prototype)},t.isPushManagerSupported=function(){return"PushManager"in window},t.checkSafari=function(){return"safari"in window&&"pushNotification"in window.safari},t.checkCookie=function(e){const t=e+"=",i=document.cookie.split(";");for(let e=0;e<i.length;e++){let r=i[e];for(;" "==r.charAt(0);)r=r.substring(1);if(0==r.indexOf(t))return r.substring(t.length,r.length)}return""},t.getCurrentTimestamp=function(){return Math.round(Date.now()/1e3)},t.isMobileScreen=function(){var e,t=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(t=!0),t},t.removeCookie=function(e){s(e,null,-1)},t.setCookie=s,t.getBrowserlanguage=function(){return window.navigator.language.substring(0,2).toLowerCase()},t.noop=function(){},t.isPrivateMode=function(){return new Promise(e=>{const t=()=>e(!0),i=()=>e(!1);if(window.webkitRequestFileSystem)return void window.webkitRequestFileSystem(0,0,i,t);if("MozAppearance"in document.documentElement.style){if(null===indexedDB)return t();const e=indexedDB.open("test");return e.onerror=t,void(e.onsuccess=i)}const r=navigator.userAgent.match(/Version\/([0-9\._]+).*Safari/);if(r){if(parseInt(r[1],10)<11)return(()=>{try{localStorage.length?i():(localStorage.x=1,localStorage.removeItem("x"),i())}catch(e){navigator.cookieEnabled?t():i()}})();try{return window.openDatabase(null,null,null,null),i()}catch(e){return t()}}return window.indexedDB||!window.PointerEvent&&!window.MSPointerEvent?i():t()})},t.setPagesCounter=(()=>{let e=Number(window.localStorage.getItem("views-counter"));null===e?e=1:e++,window.localStorage.setItem("views-counter",e.toString())})},"./src/sdk-template/utils/logger.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.ConsoleLogger=class{static log(e){return console.log("🔔",e),e}static info(e){return console.info("🔔",e),e}static warn(e){return console.warn("🔔",e),e}static error(e){return console.error("🔔",e),e}static debug(e){return console.debug("🔔",e),e}}},"./src/sw-template/modules/push/utils/database.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sw-template/utils/database.ts"),o=i("./node_modules/idb/build/esm/index.js");var s;i("./src/sw-template/modules/push/utils/tables.ts"),n.DB_TABLES.GET_NOTIFICATION=150,n.DB_TABLES.GET_NOTIFICATION_CODE=151,function(e){e.displayDate="display_date"}(s||(s={}));t.PushDatabase=class extends n.Database{constructor(e){super(e),this.dbName="sw_push_db",this.maxHistoryLength=20}onupgradeneeded(e){const t=super.onupgradeneeded(e);return t.createObjectStore(n.DB_TABLES.history,{keyPath:"id"}).createIndex(s.displayDate,s.displayDate,{unique:!1}),t}saveNotificationToHistory(e){return e.data&&e.data.message_id?(e.data.isInteracted=!1,this.count(n.DB_TABLES.history).then(t=>(t<=this.maxHistoryLength?Promise.resolve():this.removeOldestNotificationFromHistory()).then(()=>this.put(n.DB_TABLES.history,Object.assign(Object.assign({},e),{id:e.data.message_id,[s.displayDate]:new Date}))))):Promise.reject("No notification messageId to store in db")}removeOldestNotificationFromHistory(){return this.getNotification(!1).then(e=>e?this.remove(n.DB_TABLES.history,e.id):Promise.reject("Couldn't retrieve oldest notification from db"))}getLastNotificationFromHistory(){return this.getNotification(!0)}getNotification(e=!1){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((t,i)=>{try{const r=this.db.transaction([n.DB_TABLES.history],"readonly").objectStore(n.DB_TABLES.history).index(s.displayDate).openCursor(null,e?"prev":"next");r.onsuccess=(()=>{t(r.result&&r.result.value||null)}),r.onerror=(()=>{this.logOperationError(`GET ${e?"last":"first"} from history`,r.error,n.ERROR_CODES.GET_NOTIFICATION,!0),i(r.error)})}catch(t){this.logOperationError(`GET ${e?"last":"first"} from history`,t,n.ERROR_CODES.GET_NOTIFICATION_CODE),i(t)}})})}interactWithPushMethod(e,t){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((e,i)=>{try{const r=this.db.transaction([n.DB_TABLES.history],"readwrite").objectStore(n.DB_TABLES.history),o=r.get(t);o.onsuccess=(()=>{let t=o.result;t.data.isInteracted=!0,r.put(t),e(o.result&&o.result.value||null)}),o.onerror=(()=>{console.log("error"),i(o.error)})}catch(e){console.log(e),i(e)}})})}},t.interactWithPush=((e,t)=>r(void 0,void 0,void 0,function*(){let i=yield e.indexedDB.open("sw_push_db",2);i.onsuccess=(e=>{let n=i.result;r(t,n)}),i.onupgradeneeded=(e=>{e.target.result.createObjectStore("History",{keyPath:"id"}).createIndex("display_date","display_date",{unique:!1})});const r=(e,t)=>{let i=t.transaction(["History"],"readwrite");i.oncomplete=function(e){},i.onerror=function(e){};let r=i.objectStore("History"),n=r.get(e);n.onsuccess=function(e){let t=n.result;t.data.isInteracted=!0,r.put(t)}}})),t.clearHistory=(e=>{let t=e.indexedDB.open("sw_push_db",2);t.onsuccess=(e=>{let i=t.result.transaction(["History"],"readwrite");i.oncomplete=function(e){},i.onerror=function(e){},i.objectStore("History").clear().onsuccess=function(e){}}),t.onupgradeneeded=(e=>{e.target.result.createObjectStore("History",{keyPath:"id"}).createIndex("display_date","display_date",{unique:!1})})}),t.getAllNotifications=(()=>r(void 0,void 0,void 0,function*(){const e=yield o.openDB("sw_push_db",2,{upgrade(e,t,i,r){e.createObjectStore("History",{keyPath:"id"}).createIndex("display_date","display_date",{unique:!1})}});return yield e.getAll("History")}))},"./src/sw-template/modules/push/utils/tables.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i("./src/sw-template/utils/database.ts").DB_TABLES.history="History"},"./src/sw-template/utils/database.ts":function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const n=i("./src/sw-template/utils/logger.ts");var o,s;!function(e){e.ids="Ids",e.settings="Settings"}(o=t.DB_TABLES||(t.DB_TABLES={})),function(e){e[e.OPEN=100]="OPEN",e[e.OPEN_BLOCKED=101]="OPEN_BLOCKED",e[e.PUT=102]="PUT",e[e.PUT_CODE=103]="PUT_CODE",e[e.COUNT=104]="COUNT",e[e.COUNT_CODE=105]="COUNT_CODE",e[e.GET=107]="GET",e[e.GET_CODE=107]="GET_CODE",e[e.REMOVE=108]="REMOVE",e[e.REMOVE_CODE=109]="REMOVE_CODE",e[e.GET_ALL=110]="GET_ALL",e[e.GET_ALL_CODE=111]="GET_ALL_CODE"}(s=t.ERROR_CODES||(t.ERROR_CODES={}));t.Database=class{constructor(e){this.errorHandler=e,this.version=2,this.dbName="sw_db"}open(e=this.dbName,t=this.version){return self.indexedDB?this.db?Promise.resolve(this.db):new Promise((t,i)=>{let r;(r=self.indexedDB.open(e,this.version)).onerror=(()=>{this.errorHandler.sendError("Client sw db",r.error,s.OPEN),i(r.error)}),r.onblocked=(()=>{this.errorHandler.sendError("Client sw db",r.error,s.OPEN_BLOCKED),i(r.error)}),r.onupgradeneeded=(e=>this.onupgradeneeded(e)),r.onsuccess=(()=>{this.db=r.result,t(this.db)})}):Promise.reject(new Error("IndexedDB not supported"))}onupgradeneeded(e){const t=e.target.result;return t.createObjectStore(o.ids,{keyPath:"type"}),t.createObjectStore(o.settings,{keyPath:"option"}),t}put(e,t){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((i,r)=>{try{const n=this.db.transaction([e],"readwrite").objectStore(e).put(t);n.onsuccess=(()=>{i()}),n.onerror=(()=>{this.logOperationError("PUT",n.error,s.PUT,!0),r(n.error)})}catch(e){this.logOperationError("PUT",e,s.PUT_CODE),r(e)}})})}count(e){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((t,i)=>{try{const r=this.db.transaction([e],"readonly").objectStore(e).count();r.onsuccess=(()=>{t(r.result)}),r.onerror=(e=>{this.logOperationError("COUNT",r.error,s.COUNT,!0),i(r.error)})}catch(e){this.logOperationError("COUNT",e,s.COUNT_CODE),i(e)}})})}get(e,t){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((i,r)=>{try{const n=this.db.transaction([e],"readonly").objectStore(e).get(t);n.onsuccess=(()=>{i(n.result)}),n.onerror=(()=>{this.logOperationError("GET",n.error,s.GET,!0),r(n.error)})}catch(e){this.logOperationError("GET",e,s.GET_CODE),r(e)}})})}remove(e,t){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((i,r)=>{try{let n;(n=t?this.db.transaction([e],"readwrite").objectStore(e).delete(t):this.db.transaction([e],"readwrite").objectStore(e).clear()).onsuccess=(()=>{i(t)}),n.onerror=(()=>{this.logOperationError("GET_ALL",n.error,s.REMOVE,!0),r(n.error)})}catch(e){this.logOperationError("GET_ALL",e,s.REMOVE_CODE),r(e)}})})}getAll(e){return r(this,void 0,void 0,function*(){return yield this.open(),new Promise((t,i)=>{try{const r={},n=this.db.transaction([e],"readonly").objectStore(e).openCursor();n.onsuccess=(()=>{const e=n.result;e?(r[e.key]=e.value,e.continue()):t(r)}),n.onerror=(()=>{this.logOperationError("GET_ALL",n.error,s.GET_ALL,!0),i(n.error)})}catch(e){this.logOperationError("GET_ALL",e,s.GET_ALL_CODE),i(e)}})})}logOperationError(e,t,i,r=!1){const o=`DB${r?" transaction":""} error ${e}`,s=t;this.errorHandler.sendError(o,s,i),n.Logger.error(`${o}: ${s}`)}}},"./src/sw-template/utils/logger.ts":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.Logger=class{static log(e,...t){return console.log("🔔",e,...t),e}static info(e,...t){return console.info("🔔",e,...t),e}static warn(e,...t){return console.warn("🔔",e,...t),e}static error(e,...t){return console.error("🔔",e,...t),e}static debug(e,...t){return console.debug("🔔",e,...t),e}}},1:function(e,t,i){e.exports=i("./src/sdk-template/https.ts")}});