{"version":3,"file":"scripts.b03d97e6aea1cc12faf9.js","mappings":"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","sources":["client-code/src/polyfills/closest.js","client-code/src/polyfills/object-fit-images.js","client-code/src/polyfills/remove.js","client-code/src/polyfills/requestAnimationFrame.js","node_modules/fuckadblock/fuckadblock.js","client-code/src/vendor/loggly/loggly.js","client-code/src/outside-app/adblock-notice/adblock-notice.js"],"sourcesContent":["// element-closest | CC0-1.0 | github.com/jonathantneal/closest\r\n\r\nif (typeof Element.prototype.matches !== 'function') {\r\n    Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.webkitMatchesSelector || function matches(selector) {\r\n        var element = this;\r\n        var elements = (element.document || element.ownerDocument).querySelectorAll(selector);\r\n        var index = 0;\r\n\r\n        while (elements[index] && elements[index] !== element) {\r\n            ++index;\r\n        }\r\n\r\n        return Boolean(elements[index]);\r\n    };\r\n}\r\n\r\nif (typeof Element.prototype.closest !== 'function') {\r\n    Element.prototype.closest = function closest(selector) {\r\n        var element = this;\r\n\r\n        while (element && element.nodeType === 1) {\r\n            if (element.matches(selector)) {\r\n                return element;\r\n            }\r\n\r\n            element = element.parentNode;\r\n        }\r\n\r\n        return null;\r\n    };\r\n}\r\n","/*! npm.im/object-fit-images 3.2.3 */\r\n(function() {\r\n    'use strict';\r\n\r\n    var OFI = 'bfred-it:object-fit-images';\r\n    var propRegex = /(object-fit|object-position)\\s*:\\s*([-\\w\\s%]+)/g;\r\n    var testImg = typeof Image === 'undefined' ? { style: { 'object-position': 1 } } : new Image();\r\n    var supportsObjectFit = 'object-fit' in testImg.style;\r\n    var supportsObjectPosition = 'object-position' in testImg.style;\r\n    var supportsOFI = 'background-size' in testImg.style;\r\n    var supportsCurrentSrc = typeof testImg.currentSrc === 'string';\r\n    var nativeGetAttribute = testImg.getAttribute;\r\n    var nativeSetAttribute = testImg.setAttribute;\r\n    var autoModeEnabled = false;\r\n\r\n    function createPlaceholder(w, h) {\r\n        return (\r\n            \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='\" +\r\n            w +\r\n            \"' height='\" +\r\n            h +\r\n            \"'%3E%3C/svg%3E\"\r\n        );\r\n    }\r\n\r\n    function polyfillCurrentSrc(el) {\r\n        if (el.srcset && !supportsCurrentSrc && window.picturefill) {\r\n            var pf = window.picturefill._;\r\n            // parse srcset with picturefill where currentSrc isn't available\r\n            if (!el[pf.ns] || !el[pf.ns].evaled) {\r\n                // force synchronous srcset parsing\r\n                pf.fillImg(el, { reselect: true });\r\n            }\r\n\r\n            if (!el[pf.ns].curSrc) {\r\n                // force picturefill to parse srcset\r\n                el[pf.ns].supported = false;\r\n                pf.fillImg(el, { reselect: true });\r\n            }\r\n\r\n            // retrieve parsed currentSrc, if any\r\n            el.currentSrc = el[pf.ns].curSrc || el.src;\r\n        }\r\n    }\r\n\r\n    function getStyle(el) {\r\n        var style = getComputedStyle(el).fontFamily;\r\n        var parsed;\r\n        var props = {};\r\n        while ((parsed = propRegex.exec(style)) !== null) {\r\n            props[parsed[1]] = parsed[2];\r\n        }\r\n        return props;\r\n    }\r\n\r\n    function setPlaceholder(img, width, height) {\r\n        // Default: fill width, no height\r\n        var placeholder = createPlaceholder(width || 1, height || 0);\r\n\r\n        // Only set placeholder if it's different\r\n        if (nativeGetAttribute.call(img, 'src') !== placeholder) {\r\n            nativeSetAttribute.call(img, 'src', placeholder);\r\n        }\r\n    }\r\n\r\n    function onImageReady(img, callback) {\r\n        // naturalWidth is only available when the image headers are loaded,\r\n        // this loop will poll it every 100ms.\r\n        if (img.naturalWidth) {\r\n            callback(img);\r\n        } else {\r\n            setTimeout(onImageReady, 100, img, callback);\r\n        }\r\n    }\r\n\r\n    function fixOne(el) {\r\n        var style = getStyle(el);\r\n        var ofi = el[OFI];\r\n        style['object-fit'] = style['object-fit'] || 'fill'; // default value\r\n\r\n        // Avoid running where unnecessary, unless OFI had already done its deed\r\n        if (!ofi.img) {\r\n            // fill is the default behavior so no action is necessary\r\n            if (style['object-fit'] === 'fill') {\r\n                return;\r\n            }\r\n\r\n            // Where object-fit is supported and object-position isn't (Safari < 10)\r\n            if (\r\n                !ofi.skipTest && // unless user wants to apply regardless of browser support\r\n                supportsObjectFit && // if browser already supports object-fit\r\n                !style['object-position'] // unless object-position is used\r\n            ) {\r\n                return;\r\n            }\r\n        }\r\n\r\n        // keep a clone in memory while resetting the original to a blank\r\n        if (!ofi.img) {\r\n            ofi.img = new Image(el.width, el.height);\r\n            ofi.img.srcset = nativeGetAttribute.call(el, 'data-ofi-srcset') || el.srcset;\r\n            ofi.img.src = nativeGetAttribute.call(el, 'data-ofi-src') || el.src;\r\n\r\n            // preserve for any future cloneNode calls\r\n            // https://github.com/bfred-it/object-fit-images/issues/53\r\n            nativeSetAttribute.call(el, 'data-ofi-src', el.src);\r\n            if (el.srcset) {\r\n                nativeSetAttribute.call(el, 'data-ofi-srcset', el.srcset);\r\n            }\r\n\r\n            setPlaceholder(el, el.naturalWidth || el.width, el.naturalHeight || el.height);\r\n\r\n            // remove srcset because it overrides src\r\n            if (el.srcset) {\r\n                el.srcset = '';\r\n            }\r\n            try {\r\n                keepSrcUsable(el);\r\n            } catch (err) {\r\n                if (window.console) {\r\n                    console.warn('https://bit.ly/ofi-old-browser');\r\n                }\r\n            }\r\n        }\r\n\r\n        polyfillCurrentSrc(ofi.img);\r\n\r\n        el.style.backgroundImage = 'url(\"' + (ofi.img.currentSrc || ofi.img.src).replace(/\"/g, '\\\\\"') + '\")';\r\n        el.style.backgroundPosition = style['object-position'] || 'center';\r\n        el.style.backgroundRepeat = 'no-repeat';\r\n        el.style.backgroundOrigin = 'content-box';\r\n\r\n        if (/scale-down/.test(style['object-fit'])) {\r\n            onImageReady(ofi.img, function() {\r\n                if (ofi.img.naturalWidth > el.width || ofi.img.naturalHeight > el.height) {\r\n                    el.style.backgroundSize = 'contain';\r\n                } else {\r\n                    el.style.backgroundSize = 'auto';\r\n                }\r\n            });\r\n        } else {\r\n            el.style.backgroundSize = style['object-fit'].replace('none', 'auto').replace('fill', '100% 100%');\r\n        }\r\n\r\n        onImageReady(ofi.img, function(img) {\r\n            setPlaceholder(el, img.naturalWidth, img.naturalHeight);\r\n        });\r\n    }\r\n\r\n    function keepSrcUsable(el) {\r\n        var descriptors = {\r\n            get: function get(prop) {\r\n                return el[OFI].img[prop ? prop : 'src'];\r\n            },\r\n            set: function set(value, prop) {\r\n                el[OFI].img[prop ? prop : 'src'] = value;\r\n                nativeSetAttribute.call(el, 'data-ofi-' + prop, value); // preserve for any future cloneNode\r\n                fixOne(el);\r\n                return value;\r\n            },\r\n        };\r\n        Object.defineProperty(el, 'src', descriptors);\r\n        Object.defineProperty(el, 'currentSrc', {\r\n            get: function() {\r\n                return descriptors.get('currentSrc');\r\n            },\r\n        });\r\n        Object.defineProperty(el, 'srcset', {\r\n            get: function() {\r\n                return descriptors.get('srcset');\r\n            },\r\n            set: function(ss) {\r\n                return descriptors.set(ss, 'srcset');\r\n            },\r\n        });\r\n    }\r\n\r\n    function hijackAttributes() {\r\n        function getOfiImageMaybe(el, name) {\r\n            return el[OFI] && el[OFI].img && (name === 'src' || name === 'srcset') ? el[OFI].img : el;\r\n        }\r\n        if (!supportsObjectPosition) {\r\n            HTMLImageElement.prototype.getAttribute = function(name) {\r\n                return nativeGetAttribute.call(getOfiImageMaybe(this, name), name);\r\n            };\r\n\r\n            HTMLImageElement.prototype.setAttribute = function(name, value) {\r\n                return nativeSetAttribute.call(getOfiImageMaybe(this, name), name, String(value));\r\n            };\r\n        }\r\n    }\r\n\r\n    function fix(imgs, opts) {\r\n        var startAutoMode = !autoModeEnabled && !imgs;\r\n        opts = opts || {};\r\n        imgs = imgs || 'img';\r\n\r\n        if ((supportsObjectPosition && !opts.skipTest) || !supportsOFI) {\r\n            return false;\r\n        }\r\n\r\n        // use imgs as a selector or just select all images\r\n        if (imgs === 'img') {\r\n            imgs = document.getElementsByTagName('img');\r\n        } else if (typeof imgs === 'string') {\r\n            imgs = document.querySelectorAll(imgs);\r\n        } else if (!('length' in imgs)) {\r\n            imgs = [imgs];\r\n        }\r\n\r\n        // apply fix to all\r\n        for (let value of imgs) {\r\n            value[OFI] = value[OFI] || {\r\n                skipTest: opts.skipTest,\r\n            };\r\n            fixOne(value);\r\n        }\r\n\r\n        if (startAutoMode) {\r\n            document.body.addEventListener(\r\n                'load',\r\n                function(e) {\r\n                    if (e.target.tagName === 'IMG') {\r\n                        fix(e.target, {\r\n                            skipTest: opts.skipTest,\r\n                        });\r\n                    }\r\n                },\r\n                true\r\n            );\r\n            autoModeEnabled = true;\r\n            imgs = 'img'; // reset to a generic selector for watchMQ\r\n        }\r\n\r\n        // if requested, watch media queries for object-fit change\r\n        if (opts.watchMQ) {\r\n            window.addEventListener(\r\n                'resize',\r\n                fix.bind(null, imgs, {\r\n                    skipTest: opts.skipTest,\r\n                })\r\n            );\r\n        }\r\n    }\r\n\r\n    fix.supportsObjectFit = supportsObjectFit;\r\n    fix.supportsObjectPosition = supportsObjectPosition;\r\n\r\n    hijackAttributes();\r\n\r\n    return fix;\r\n})()();\r\n","(function() {\n    var arrW = [window.Element, window.CharacterData, window.DocumentType];\n    var args = [];\n\n    arrW.forEach(function(item) {\n        if (item) {\n            args.push(item.prototype);\n        }\n    });\n\n    (function(arr) {\n        arr.forEach(function(item) {\n            if (item.hasOwnProperty('remove')) {\n                return;\n            }\n            Object.defineProperty(item, 'remove', {\n                configurable: true,\n                enumerable: true,\n                writable: true,\n                value: function remove() {\n                    this.parentNode.removeChild(this);\n                },\n            });\n        });\n    })(args);\n})();\n","if (!window.requestAnimationFrame) {\r\n    window.requestAnimationFrame = (function () {\r\n        return window.webkitRequestAnimationFrame ||\r\n            window.mozRequestAnimationFrame ||\r\n            window.oRequestAnimationFrame ||\r\n            window.msRequestAnimationFrame ||\r\n            function ( /* function FrameRequestCallback */ callback, /* DOMElement Element */ element) {\r\n                window.setTimeout(callback, 1000 / 60);\r\n            };\r\n    })();\r\n}\r\n","/*\r\n * FuckAdBlock 3.2.1\r\n * Copyright (c) 2015 Valentin Allaire <valentin.allaire@sitexw.fr>\r\n * Released under the MIT license\r\n * https://github.com/sitexw/FuckAdBlock\r\n */\r\n\r\n(function(window) {\r\n\tvar FuckAdBlock = function(options) {\r\n\t\tthis._options = {\r\n\t\t\tcheckOnLoad:\t\tfalse,\r\n\t\t\tresetOnEnd:\t\t\tfalse,\r\n\t\t\tloopCheckTime:\t\t50,\r\n\t\t\tloopMaxNumber:\t\t5,\r\n\t\t\tbaitClass:\t\t\t'pub_300x250 pub_300x250m pub_728x90 text-ad textAd text_ad text_ads text-ads text-ad-links',\r\n\t\t\tbaitStyle:\t\t\t'width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;',\r\n\t\t\tdebug:\t\t\t\tfalse\r\n\t\t};\r\n\t\tthis._var = {\r\n\t\t\tversion:\t\t\t'3.2.1',\r\n\t\t\tbait:\t\t\t\tnull,\r\n\t\t\tchecking:\t\t\tfalse,\r\n\t\t\tloop:\t\t\t\tnull,\r\n\t\t\tloopNumber:\t\t\t0,\r\n\t\t\tevent:\t\t\t\t{ detected: [], notDetected: [] }\r\n\t\t};\r\n\t\tif(options !== undefined) {\r\n\t\t\tthis.setOption(options);\r\n\t\t}\r\n\t\tvar self = this;\r\n\t\tvar eventCallback = function() {\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tif(self._options.checkOnLoad === true) {\r\n\t\t\t\t\tif(self._options.debug === true) {\r\n\t\t\t\t\t\tself._log('onload->eventCallback', 'A check loading is launched');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(self._var.bait === null) {\r\n\t\t\t\t\t\tself._creatBait();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tself.check();\r\n\t\t\t\t\t}, 1);\r\n\t\t\t\t}\r\n\t\t\t}, 1);\r\n\t\t};\r\n\t\tif(window.addEventListener !== undefined) {\r\n\t\t\twindow.addEventListener('load', eventCallback, false);\r\n\t\t} else {\r\n\t\t\twindow.attachEvent('onload', eventCallback);\r\n\t\t}\r\n\t};\r\n\tFuckAdBlock.prototype._options = null;\r\n\tFuckAdBlock.prototype._var = null;\r\n\tFuckAdBlock.prototype._bait = null;\r\n\t\r\n\tFuckAdBlock.prototype._log = function(method, message) {\r\n\t\tconsole.log('[FuckAdBlock]['+method+'] '+message);\r\n\t};\r\n\t\r\n\tFuckAdBlock.prototype.setOption = function(options, value) {\r\n\t\tif(value !== undefined) {\r\n\t\t\tvar key = options;\r\n\t\t\toptions = {};\r\n\t\t\toptions[key] = value;\r\n\t\t}\r\n\t\tfor(var option in options) {\r\n\t\t\tthis._options[option] = options[option];\r\n\t\t\tif(this._options.debug === true) {\r\n\t\t\t\tthis._log('setOption', 'The option \"'+option+'\" he was assigned to \"'+options[option]+'\"');\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this;\r\n\t};\r\n\t\r\n\tFuckAdBlock.prototype._creatBait = function() {\r\n\t\tvar bait = document.createElement('div');\r\n\t\t\tbait.setAttribute('class', this._options.baitClass);\r\n\t\t\tbait.setAttribute('style', this._options.baitStyle);\r\n\t\tthis._var.bait = window.document.body.appendChild(bait);\r\n\t\t\r\n\t\tthis._var.bait.offsetParent;\r\n\t\tthis._var.bait.offsetHeight;\r\n\t\tthis._var.bait.offsetLeft;\r\n\t\tthis._var.bait.offsetTop;\r\n\t\tthis._var.bait.offsetWidth;\r\n\t\tthis._var.bait.clientHeight;\r\n\t\tthis._var.bait.clientWidth;\r\n\t\t\r\n\t\tif(this._options.debug === true) {\r\n\t\t\tthis._log('_creatBait', 'Bait has been created');\r\n\t\t}\r\n\t};\r\n\tFuckAdBlock.prototype._destroyBait = function() {\r\n\t\twindow.document.body.removeChild(this._var.bait);\r\n\t\tthis._var.bait = null;\r\n\t\t\r\n\t\tif(this._options.debug === true) {\r\n\t\t\tthis._log('_destroyBait', 'Bait has been removed');\r\n\t\t}\r\n\t};\r\n\t\r\n\tFuckAdBlock.prototype.check = function(loop) {\r\n\t\tif(loop === undefined) {\r\n\t\t\tloop = true;\r\n\t\t}\r\n\t\t\r\n\t\tif(this._options.debug === true) {\r\n\t\t\tthis._log('check', 'An audit was requested '+(loop===true?'with a':'without')+' loop');\r\n\t\t}\r\n\t\t\r\n\t\tif(this._var.checking === true) {\r\n\t\t\tif(this._options.debug === true) {\r\n\t\t\t\tthis._log('check', 'A check was canceled because there is already an ongoing');\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tthis._var.checking = true;\r\n\t\t\r\n\t\tif(this._var.bait === null) {\r\n\t\t\tthis._creatBait();\r\n\t\t}\r\n\t\t\r\n\t\tvar self = this;\r\n\t\tthis._var.loopNumber = 0;\r\n\t\tif(loop === true) {\r\n\t\t\tthis._var.loop = setInterval(function() {\r\n\t\t\t\tself._checkBait(loop);\r\n\t\t\t}, this._options.loopCheckTime);\r\n\t\t}\r\n\t\tsetTimeout(function() {\r\n\t\t\tself._checkBait(loop);\r\n\t\t}, 1);\r\n\t\tif(this._options.debug === true) {\r\n\t\t\tthis._log('check', 'A check is in progress ...');\r\n\t\t}\r\n\t\t\r\n\t\treturn true;\r\n\t};\r\n\tFuckAdBlock.prototype._checkBait = function(loop) {\r\n\t\tvar detected = false;\r\n\t\t\r\n\t\tif(this._var.bait === null) {\r\n\t\t\tthis._creatBait();\r\n\t\t}\r\n\t\t\r\n\t\tif(window.document.body.getAttribute('abp') !== null\r\n\t\t|| this._var.bait.offsetParent === null\r\n\t\t|| this._var.bait.offsetHeight == 0\r\n\t\t|| this._var.bait.offsetLeft == 0\r\n\t\t|| this._var.bait.offsetTop == 0\r\n\t\t|| this._var.bait.offsetWidth == 0\r\n\t\t|| this._var.bait.clientHeight == 0\r\n\t\t|| this._var.bait.clientWidth == 0) {\r\n\t\t\tdetected = true;\r\n\t\t}\r\n\t\tif(window.getComputedStyle !== undefined) {\r\n\t\t\tvar baitTemp = window.getComputedStyle(this._var.bait, null);\r\n\t\t\tif(baitTemp && (baitTemp.getPropertyValue('display') == 'none' || baitTemp.getPropertyValue('visibility') == 'hidden')) {\r\n\t\t\t\tdetected = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tif(this._options.debug === true) {\r\n\t\t\tthis._log('_checkBait', 'A check ('+(this._var.loopNumber+1)+'/'+this._options.loopMaxNumber+' ~'+(1+this._var.loopNumber*this._options.loopCheckTime)+'ms) was conducted and detection is '+(detected===true?'positive':'negative'));\r\n\t\t}\r\n\t\t\r\n\t\tif(loop === true) {\r\n\t\t\tthis._var.loopNumber++;\r\n\t\t\tif(this._var.loopNumber >= this._options.loopMaxNumber) {\r\n\t\t\t\tthis._stopLoop();\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tif(detected === true) {\r\n\t\t\tthis._stopLoop();\r\n\t\t\tthis._destroyBait();\r\n\t\t\tthis.emitEvent(true);\r\n\t\t\tif(loop === true) {\r\n\t\t\t\tthis._var.checking = false;\r\n\t\t\t}\r\n\t\t} else if(this._var.loop === null || loop === false) {\r\n\t\t\tthis._destroyBait();\r\n\t\t\tthis.emitEvent(false);\r\n\t\t\tif(loop === true) {\r\n\t\t\t\tthis._var.checking = false;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tFuckAdBlock.prototype._stopLoop = function(detected) {\r\n\t\tclearInterval(this._var.loop);\r\n\t\tthis._var.loop = null;\r\n\t\tthis._var.loopNumber = 0;\r\n\t\t\r\n\t\tif(this._options.debug === true) {\r\n\t\t\tthis._log('_stopLoop', 'A loop has been stopped');\r\n\t\t}\r\n\t};\r\n\t\r\n\tFuckAdBlock.prototype.emitEvent = function(detected) {\r\n\t\tif(this._options.debug === true) {\r\n\t\t\tthis._log('emitEvent', 'An event with a '+(detected===true?'positive':'negative')+' detection was called');\r\n\t\t}\r\n\t\t\r\n\t\tvar fns = this._var.event[(detected===true?'detected':'notDetected')];\r\n\t\tfor(var i in fns) {\r\n\t\t\tif(this._options.debug === true) {\r\n\t\t\t\tthis._log('emitEvent', 'Call function '+(parseInt(i)+1)+'/'+fns.length);\r\n\t\t\t}\r\n\t\t\tif(fns.hasOwnProperty(i)) {\r\n\t\t\t\tfns[i]();\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(this._options.resetOnEnd === true) {\r\n\t\t\tthis.clearEvent();\r\n\t\t}\r\n\t\treturn this;\r\n\t};\r\n\tFuckAdBlock.prototype.clearEvent = function() {\r\n\t\tthis._var.event.detected = [];\r\n\t\tthis._var.event.notDetected = [];\r\n\t\t\r\n\t\tif(this._options.debug === true) {\r\n\t\t\tthis._log('clearEvent', 'The event list has been cleared');\r\n\t\t}\r\n\t};\r\n\t\r\n\tFuckAdBlock.prototype.on = function(detected, fn) {\r\n\t\tthis._var.event[(detected===true?'detected':'notDetected')].push(fn);\r\n\t\tif(this._options.debug === true) {\r\n\t\t\tthis._log('on', 'A type of event \"'+(detected===true?'detected':'notDetected')+'\" was added');\r\n\t\t}\r\n\t\t\r\n\t\treturn this;\r\n\t};\r\n\tFuckAdBlock.prototype.onDetected = function(fn) {\r\n\t\treturn this.on(true, fn);\r\n\t};\r\n\tFuckAdBlock.prototype.onNotDetected = function(fn) {\r\n\t\treturn this.on(false, fn);\r\n\t};\r\n\t\r\n\twindow.FuckAdBlock = FuckAdBlock;\r\n\t\r\n\tif(window.fuckAdBlock === undefined) {\r\n\t\twindow.fuckAdBlock = new FuckAdBlock({\r\n\t\t\tcheckOnLoad: true,\r\n\t\t\tresetOnEnd: true\r\n\t\t});\r\n\t}\r\n})(window);\r\n","// http://cloudfront.loggly.com/js/loggly.tracker-2.1.js\n(function(window, document) {\n    var LOGGLY_INPUT_PREFIX = 'http' + ( ('https:' === document.location.protocol ? 's' : '') ) + '://',\n        LOGGLY_COLLECTOR_DOMAIN = 'logs-01.loggly.com',\n        LOGGLY_SESSION_KEY = 'logglytrackingsession',\n        LOGGLY_SESSION_KEY_LENGTH = LOGGLY_SESSION_KEY.length + 1,\n        LOGGLY_PROXY_DOMAIN = 'loggly';\n\n    function uuid() {\n        // lifted from here -> http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n        return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n            var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);\n            return v.toString(16);\n        });\n    }\n\n    function LogglyTracker() {\n        this.key = false;\n        this.sendConsoleErrors = false;\n        this.tag = 'jslogger';\n        this.useDomainProxy = false;\n    }\n\n    function setKey(tracker, key) {\n        tracker.key = key;\n        tracker.setSession();\n        setInputUrl(tracker);\n    }\n\n    function setTag(tracker, tag){\n        tracker.tag = tag;\n    }\n\n    function setDomainProxy(tracker, useDomainProxy){\n        tracker.useDomainProxy = useDomainProxy;\n        //refresh inputUrl value\n        setInputUrl(tracker);\n    }\n\n    function setSendConsoleError(tracker, sendConsoleErrors) {\n        tracker.sendConsoleErrors = sendConsoleErrors;\n\n        if(tracker.sendConsoleErrors === true){\n            var _onerror = window.onerror;\n            //send console error messages to Loggly\n            window.onerror = function (msg, url, line, col){\n                tracker.push({\n                    category: 'BrowserJsException',\n                    exception: {\n                        message: msg,\n                        url: url,\n                        lineno: line,\n                        colno: col,\n                    }\n                });\n\n                if (_onerror && typeof _onerror === 'function') {\n                    _onerror.apply(window, arguments);\n                }\n            };\n        }\n    }\n\n    function setInputUrl(tracker) {\n\n        if(tracker.useDomainProxy == true){\n            tracker.inputUrl = LOGGLY_INPUT_PREFIX\n                + window.location.host\n                + '/'\n                + LOGGLY_PROXY_DOMAIN\n                + '/inputs/'\n                + tracker.key\n                + '/tag/'\n                + tracker.tag;\n        }\n        else{\n            tracker.inputUrl = LOGGLY_INPUT_PREFIX\n                + (tracker.logglyCollectorDomain || LOGGLY_COLLECTOR_DOMAIN)\n                + '/inputs/'\n                + tracker.key\n                + '/tag/'\n                + tracker.tag;\n        }\n    }\n\n    LogglyTracker.prototype = {\n        setSession: function(session_id) {\n            if(session_id) {\n                this.session_id = session_id;\n                this.setCookie(this.session_id);\n            } else if(!this.session_id) {\n                this.session_id = this.readCookie();\n                if(!this.session_id) {\n                    this.session_id = uuid();\n                    this.setCookie(this.session_id);\n                }\n            }\n        },\n        push: function(data) {\n            var type = typeof data;\n\n            if( !data || !(type === 'object' || type === 'string') ) {\n                return;\n            }\n\n            var self = this;\n\n\n            if(type === 'string') {\n                data = {\n                    'text': data\n                };\n            } else {\n                if(data.logglyCollectorDomain) {\n                    self.logglyCollectorDomain = data.logglyCollectorDomain;\n                    return;\n                }\n\n                if(data.sendConsoleErrors !== undefined) {\n                    setSendConsoleError(self, data.sendConsoleErrors);\n                }\n\n                if(data.tag) {\n                    setTag(self, data.tag);\n                }\n\n                if(data.useDomainProxy){\n                    setDomainProxy(self, data.useDomainProxy);\n                }\n\n                if(data.logglyKey) {\n                    setKey(self, data.logglyKey);\n                    return;\n                }\n\n                if(data.session_id) {\n                    self.setSession(data.session_id);\n                    return;\n                }\n            }\n\n            if(!self.key) {\n                return;\n            }\n\n            self.track(data);\n\n\n        },\n        track: function(data) {\n            // inject session id\n            data.sessionId = this.session_id;\n\n            try {\n                //creating an asynchronous XMLHttpRequest\n                var xmlHttp = new XMLHttpRequest();\n                xmlHttp.open('POST', this.inputUrl, true); //true for asynchronous request\n                xmlHttp.setRequestHeader('Content-Type', 'text/plain');\n                xmlHttp.send(JSON.stringify(data));\n\n            } catch (ex) {\n                if (window && window.console && typeof window.console.log === 'function') {\n                    console.log(\"Failed to log to loggly because of this exception:\\n\" + ex);\n                    console.log(\"Failed log data:\", data);\n                }\n            }\n        },\n        /**\n         *  These cookie functions are not a global utilities.  It is for purpose of this tracker only\n         */\n        readCookie: function() {\n            var cookie = document.cookie,\n                i = cookie.indexOf(LOGGLY_SESSION_KEY);\n            if(i < 0) {\n                return false;\n            } else {\n                var end = cookie.indexOf(';', i + 1);\n                end = end < 0 ? cookie.length : end;\n                return cookie.slice(i + LOGGLY_SESSION_KEY_LENGTH, end);\n            }\n        },\n        setCookie: function(value) {\n            document.cookie = LOGGLY_SESSION_KEY + '=' + value;\n        }\n    };\n\n    var existing = window._LTracker;\n\n    var tracker = new LogglyTracker();\n\n    if(existing && existing.length ) {\n        var i = 0,\n            eLength = existing.length;\n        for(i = 0; i < eLength; i++) {\n            tracker.push(existing[i]);\n        }\n    }\n\n    window._LTracker = tracker; // default global tracker\n\n    window.LogglyTracker = LogglyTracker;   // if others want to instantiate more than one tracker\n\n})(window, document);","document.addEventListener('DOMContentLoaded', function() {\n    var setAdBlockDisclaimerAgreeCookie = function() {\n        document.cookie = 'adBlockDisclaimerAgree=1; path=/';\n    };\n\n    var getAdBlockDisclaimerAgreeCookie = function() {\n        var matches = document.cookie.match(\n            new RegExp(\n                '(?:^|; )' + 'adBlockDisclaimerAgree'.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)'\n            )\n        );\n        return matches ? matches[1] : undefined;\n    };\n\n    window.acceptAdBlockDisclaimerAgree = function() {\n        var element = document.getElementById('adblock-notice');\n        if (element) {\n            element.style.display = 'none';\n        }\n        setAdBlockDisclaimerAgreeCookie();\n    };\n\n    // Внимание!!! Используются стили из основного приложения!\n\n    var body = document.getElementsByTagName('body')[0];\n    body.innerHTML +=\n        '<div id=\"adblock-notice\" class=\"adblock\" style=\"display: none;\">' +\n        '<div class=\"adblock__in\">' +\n        '<div class=\"adblock__text\">' +\n        'Похоже, что Вы используете блокировщик рекламы (adBlock или другой).<br />' +\n        'Для корректной работы сервиса необходимо отключить блокировщик в Вашем браузере.<br />' +\n        'На нашем сайте нет рекламы. <a href=\"/help/adblock/how-to-disable.html\" target=\"_blank\" rel=\"noopener\">Как это сделать</a>.' +\n        '</div>' +\n        '<span class=\"adblock__close\" title=\"\" onclick=\"acceptAdBlockDisclaimerAgree()\"></span>' +\n        '</div>' +\n        '</div>';\n\n    var fuckAdBlock = new FuckAdBlock({\n        checkOnLoad: true,\n        resetOnEnd: true,\n    });\n\n    fuckAdBlock.onDetected(function() {\n        var isVisible = getAdBlockDisclaimerAgreeCookie() !== '1';\n\n        var element = document.getElementById('adblock-notice');\n        if (isVisible && element) {\n            element.style.display = 'block';\n        }\n    });\n});\n"],"names":["Element","prototype","matches","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","selector","element","this","elements","document","ownerDocument","querySelectorAll","index","Boolean","closest","nodeType","parentNode","OFI","propRegex","testImg","Image","style","supportsObjectFit","supportsObjectPosition","supportsOFI","supportsCurrentSrc","currentSrc","nativeGetAttribute","getAttribute","nativeSetAttribute","setAttribute","autoModeEnabled","setPlaceholder","img","width","height","placeholder","call","onImageReady","callback","naturalWidth","setTimeout","fixOne","el","parsed","getComputedStyle","fontFamily","props","exec","getStyle","ofi","skipTest","srcset","src","naturalHeight","descriptors","get","prop","set","value","Object","defineProperty","ss","keepSrcUsable","err","window","console","warn","picturefill","pf","_","ns","evaled","fillImg","reselect","curSrc","supported","polyfillCurrentSrc","backgroundImage","replace","backgroundPosition","backgroundRepeat","backgroundOrigin","test","backgroundSize","fix","imgs","opts","startAutoMode","getElementsByTagName","body","addEventListener","e","target","tagName","watchMQ","bind","getOfiImageMaybe","name","HTMLImageElement","String","hijackAttributes","arrW","CharacterData","DocumentType","args","forEach","item","push","hasOwnProperty","configurable","enumerable","writable","removeChild","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","FuckAdBlock","options","_options","checkOnLoad","resetOnEnd","loopCheckTime","loopMaxNumber","baitClass","baitStyle","debug","_var","version","bait","checking","loop","loopNumber","event","detected","notDetected","undefined","setOption","self","eventCallback","_log","_creatBait","check","attachEvent","_bait","method","message","log","key","option","createElement","appendChild","offsetParent","offsetHeight","offsetLeft","offsetTop","offsetWidth","clientHeight","clientWidth","_destroyBait","setInterval","_checkBait","baitTemp","getPropertyValue","_stopLoop","emitEvent","clearInterval","fns","i","parseInt","length","clearEvent","on","fn","onDetected","onNotDetected","fuckAdBlock","LOGGLY_INPUT_PREFIX","location","protocol","LOGGLY_COLLECTOR_DOMAIN","LOGGLY_SESSION_KEY","LOGGLY_PROXY_DOMAIN","LogglyTracker","sendConsoleErrors","tag","useDomainProxy","setInputUrl","tracker","inputUrl","host","logglyCollectorDomain","setSession","session_id","setCookie","readCookie","c","r","Math","random","toString","data","type","_onerror","onerror","msg","url","line","col","category","exception","lineno","colno","apply","arguments","setSendConsoleError","setTag","setDomainProxy","logglyKey","setKey","track","sessionId","xmlHttp","XMLHttpRequest","open","setRequestHeader","send","JSON","stringify","ex","cookie","indexOf","end","slice","existing","_LTracker","eLength","acceptAdBlockDisclaimerAgree","getElementById","display","innerHTML","isVisible","match","RegExp"],"sourceRoot":"webpack:///"}