{"version":3,"file":"vendors--pictures.chunk.js","mappings":"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","sources":["webpack:///./js/common/pictures.js","webpack:///../../node_modules/imgix.js/dist/imgix.js","webpack:///../../node_modules/lazysizes/lazysizes.js","webpack:///../../node_modules/lazysizes/plugins/respimg/ls.respimg.js"],"sourcesContent":["import { ElementClassExtensions } from 'Utils/global'; // FIXME !!! refactoring required for 'removeClass'\r\nimport 'imgix.js'; // https://www.imgix.com/imgix-js\r\n//import 'Vendors/imgix/imgix.min.js'\r\nimport 'Configs/lazysizesconfig';\r\nimport 'lazysizes/plugins/respimg/ls.respimg';\r\n//import 'lazysizes/plugins/print/ls.print'; // uncomment when need this\r\n//import 'lazysizes/plugins/parent-fit/ls.parent-fit'; // uncomment when need this\r\n//import 'lazysizes/plugins/optimumx/ls.optimumx'; // uncomment when need this\r\n//import 'lazysizes/plugins/aspectratio/ls.aspectratio'; // uncomment when need this\r\nimport lazySizes from 'lazysizes';\r\n\r\n\r\nElementClassExtensions();\r\n\r\nfunction initPictures() {\r\n\r\n /* ixlib param\r\n For security and diagnostic purposes, we default to signing all requests with the language and version of library used to generate the URL.\r\n This can be disabled by setting the includeLibraryParam configuration option to false.\r\n */\r\n window.imgix.config.includeLibraryParam = false;\r\n\r\n // Lazy Loading With lazysizes\r\n window.imgix.config.srcAttribute = 'data-src';\r\n window.imgix.config.srcsetAttribute = 'data-srcset';\r\n window.imgix.config.sizesAttribute = 'data-sizes';\r\n\r\n var update_lazySizes = function () {\r\n window.lazySizesConfig.expand = 370;\r\n window.lazySizesConfig.loadMode = 2;\r\n //window.lazySizesConfig.loadHidden = true;\r\n //lazySizes.loader.checkElems();\r\n\r\n\r\n let elements = document.querySelectorAll('.lazydefer');\r\n elements.forEach(function (element, i) {\r\n element.style.removeProperty('visibility');\r\n //element.style.removeProperty('display');\r\n element.removeClass('lazydefer');\r\n });\r\n };\r\n var cbInitPictures = function () {\r\n imgix.init({\r\n force: true\r\n });\r\n lazySizes.init();\r\n };\r\n\r\n cbInitPictures();\r\n //AppLoader.ready(function () {\r\n //$(document).ready(function () {\r\n window.setTimeout(update_lazySizes, 1000);\r\n //});\r\n}\r\n\r\n// FIXME !!! WebPerformance :: initPictures :: Check what is better\r\n// version 1\r\n//$(document).ready(function () {\r\n// window.setTimeout(initPictures, 500);\r\n//});\r\n//window.addEventListener('load', initPictures);\r\n\r\n// version 2\r\n//AppLoader.ready(function () {\r\n// initPictures();\r\n//});\r\n\r\n// version 3\r\ninitPictures();\r\n","(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i -1) {\n var paramString = this.ixSrcVal.substr(lastQuestion + 1),\n splitParams = paramString.split('&');\n\n for (var i = 0, splitParam; i < splitParams.length; i++) {\n splitParam = splitParams[i].split('=');\n\n params[splitParam[0]] = splitParam[1];\n }\n }\n }\n\n if (this.settings.includeLibraryParam) {\n params.ixlib = 'imgixjs-' + imgix.VERSION;\n }\n\n return params;\n };\n\n ImgixTag.prototype._buildBaseUrl = function() {\n if (this.ixSrcVal) {\n return this.ixSrcVal;\n }\n\n var path = this.ixPathVal,\n protocol = this.settings.useHttps ? 'https' : 'http',\n url = protocol + '://' + this.ixHostVal,\n hostEndsWithSlash = this.ixHostVal.substr(-1) === '/',\n pathStartsWithSlash = path[0] === '/';\n\n // Make sure we don't end up with 2 or 0 slashes between\n // the host and path portions of the generated URL\n if (hostEndsWithSlash && pathStartsWithSlash) {\n url += path.substr(1);\n } else if (!hostEndsWithSlash && !pathStartsWithSlash) {\n url += '/' + path;\n } else {\n url += path;\n }\n\n url += '?';\n var params = [],\n param;\n for (var key in this.baseParams) {\n param = this.baseParams[key];\n if (param == null) {\n continue;\n }\n\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(param));\n }\n\n url += params.join('&');\n\n return url;\n };\n\n ImgixTag.prototype._buildSrcsetPair = function(targetWidth) {\n var clonedParams = util.shallowClone(this.baseParams);\n clonedParams.w = targetWidth;\n\n if (this.baseParams.w != null && this.baseParams.h != null) {\n clonedParams.h = Math.round(\n targetWidth * (this.baseParams.h / this.baseParams.w)\n );\n }\n\n var url = this.baseUrlWithoutQuery + '?',\n val,\n params = [];\n for (var key in clonedParams) {\n val = clonedParams[key];\n params.push(key + '=' + val);\n }\n\n url += params.join('&');\n\n return url + ' ' + targetWidth + 'w';\n };\n\n ImgixTag.prototype.src = function() {\n return this.baseUrl;\n };\n\n // Returns a comma-separated list of `url widthDescriptor` pairs,\n // scaled appropriately to the same aspect ratio as the base image\n // as appropriate.\n ImgixTag.prototype.srcset = function() {\n var pairs = [];\n\n for (var i = 0; i < targetWidths.length; i++) {\n pairs.push(this._buildSrcsetPair(targetWidths[i]));\n }\n\n return pairs.join(', ');\n };\n\n ImgixTag.prototype.sizes = function() {\n var existingSizes = this.el.getAttribute('sizes');\n\n if (existingSizes) {\n return existingSizes;\n } else {\n return '100vw';\n }\n };\n\n return ImgixTag;\n})();\n\nmodule.exports = ImgixTag;\n\n},{\"./targetWidths.js\":4,\"./util.js\":5}],2:[function(require,module,exports){\nmodule.exports = {\n // URL assembly\n host: null,\n useHttps: true,\n includeLibraryParam: true,\n defaultParams: {},\n\n // Output element attributes\n srcAttribute: 'src',\n srcsetAttribute: 'srcset',\n sizesAttribute: 'sizes',\n\n // Input element attributes\n srcInputAttribute: 'ix-src',\n pathInputAttribute: 'ix-path',\n paramsInputAttribute: 'ix-params',\n hostInputAttribute: 'ix-host'\n};\n\n},{}],3:[function(require,module,exports){\n(function (global){\nvar ImgixTag = require('./ImgixTag.js'),\n util = require('./util.js'),\n defaultConfig = require('./defaultConfig');\n\nvar VERSION = '3.4.2';\n\nfunction getMetaTagValue(propertyName) {\n var metaTag = document.querySelector(\n 'meta[property=\"ix:' + propertyName + '\"]'\n ),\n metaTagContent;\n\n if (!metaTag) {\n return;\n }\n\n metaTagContent = metaTag.getAttribute('content');\n\n if (metaTagContent === 'true') {\n return true;\n } else if (metaTagContent === 'false') {\n return false;\n } else if (metaTagContent === '' || metaTagContent === 'null') {\n return null;\n } else {\n return metaTagContent;\n }\n}\n\nglobal.imgix = {\n init: function(opts) {\n var settings = util.shallowClone(this.config);\n util.extend(settings, opts || {});\n\n var elementQuery = [\n 'img[' + settings.srcInputAttribute + ']',\n 'source[' + settings.srcInputAttribute + ']',\n 'img[' + settings.pathInputAttribute + ']',\n 'source[' + settings.pathInputAttribute + ']'\n ].join(',');\n\n var allImgandSourceTags = document.querySelectorAll(elementQuery);\n\n for (var i = 0, el; i < allImgandSourceTags.length; i++) {\n new ImgixTag(allImgandSourceTags[i], settings);\n }\n },\n config: defaultConfig,\n VERSION: VERSION\n};\n\nutil.domReady(function() {\n util.objectEach(defaultConfig, function(defaultValue, key) {\n var metaTagValue = getMetaTagValue(key);\n\n if (typeof metaTagValue !== 'undefined') {\n var defaultConfigType = typeof defaultConfig[key];\n // Only allow boolean values for boolean configs\n if (defaultConfigType === 'boolean') {\n global.imgix.config[key] = !!metaTagValue;\n } else if (defaultConfigType === 'object' && defaultConfig[key] != null) {\n global.imgix.config[key] = JSON.parse(metaTagValue) || {};\n } else {\n global.imgix.config[key] = metaTagValue;\n }\n }\n });\n\n if (getMetaTagValue('autoInit') !== false) {\n global.imgix.init();\n }\n});\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"./ImgixTag.js\":1,\"./defaultConfig\":2,\"./util.js\":5}],4:[function(require,module,exports){\nfunction targetWidths() {\n var resolutions = [];\n var prev = 100;\n var INCREMENT_PERCENTAGE = 8;\n var MAX_SIZE = 8192;\n\n function ensureEven(n) {\n return 2 * Math.round(n / 2);\n }\n\n while (prev <= MAX_SIZE) {\n resolutions.push(ensureEven(prev));\n prev *= 1 + (INCREMENT_PERCENTAGE / 100) * 2;\n }\n\n return resolutions;\n}\n\nmodule.exports = targetWidths();\n\n},{}],5:[function(require,module,exports){\nmodule.exports = {\n compact: function(arr) {\n var compactedArr = [];\n\n for (var i = 0; i < arr.length; i++) {\n arr[i] && compactedArr.push(arr[i]);\n }\n\n return compactedArr;\n },\n shallowClone: function(obj) {\n var clone = {};\n\n for (var key in obj) {\n clone[key] = obj[key];\n }\n\n return clone;\n },\n extend: function(dest, source) {\n for (var key in source) {\n dest[key] = source[key];\n }\n\n return dest;\n },\n uniq: function(arr) {\n var n = {},\n r = [],\n i;\n\n for (i = 0; i < arr.length; i++) {\n if (!n[arr[i]]) {\n n[arr[i]] = true;\n r.push(arr[i]);\n }\n }\n\n return r;\n },\n objectEach: function(obj, iterator) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n iterator(obj[key], key);\n }\n }\n },\n isString: function(value) {\n return typeof value === 'string';\n },\n encode64: function(str) {\n var encodedUtf8Str = unescape(encodeURIComponent(str)),\n b64Str = btoa(encodedUtf8Str),\n urlSafeB64Str = b64Str.replace(/\\+/g, '-');\n\n urlSafeB64Str = urlSafeB64Str\n .replace(/\\//g, '_')\n .replace(/\\//g, '_')\n .replace(/\\=+$/, '');\n\n return urlSafeB64Str;\n },\n decode64: function(urlSafeB64Str) {\n var b64Str = urlSafeB64Str.replace(/-/g, '+').replace(/_/g, '/'),\n encodedUtf8Str = atob(b64Str),\n str = decodeURIComponent(escape(encodedUtf8Str));\n\n return str;\n },\n domReady: function(cb) {\n if (document.readyState === 'complete') {\n setTimeout(cb, 0);\n } else if (document.addEventListener) {\n document.addEventListener('DOMContentLoaded', cb, false);\n } else {\n document.attachEvent('onreadystatechange', function() {\n if (document.readyState === 'complete') {\n cb();\n }\n });\n }\n }\n};\n\n},{}]},{},[3]);\n","(function(window, factory) {\n\tvar lazySizes = factory(window, window.document, Date);\n\twindow.lazySizes = lazySizes;\n\tif(typeof module == 'object' && module.exports){\n\t\tmodule.exports = lazySizes;\n\t}\n}(typeof window != 'undefined' ?\n window : {}, function l(window, document, Date) { // Pass in the windoe Date function also for SSR because the Date class can be lost\n\t'use strict';\n\t/*jshint eqnull:true */\n\n\tvar lazysizes, lazySizesCfg;\n\n\t(function(){\n\t\tvar prop;\n\n\t\tvar lazySizesDefaults = {\n\t\t\tlazyClass: 'lazyload',\n\t\t\tloadedClass: 'lazyloaded',\n\t\t\tloadingClass: 'lazyloading',\n\t\t\tpreloadClass: 'lazypreload',\n\t\t\terrorClass: 'lazyerror',\n\t\t\t//strictClass: 'lazystrict',\n\t\t\tautosizesClass: 'lazyautosizes',\n\t\t\tsrcAttr: 'data-src',\n\t\t\tsrcsetAttr: 'data-srcset',\n\t\t\tsizesAttr: 'data-sizes',\n\t\t\t//preloadAfterLoad: false,\n\t\t\tminSize: 40,\n\t\t\tcustomMedia: {},\n\t\t\tinit: true,\n\t\t\texpFactor: 1.5,\n\t\t\thFac: 0.8,\n\t\t\tloadMode: 2,\n\t\t\tloadHidden: true,\n\t\t\tricTimeout: 0,\n\t\t\tthrottleDelay: 125,\n\t\t};\n\n\t\tlazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {};\n\n\t\tfor(prop in lazySizesDefaults){\n\t\t\tif(!(prop in lazySizesCfg)){\n\t\t\t\tlazySizesCfg[prop] = lazySizesDefaults[prop];\n\t\t\t}\n\t\t}\n\t})();\n\n\tif (!document || !document.getElementsByClassName) {\n\t\treturn {\n\t\t\tinit: function () {},\n\t\t\tcfg: lazySizesCfg,\n\t\t\tnoSupport: true,\n\t\t};\n\t}\n\n\tvar docElem = document.documentElement;\n\n\tvar supportPicture = window.HTMLPictureElement;\n\n\tvar _addEventListener = 'addEventListener';\n\n\tvar _getAttribute = 'getAttribute';\n\n\t/**\n\t * Update to bind to window because 'this' becomes null during SSR\n\t * builds.\n\t */\n\tvar addEventListener = window[_addEventListener].bind(window);\n\n\tvar setTimeout = window.setTimeout;\n\n\tvar requestAnimationFrame = window.requestAnimationFrame || setTimeout;\n\n\tvar requestIdleCallback = window.requestIdleCallback;\n\n\tvar regPicture = /^picture$/i;\n\n\tvar loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];\n\n\tvar regClassCache = {};\n\n\tvar forEach = Array.prototype.forEach;\n\n\tvar hasClass = function(ele, cls) {\n\t\tif(!regClassCache[cls]){\n\t\t\tregClassCache[cls] = new RegExp('(\\\\s|^)'+cls+'(\\\\s|$)');\n\t\t}\n\t\treturn regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls];\n\t};\n\n\tvar addClass = function(ele, cls) {\n\t\tif (!hasClass(ele, cls)){\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls);\n\t\t}\n\t};\n\n\tvar removeClass = function(ele, cls) {\n\t\tvar reg;\n\t\tif ((reg = hasClass(ele,cls))) {\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' '));\n\t\t}\n\t};\n\n\tvar addRemoveLoadEvents = function(dom, fn, add){\n\t\tvar action = add ? _addEventListener : 'removeEventListener';\n\t\tif(add){\n\t\t\taddRemoveLoadEvents(dom, fn);\n\t\t}\n\t\tloadEvents.forEach(function(evt){\n\t\t\tdom[action](evt, fn);\n\t\t});\n\t};\n\n\tvar triggerEvent = function(elem, name, detail, noBubbles, noCancelable){\n\t\tvar event = document.createEvent('Event');\n\n\t\tif(!detail){\n\t\t\tdetail = {};\n\t\t}\n\n\t\tdetail.instance = lazysizes;\n\n\t\tevent.initEvent(name, !noBubbles, !noCancelable);\n\n\t\tevent.detail = detail;\n\n\t\telem.dispatchEvent(event);\n\t\treturn event;\n\t};\n\n\tvar updatePolyfill = function (el, full){\n\t\tvar polyfill;\n\t\tif( !supportPicture && ( polyfill = (window.picturefill || lazySizesCfg.pf) ) ){\n\t\t\tif(full && full.src && !el[_getAttribute]('srcset')){\n\t\t\t\tel.setAttribute('srcset', full.src);\n\t\t\t}\n\t\t\tpolyfill({reevaluate: true, elements: [el]});\n\t\t} else if(full && full.src){\n\t\t\tel.src = full.src;\n\t\t}\n\t};\n\n\tvar getCSS = function (elem, style){\n\t\treturn (getComputedStyle(elem, null) || {})[style];\n\t};\n\n\tvar getWidth = function(elem, parent, width){\n\t\twidth = width || elem.offsetWidth;\n\n\t\twhile(width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth){\n\t\t\twidth = parent.offsetWidth;\n\t\t\tparent = parent.parentNode;\n\t\t}\n\n\t\treturn width;\n\t};\n\n\tvar rAF = (function(){\n\t\tvar running, waiting;\n\t\tvar firstFns = [];\n\t\tvar secondFns = [];\n\t\tvar fns = firstFns;\n\n\t\tvar run = function(){\n\t\t\tvar runFns = fns;\n\n\t\t\tfns = firstFns.length ? secondFns : firstFns;\n\n\t\t\trunning = true;\n\t\t\twaiting = false;\n\n\t\t\twhile(runFns.length){\n\t\t\t\trunFns.shift()();\n\t\t\t}\n\n\t\t\trunning = false;\n\t\t};\n\n\t\tvar rafBatch = function(fn, queue){\n\t\t\tif(running && !queue){\n\t\t\t\tfn.apply(this, arguments);\n\t\t\t} else {\n\t\t\t\tfns.push(fn);\n\n\t\t\t\tif(!waiting){\n\t\t\t\t\twaiting = true;\n\t\t\t\t\t(document.hidden ? setTimeout : requestAnimationFrame)(run);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\trafBatch._lsFlush = run;\n\n\t\treturn rafBatch;\n\t})();\n\n\tvar rAFIt = function(fn, simple){\n\t\treturn simple ?\n\t\t\tfunction() {\n\t\t\t\trAF(fn);\n\t\t\t} :\n\t\t\tfunction(){\n\t\t\t\tvar that = this;\n\t\t\t\tvar args = arguments;\n\t\t\t\trAF(function(){\n\t\t\t\t\tfn.apply(that, args);\n\t\t\t\t});\n\t\t\t}\n\t\t;\n\t};\n\n\tvar throttle = function(fn){\n\t\tvar running;\n\t\tvar lastTime = 0;\n\t\tvar gDelay = lazySizesCfg.throttleDelay;\n\t\tvar rICTimeout = lazySizesCfg.ricTimeout;\n\t\tvar run = function(){\n\t\t\trunning = false;\n\t\t\tlastTime = Date.now();\n\t\t\tfn();\n\t\t};\n\t\tvar idleCallback = requestIdleCallback && rICTimeout > 49 ?\n\t\t\tfunction(){\n\t\t\t\trequestIdleCallback(run, {timeout: rICTimeout});\n\n\t\t\t\tif(rICTimeout !== lazySizesCfg.ricTimeout){\n\t\t\t\t\trICTimeout = lazySizesCfg.ricTimeout;\n\t\t\t\t}\n\t\t\t} :\n\t\t\trAFIt(function(){\n\t\t\t\tsetTimeout(run);\n\t\t\t}, true)\n\t\t;\n\n\t\treturn function(isPriority){\n\t\t\tvar delay;\n\n\t\t\tif((isPriority = isPriority === true)){\n\t\t\t\trICTimeout = 33;\n\t\t\t}\n\n\t\t\tif(running){\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\trunning = true;\n\n\t\t\tdelay = gDelay - (Date.now() - lastTime);\n\n\t\t\tif(delay < 0){\n\t\t\t\tdelay = 0;\n\t\t\t}\n\n\t\t\tif(isPriority || delay < 9){\n\t\t\t\tidleCallback();\n\t\t\t} else {\n\t\t\t\tsetTimeout(idleCallback, delay);\n\t\t\t}\n\t\t};\n\t};\n\n\t//based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html\n\tvar debounce = function(func) {\n\t\tvar timeout, timestamp;\n\t\tvar wait = 99;\n\t\tvar run = function(){\n\t\t\ttimeout = null;\n\t\t\tfunc();\n\t\t};\n\t\tvar later = function() {\n\t\t\tvar last = Date.now() - timestamp;\n\n\t\t\tif (last < wait) {\n\t\t\t\tsetTimeout(later, wait - last);\n\t\t\t} else {\n\t\t\t\t(requestIdleCallback || run)(run);\n\t\t\t}\n\t\t};\n\n\t\treturn function() {\n\t\t\ttimestamp = Date.now();\n\n\t\t\tif (!timeout) {\n\t\t\t\ttimeout = setTimeout(later, wait);\n\t\t\t}\n\t\t};\n\t};\n\n\tvar loader = (function(){\n\t\tvar preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\n\n\t\tvar eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;\n\n\t\tvar regImg = /^img$/i;\n\t\tvar regIframe = /^iframe$/i;\n\n\t\tvar supportScroll = ('onscroll' in window) && !(/(gle|ing)bot/.test(navigator.userAgent));\n\n\t\tvar shrinkExpand = 0;\n\t\tvar currentExpand = 0;\n\n\t\tvar isLoading = 0;\n\t\tvar lowRuns = -1;\n\n\t\tvar resetPreloading = function(e){\n\t\t\tisLoading--;\n\t\t\tif(!e || isLoading < 0 || !e.target){\n\t\t\t\tisLoading = 0;\n\t\t\t}\n\t\t};\n\n\t\tvar isVisible = function (elem) {\n\t\t\tif (isBodyHidden == null) {\n\t\t\t\tisBodyHidden = getCSS(document.body, 'visibility') == 'hidden';\n\t\t\t}\n\n\t\t\treturn isBodyHidden || !(getCSS(elem.parentNode, 'visibility') == 'hidden' && getCSS(elem, 'visibility') == 'hidden');\n\t\t};\n\n\t\tvar isNestedVisible = function(elem, elemExpand){\n\t\t\tvar outerRect;\n\t\t\tvar parent = elem;\n\t\t\tvar visible = isVisible(elem);\n\n\t\t\teLtop -= elemExpand;\n\t\t\teLbottom += elemExpand;\n\t\t\teLleft -= elemExpand;\n\t\t\teLright += elemExpand;\n\n\t\t\twhile(visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem){\n\t\t\t\tvisible = ((getCSS(parent, 'opacity') || 1) > 0);\n\n\t\t\t\tif(visible && getCSS(parent, 'overflow') != 'visible'){\n\t\t\t\t\touterRect = parent.getBoundingClientRect();\n\t\t\t\t\tvisible = eLright > outerRect.left &&\n\t\t\t\t\t\teLleft < outerRect.right &&\n\t\t\t\t\t\teLbottom > outerRect.top - 1 &&\n\t\t\t\t\t\teLtop < outerRect.bottom + 1\n\t\t\t\t\t;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn visible;\n\t\t};\n\n\t\tvar checkElements = function() {\n\t\t\tvar eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal,\n\t\t\t\tbeforeExpandVal, defaultExpand, preloadExpand, hFac;\n\t\t\tvar lazyloadElems = lazysizes.elements;\n\n\t\t\tif((loadMode = lazySizesCfg.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){\n\n\t\t\t\ti = 0;\n\n\t\t\t\tlowRuns++;\n\n\t\t\t\tfor(; i < eLlen; i++){\n\n\t\t\t\t\tif(!lazyloadElems[i] || lazyloadElems[i]._lazyRace){continue;}\n\n\t\t\t\t\tif(!supportScroll || (lazysizes.prematureUnveil && lazysizes.prematureUnveil(lazyloadElems[i]))){unveilElement(lazyloadElems[i]);continue;}\n\n\t\t\t\t\tif(!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)){\n\t\t\t\t\t\telemExpand = currentExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!defaultExpand) {\n\t\t\t\t\t\tdefaultExpand = (!lazySizesCfg.expand || lazySizesCfg.expand < 1) ?\n\t\t\t\t\t\t\tdocElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 :\n\t\t\t\t\t\t\tlazySizesCfg.expand;\n\n\t\t\t\t\t\tlazysizes._defEx = defaultExpand;\n\n\t\t\t\t\t\tpreloadExpand = defaultExpand * lazySizesCfg.expFactor;\n\t\t\t\t\t\thFac = lazySizesCfg.hFac;\n\t\t\t\t\t\tisBodyHidden = null;\n\n\t\t\t\t\t\tif(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){\n\t\t\t\t\t\t\tcurrentExpand = preloadExpand;\n\t\t\t\t\t\t\tlowRuns = 0;\n\t\t\t\t\t\t} else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){\n\t\t\t\t\t\t\tcurrentExpand = defaultExpand;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcurrentExpand = shrinkExpand;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif(beforeExpandVal !== elemExpand){\n\t\t\t\t\t\teLvW = innerWidth + (elemExpand * hFac);\n\t\t\t\t\t\telvH = innerHeight + elemExpand;\n\t\t\t\t\t\telemNegativeExpand = elemExpand * -1;\n\t\t\t\t\t\tbeforeExpandVal = elemExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\trect = lazyloadElems[i].getBoundingClientRect();\n\n\t\t\t\t\tif ((eLbottom = rect.bottom) >= elemNegativeExpand &&\n\t\t\t\t\t\t(eLtop = rect.top) <= elvH &&\n\t\t\t\t\t\t(eLright = rect.right) >= elemNegativeExpand * hFac &&\n\t\t\t\t\t\t(eLleft = rect.left) <= eLvW &&\n\t\t\t\t\t\t(eLbottom || eLright || eLleft || eLtop) &&\n\t\t\t\t\t\t(lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) &&\n\t\t\t\t\t\t((isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4)) || isNestedVisible(lazyloadElems[i], elemExpand))){\n\t\t\t\t\t\tunveilElement(lazyloadElems[i]);\n\t\t\t\t\t\tloadedSomething = true;\n\t\t\t\t\t\tif(isLoading > 9){break;}\n\t\t\t\t\t} else if(!loadedSomething && isCompleted && !autoLoadElem &&\n\t\t\t\t\t\tisLoading < 4 && lowRuns < 4 && loadMode > 2 &&\n\t\t\t\t\t\t(preloadElems[0] || lazySizesCfg.preloadAfterLoad) &&\n\t\t\t\t\t\t(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) != 'auto')))){\n\t\t\t\t\t\tautoLoadElem = preloadElems[0] || lazyloadElems[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(autoLoadElem && !loadedSomething){\n\t\t\t\t\tunveilElement(autoLoadElem);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar throttledCheckElements = throttle(checkElements);\n\n\t\tvar switchLoadingClass = function(e){\n\t\t\tvar elem = e.target;\n\n\t\t\tif (elem._lazyCache) {\n\t\t\t\tdelete elem._lazyCache;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresetPreloading(e);\n\t\t\taddClass(elem, lazySizesCfg.loadedClass);\n\t\t\tremoveClass(elem, lazySizesCfg.loadingClass);\n\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass);\n\t\t\ttriggerEvent(elem, 'lazyloaded');\n\t\t};\n\t\tvar rafedSwitchLoadingClass = rAFIt(switchLoadingClass);\n\t\tvar rafSwitchLoadingClass = function(e){\n\t\t\trafedSwitchLoadingClass({target: e.target});\n\t\t};\n\n\t\tvar changeIframeSrc = function(elem, src){\n\t\t\ttry {\n\t\t\t\telem.contentWindow.location.replace(src);\n\t\t\t} catch(e){\n\t\t\t\telem.src = src;\n\t\t\t}\n\t\t};\n\n\t\tvar handleSources = function(source){\n\t\t\tvar customMedia;\n\n\t\t\tvar sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr);\n\n\t\t\tif( (customMedia = lazySizesCfg.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) ){\n\t\t\t\tsource.setAttribute('media', customMedia);\n\t\t\t}\n\n\t\t\tif(sourceSrcset){\n\t\t\t\tsource.setAttribute('srcset', sourceSrcset);\n\t\t\t}\n\t\t};\n\n\t\tvar lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg){\n\t\t\tvar src, srcset, parent, isPicture, event, firesLoad;\n\n\t\t\tif(!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented){\n\n\t\t\t\tif(sizes){\n\t\t\t\t\tif(isAuto){\n\t\t\t\t\t\taddClass(elem, lazySizesCfg.autosizesClass);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.setAttribute('sizes', sizes);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tsrcset = elem[_getAttribute](lazySizesCfg.srcsetAttr);\n\t\t\t\tsrc = elem[_getAttribute](lazySizesCfg.srcAttr);\n\n\t\t\t\tif(isImg) {\n\t\t\t\t\tparent = elem.parentNode;\n\t\t\t\t\tisPicture = parent && regPicture.test(parent.nodeName || '');\n\t\t\t\t}\n\n\t\t\t\tfiresLoad = detail.firesLoad || (('src' in elem) && (srcset || src || isPicture));\n\n\t\t\t\tevent = {target: elem};\n\n\t\t\t\taddClass(elem, lazySizesCfg.loadingClass);\n\n\t\t\t\tif(firesLoad){\n\t\t\t\t\tclearTimeout(resetPreloadingTimer);\n\t\t\t\t\tresetPreloadingTimer = setTimeout(resetPreloading, 2500);\n\t\t\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass, true);\n\t\t\t\t}\n\n\t\t\t\tif(isPicture){\n\t\t\t\t\tforEach.call(parent.getElementsByTagName('source'), handleSources);\n\t\t\t\t}\n\n\t\t\t\tif(srcset){\n\t\t\t\t\telem.setAttribute('srcset', srcset);\n\t\t\t\t} else if(src && !isPicture){\n\t\t\t\t\tif(regIframe.test(elem.nodeName)){\n\t\t\t\t\t\tchangeIframeSrc(elem, src);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.src = src;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(isImg && (srcset || isPicture)){\n\t\t\t\t\tupdatePolyfill(elem, {src: src});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(elem._lazyRace){\n\t\t\t\tdelete elem._lazyRace;\n\t\t\t}\n\t\t\tremoveClass(elem, lazySizesCfg.lazyClass);\n\n\t\t\trAF(function(){\n\t\t\t\t// Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015)\n\t\t\t\tvar isLoaded = elem.complete && elem.naturalWidth > 1;\n\n\t\t\t\tif( !firesLoad || isLoaded){\n\t\t\t\t\tif (isLoaded) {\n\t\t\t\t\t\taddClass(elem, 'ls-is-cached');\n\t\t\t\t\t}\n\t\t\t\t\tswitchLoadingClass(event);\n\t\t\t\t\telem._lazyCache = true;\n\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\tif ('_lazyCache' in elem) {\n\t\t\t\t\t\t\tdelete elem._lazyCache;\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 9);\n\t\t\t\t}\n\t\t\t\tif (elem.loading == 'lazy') {\n\t\t\t\t\tisLoading--;\n\t\t\t\t}\n\t\t\t}, true);\n\t\t});\n\n\t\tvar unveilElement = function (elem){\n\t\t\tif (elem._lazyRace) {return;}\n\t\t\tvar detail;\n\n\t\t\tvar isImg = regImg.test(elem.nodeName);\n\n\t\t\t//allow using sizes=\"auto\", but don't use. it's invalid. Use data-sizes=\"auto\" or a valid value for sizes instead (i.e.: sizes=\"80vw\")\n\t\t\tvar sizes = isImg && (elem[_getAttribute](lazySizesCfg.sizesAttr) || elem[_getAttribute]('sizes'));\n\t\t\tvar isAuto = sizes == 'auto';\n\n\t\t\tif( (isAuto || !isCompleted) && isImg && (elem[_getAttribute]('src') || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesCfg.errorClass) && hasClass(elem, lazySizesCfg.lazyClass)){return;}\n\n\t\t\tdetail = triggerEvent(elem, 'lazyunveilread').detail;\n\n\t\t\tif(isAuto){\n\t\t\t\t autoSizer.updateElem(elem, true, elem.offsetWidth);\n\t\t\t}\n\n\t\t\telem._lazyRace = true;\n\t\t\tisLoading++;\n\n\t\t\tlazyUnveil(elem, detail, isAuto, sizes, isImg);\n\t\t};\n\n\t\tvar afterScroll = debounce(function(){\n\t\t\tlazySizesCfg.loadMode = 3;\n\t\t\tthrottledCheckElements();\n\t\t});\n\n\t\tvar altLoadmodeScrollListner = function(){\n\t\t\tif(lazySizesCfg.loadMode == 3){\n\t\t\t\tlazySizesCfg.loadMode = 2;\n\t\t\t}\n\t\t\tafterScroll();\n\t\t};\n\n\t\tvar onload = function(){\n\t\t\tif(isCompleted){return;}\n\t\t\tif(Date.now() - started < 999){\n\t\t\t\tsetTimeout(onload, 999);\n\t\t\t\treturn;\n\t\t\t}\n\n\n\t\t\tisCompleted = true;\n\n\t\t\tlazySizesCfg.loadMode = 3;\n\n\t\t\tthrottledCheckElements();\n\n\t\t\taddEventListener('scroll', altLoadmodeScrollListner, true);\n\t\t};\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tstarted = Date.now();\n\n\t\t\t\tlazysizes.elements = document.getElementsByClassName(lazySizesCfg.lazyClass);\n\t\t\t\tpreloadElems = document.getElementsByClassName(lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass);\n\n\t\t\t\taddEventListener('scroll', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('resize', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('pageshow', function (e) {\n\t\t\t\t\tif (e.persisted) {\n\t\t\t\t\t\tvar loadingElements = document.querySelectorAll('.' + lazySizesCfg.loadingClass);\n\n\t\t\t\t\t\tif (loadingElements.length && loadingElements.forEach) {\n\t\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\t\tloadingElements.forEach( function (img) {\n\t\t\t\t\t\t\t\t\tif (img.complete) {\n\t\t\t\t\t\t\t\t\t\tunveilElement(img);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif(window.MutationObserver){\n\t\t\t\t\tnew MutationObserver( throttledCheckElements ).observe( docElem, {childList: true, subtree: true, attributes: true} );\n\t\t\t\t} else {\n\t\t\t\t\tdocElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true);\n\t\t\t\t\tdocElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true);\n\t\t\t\t\tsetInterval(throttledCheckElements, 999);\n\t\t\t\t}\n\n\t\t\t\taddEventListener('hashchange', throttledCheckElements, true);\n\n\t\t\t\t//, 'fullscreenchange'\n\t\t\t\t['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend'].forEach(function(name){\n\t\t\t\t\tdocument[_addEventListener](name, throttledCheckElements, true);\n\t\t\t\t});\n\n\t\t\t\tif((/d$|^c/.test(document.readyState))){\n\t\t\t\t\tonload();\n\t\t\t\t} else {\n\t\t\t\t\taddEventListener('load', onload);\n\t\t\t\t\tdocument[_addEventListener]('DOMContentLoaded', throttledCheckElements);\n\t\t\t\t\tsetTimeout(onload, 20000);\n\t\t\t\t}\n\n\t\t\t\tif(lazysizes.elements.length){\n\t\t\t\t\tcheckElements();\n\t\t\t\t\trAF._lsFlush();\n\t\t\t\t} else {\n\t\t\t\t\tthrottledCheckElements();\n\t\t\t\t}\n\t\t\t},\n\t\t\tcheckElems: throttledCheckElements,\n\t\t\tunveil: unveilElement,\n\t\t\t_aLSL: altLoadmodeScrollListner,\n\t\t};\n\t})();\n\n\n\tvar autoSizer = (function(){\n\t\tvar autosizesElems;\n\n\t\tvar sizeElement = rAFIt(function(elem, parent, event, width){\n\t\t\tvar sources, i, len;\n\t\t\telem._lazysizesWidth = width;\n\t\t\twidth += 'px';\n\n\t\t\telem.setAttribute('sizes', width);\n\n\t\t\tif(regPicture.test(parent.nodeName || '')){\n\t\t\t\tsources = parent.getElementsByTagName('source');\n\t\t\t\tfor(i = 0, len = sources.length; i < len; i++){\n\t\t\t\t\tsources[i].setAttribute('sizes', width);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(!event.detail.dataAttr){\n\t\t\t\tupdatePolyfill(elem, event.detail);\n\t\t\t}\n\t\t});\n\t\tvar getSizeElement = function (elem, dataAttr, width){\n\t\t\tvar event;\n\t\t\tvar parent = elem.parentNode;\n\n\t\t\tif(parent){\n\t\t\t\twidth = getWidth(elem, parent, width);\n\t\t\t\tevent = triggerEvent(elem, 'lazybeforesizes', {width: width, dataAttr: !!dataAttr});\n\n\t\t\t\tif(!event.defaultPrevented){\n\t\t\t\t\twidth = event.detail.width;\n\n\t\t\t\t\tif(width && width !== elem._lazysizesWidth){\n\t\t\t\t\t\tsizeElement(elem, parent, event, width);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar updateElementsSizes = function(){\n\t\t\tvar i;\n\t\t\tvar len = autosizesElems.length;\n\t\t\tif(len){\n\t\t\t\ti = 0;\n\n\t\t\t\tfor(; i < len; i++){\n\t\t\t\t\tgetSizeElement(autosizesElems[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar debouncedUpdateElementsSizes = debounce(updateElementsSizes);\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tautosizesElems = document.getElementsByClassName(lazySizesCfg.autosizesClass);\n\t\t\t\taddEventListener('resize', debouncedUpdateElementsSizes);\n\t\t\t},\n\t\t\tcheckElems: debouncedUpdateElementsSizes,\n\t\t\tupdateElem: getSizeElement\n\t\t};\n\t})();\n\n\tvar init = function(){\n\t\tif(!init.i && document.getElementsByClassName){\n\t\t\tinit.i = true;\n\t\t\tautoSizer._();\n\t\t\tloader._();\n\t\t}\n\t};\n\n\tsetTimeout(function(){\n\t\tif(lazySizesCfg.init){\n\t\t\tinit();\n\t\t}\n\t});\n\n\tlazysizes = {\n\t\tcfg: lazySizesCfg,\n\t\tautoSizer: autoSizer,\n\t\tloader: loader,\n\t\tinit: init,\n\t\tuP: updatePolyfill,\n\t\taC: addClass,\n\t\trC: removeClass,\n\t\thC: hasClass,\n\t\tfire: triggerEvent,\n\t\tgW: getWidth,\n\t\trAF: rAF,\n\t};\n\n\treturn lazysizes;\n}\n));\n","(function(window, factory) {\n\tif(!window) {return;}\n\tvar globalInstall = function(){\n\t\tfactory(window.lazySizes);\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\n\t};\n\n\tfactory = factory.bind(null, window, window.document);\n\n\tif(typeof module == 'object' && module.exports){\n\t\tfactory(require('lazysizes'));\n\t} else if (typeof define == 'function' && define.amd) {\n\t\tdefine(['lazysizes'], factory);\n\t} else if(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(typeof window != 'undefined' ?\n\twindow : 0, function(window, document, lazySizes) {\n\t/*jshint eqnull:true */\n\t'use strict';\n\tvar polyfill;\n\tvar lazySizesCfg = lazySizes.cfg;\n\tvar img = document.createElement('img');\n\tvar supportSrcset = ('sizes' in img) && ('srcset' in img);\n\tvar regHDesc = /\\s+\\d+h/g;\n\tvar fixEdgeHDescriptor = (function(){\n\t\tvar regDescriptors = /\\s+(\\d+)(w|h)\\s+(\\d+)(w|h)/;\n\t\tvar forEach = Array.prototype.forEach;\n\n\t\treturn function(){\n\t\t\tvar img = document.createElement('img');\n\t\t\tvar removeHDescriptors = function(source){\n\t\t\t\tvar ratio, match;\n\t\t\t\tvar srcset = source.getAttribute(lazySizesCfg.srcsetAttr);\n\t\t\t\tif(srcset){\n\t\t\t\t\tif((match = srcset.match(regDescriptors))){\n\t\t\t\t\t\tif(match[2] == 'w'){\n\t\t\t\t\t\t\tratio = match[1] / match[3];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tratio = match[3] / match[1];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(ratio){\n\t\t\t\t\t\t\tsource.setAttribute('data-aspectratio', ratio);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsource.setAttribute(lazySizesCfg.srcsetAttr, srcset.replace(regHDesc, ''));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\tvar handler = function(e){\n\t\t\t\tif(e.detail.instance != lazySizes){return;}\n\t\t\t\tvar picture = e.target.parentNode;\n\n\t\t\t\tif(picture && picture.nodeName == 'PICTURE'){\n\t\t\t\t\tforEach.call(picture.getElementsByTagName('source'), removeHDescriptors);\n\t\t\t\t}\n\t\t\t\tremoveHDescriptors(e.target);\n\t\t\t};\n\n\t\t\tvar test = function(){\n\t\t\t\tif(!!img.currentSrc){\n\t\t\t\t\tdocument.removeEventListener('lazybeforeunveil', handler);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdocument.addEventListener('lazybeforeunveil', handler);\n\n\t\t\timg.onload = test;\n\t\t\timg.onerror = test;\n\n\t\t\timg.srcset = 'data:,a 1w 1h';\n\n\t\t\tif(img.complete){\n\t\t\t\ttest();\n\t\t\t}\n\t\t};\n\t})();\n\n\tif(!lazySizesCfg.supportsType){\n\t\tlazySizesCfg.supportsType = function(type/*, elem*/){\n\t\t\treturn !type;\n\t\t};\n\t}\n\n\tif (window.HTMLPictureElement && supportSrcset) {\n\t\tif(!lazySizes.hasHDescriptorFix && document.msElementsFromPoint){\n\t\t\tlazySizes.hasHDescriptorFix = true;\n\t\t\tfixEdgeHDescriptor();\n\t\t}\n\t\treturn;\n\t}\n\n\tif(window.picturefill || lazySizesCfg.pf){return;}\n\n\tlazySizesCfg.pf = function(options){\n\t\tvar i, len;\n\t\tif(window.picturefill){return;}\n\t\tfor(i = 0, len = options.elements.length; i < len; i++){\n\t\t\tpolyfill(options.elements[i]);\n\t\t}\n\t};\n\n\t// partial polyfill\n\tpolyfill = (function(){\n\t\tvar ascendingSort = function( a, b ) {\n\t\t\treturn a.w - b.w;\n\t\t};\n\t\tvar regPxLength = /^\\s*\\d+\\.*\\d*px\\s*$/;\n\t\tvar reduceCandidate = function (srces) {\n\t\t\tvar lowerCandidate, bonusFactor;\n\t\t\tvar len = srces.length;\n\t\t\tvar candidate = srces[len -1];\n\t\t\tvar i = 0;\n\n\t\t\tfor(i; i < len;i++){\n\t\t\t\tcandidate = srces[i];\n\t\t\t\tcandidate.d = candidate.w / srces.w;\n\n\t\t\t\tif(candidate.d >= srces.d){\n\t\t\t\t\tif(!candidate.cached && (lowerCandidate = srces[i - 1]) &&\n\t\t\t\t\t\tlowerCandidate.d > srces.d - (0.13 * Math.pow(srces.d, 2.2))){\n\n\t\t\t\t\t\tbonusFactor = Math.pow(lowerCandidate.d - 0.6, 1.6);\n\n\t\t\t\t\t\tif(lowerCandidate.cached) {\n\t\t\t\t\t\t\tlowerCandidate.d += 0.15 * bonusFactor;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(lowerCandidate.d + ((candidate.d - srces.d) * bonusFactor) > srces.d){\n\t\t\t\t\t\t\tcandidate = lowerCandidate;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn candidate;\n\t\t};\n\n\t\tvar parseWsrcset = (function(){\n\t\t\tvar candidates;\n\t\t\tvar regWCandidates = /(([^,\\s].[^\\s]+)\\s+(\\d+)w)/g;\n\t\t\tvar regMultiple = /\\s/;\n\t\t\tvar addCandidate = function(match, candidate, url, wDescriptor){\n\t\t\t\tcandidates.push({\n\t\t\t\t\tc: candidate,\n\t\t\t\t\tu: url,\n\t\t\t\t\tw: wDescriptor * 1\n\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn function(input){\n\t\t\t\tcandidates = [];\n\t\t\t\tinput = input.trim();\n\t\t\t\tinput\n\t\t\t\t\t.replace(regHDesc, '')\n\t\t\t\t\t.replace(regWCandidates, addCandidate)\n\t\t\t\t;\n\n\t\t\t\tif(!candidates.length && input && !regMultiple.test(input)){\n\t\t\t\t\tcandidates.push({\n\t\t\t\t\t\tc: input,\n\t\t\t\t\t\tu: input,\n\t\t\t\t\t\tw: 99\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn candidates;\n\t\t\t};\n\t\t})();\n\n\t\tvar runMatchMedia = function(){\n\t\t\tif(runMatchMedia.init){return;}\n\n\t\t\trunMatchMedia.init = true;\n\t\t\taddEventListener('resize', (function(){\n\t\t\t\tvar timer;\n\t\t\t\tvar matchMediaElems = document.getElementsByClassName('lazymatchmedia');\n\t\t\t\tvar run = function(){\n\t\t\t\t\tvar i, len;\n\t\t\t\t\tfor(i = 0, len = matchMediaElems.length; i < len; i++){\n\t\t\t\t\t\tpolyfill(matchMediaElems[i]);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn function(){\n\t\t\t\t\tclearTimeout(timer);\n\t\t\t\t\ttimer = setTimeout(run, 66);\n\t\t\t\t};\n\t\t\t})());\n\t\t};\n\n\t\tvar createSrcset = function(elem, isImage){\n\t\t\tvar parsedSet;\n\t\t\tvar srcSet = elem.getAttribute('srcset') || elem.getAttribute(lazySizesCfg.srcsetAttr);\n\n\t\t\tif(!srcSet && isImage){\n\t\t\t\tsrcSet = !elem._lazypolyfill ?\n\t\t\t\t\t(elem.getAttribute(lazySizesCfg.srcAttr) || elem.getAttribute('src')) :\n\t\t\t\t\telem._lazypolyfill._set\n\t\t\t\t;\n\t\t\t}\n\n\t\t\tif(!elem._lazypolyfill || elem._lazypolyfill._set != srcSet){\n\n\t\t\t\tparsedSet = parseWsrcset( srcSet || '' );\n\t\t\t\tif(isImage && elem.parentNode){\n\t\t\t\t\tparsedSet.isPicture = elem.parentNode.nodeName.toUpperCase() == 'PICTURE';\n\n\t\t\t\t\tif(parsedSet.isPicture){\n\t\t\t\t\t\tif(window.matchMedia){\n\t\t\t\t\t\t\tlazySizes.aC(elem, 'lazymatchmedia');\n\t\t\t\t\t\t\trunMatchMedia();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tparsedSet._set = srcSet;\n\t\t\t\tObject.defineProperty(elem, '_lazypolyfill', {\n\t\t\t\t\tvalue: parsedSet,\n\t\t\t\t\twritable: true\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tvar getX = function(elem){\n\t\t\tvar dpr = window.devicePixelRatio || 1;\n\t\t\tvar optimum = lazySizes.getX && lazySizes.getX(elem);\n\t\t\treturn Math.min(optimum || dpr, 2.5, dpr);\n\t\t};\n\n\t\tvar matchesMedia = function(media){\n\t\t\tif(window.matchMedia){\n\t\t\t\tmatchesMedia = function(media){\n\t\t\t\t\treturn !media || (matchMedia(media) || {}).matches;\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn !media;\n\t\t\t}\n\n\t\t\treturn matchesMedia(media);\n\t\t};\n\n\t\tvar getCandidate = function(elem){\n\t\t\tvar sources, i, len, media, source, srces, src, width;\n\n\t\t\tsource = elem;\n\t\t\tcreateSrcset(source, true);\n\t\t\tsrces = source._lazypolyfill;\n\n\t\t\tif(srces.isPicture){\n\t\t\t\tfor(i = 0, sources = elem.parentNode.getElementsByTagName('source'), len = sources.length; i < len; i++){\n\t\t\t\t\tif( lazySizesCfg.supportsType(sources[i].getAttribute('type'), elem) && matchesMedia( sources[i].getAttribute('media')) ){\n\t\t\t\t\t\tsource = sources[i];\n\t\t\t\t\t\tcreateSrcset(source);\n\t\t\t\t\t\tsrces = source._lazypolyfill;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(srces.length > 1){\n\t\t\t\twidth = source.getAttribute('sizes') || '';\n\t\t\t\twidth = regPxLength.test(width) && parseInt(width, 10) || lazySizes.gW(elem, elem.parentNode);\n\t\t\t\tsrces.d = getX(elem);\n\t\t\t\tif(!srces.src || !srces.w || srces.w < width){\n\t\t\t\t\tsrces.w = width;\n\t\t\t\t\tsrc = reduceCandidate(srces.sort(ascendingSort));\n\t\t\t\t\tsrces.src = src;\n\t\t\t\t} else {\n\t\t\t\t\tsrc = srces.src;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsrc = srces[0];\n\t\t\t}\n\n\t\t\treturn src;\n\t\t};\n\n\t\tvar p = function(elem){\n\t\t\tif(supportSrcset && elem.parentNode && elem.parentNode.nodeName.toUpperCase() != 'PICTURE'){return;}\n\t\t\tvar candidate = getCandidate(elem);\n\n\t\t\tif(candidate && candidate.u && elem._lazypolyfill.cur != candidate.u){\n\t\t\t\telem._lazypolyfill.cur = candidate.u;\n\t\t\t\tcandidate.cached = true;\n\t\t\t\telem.setAttribute(lazySizesCfg.srcAttr, candidate.u);\n\t\t\t\telem.setAttribute('src', candidate.u);\n\t\t\t}\n\t\t};\n\n\t\tp.parse = parseWsrcset;\n\n\t\treturn p;\n\t})();\n\n\tif(lazySizesCfg.loadedClass && lazySizesCfg.loadingClass){\n\t\t(function(){\n\t\t\tvar sels = [];\n\t\t\t['img[sizes$=\"px\"][srcset].', 'picture > img:not([srcset]).'].forEach(function(sel){\n\t\t\t\tsels.push(sel + lazySizesCfg.loadedClass);\n\t\t\t\tsels.push(sel + lazySizesCfg.loadingClass);\n\t\t\t});\n\t\t\tlazySizesCfg.pf({\n\t\t\t\telements: document.querySelectorAll(sels.join(', '))\n\t\t\t});\n\t\t})();\n\n\t}\n}));\n"],"names":["ElementClassExtensions","window","imgix","config","includeLibraryParam","srcAttribute","srcsetAttribute","sizesAttribute","init","force","lazySizes","_setTimeout","lazySizesConfig","expand","loadMode","elements","document","querySelectorAll","_forEachInstanceProperty","call","element","i","style","removeProperty","removeClass","r","e","n","t","o","f","u","a","Error","code","p","exports","length","require","module","util","targetWidths","ImgixTag","el","opts","this","settings","hasAttribute","ixPathVal","getAttribute","pathInputAttribute","ixParamsVal","paramsInputAttribute","ixSrcVal","srcInputAttribute","ixHostVal","hostInputAttribute","host","baseParams","_extractBaseParams","baseUrl","_buildBaseUrl","baseUrlWithoutQuery","split","isString","setAttribute","sizes","srcset","nodeName","src","console","warn","prototype","params","defaultParams","Object","assign","key","JSON","parse","substr","encode64","lastQuestion","lastIndexOf","splitParam","splitParams","ixlib","VERSION","path","url","useHttps","hostEndsWithSlash","pathStartsWithSlash","param","push","encodeURIComponent","join","_buildSrcsetPair","targetWidth","clonedParams","shallowClone","w","h","Math","round","val","pairs","existingSizes","global","defaultConfig","getMetaTagValue","propertyName","metaTagContent","metaTag","querySelector","extend","elementQuery","allImgandSourceTags","domReady","objectEach","defaultValue","metaTagValue","defaultConfigType","g","self","resolutions","prev","compact","arr","compactedArr","obj","clone","dest","source","uniq","iterator","hasOwnProperty","value","str","encodedUtf8Str","unescape","urlSafeB64Str","btoa","replace","decode64","b64Str","atob","decodeURIComponent","escape","cb","readyState","setTimeout","addEventListener","attachEvent","Date","lazysizes","lazySizesCfg","prop","lazySizesDefaults","lazyClass","loadedClass","loadingClass","preloadClass","errorClass","autosizesClass","srcAttr","srcsetAttr","sizesAttr","minSize","customMedia","expFactor","hFac","loadHidden","ricTimeout","throttleDelay","lazysizesConfig","getElementsByClassName","cfg","noSupport","docElem","documentElement","supportPicture","HTMLPictureElement","_addEventListener","_getAttribute","bind","requestAnimationFrame","requestIdleCallback","regPicture","loadEvents","regClassCache","forEach","Array","hasClass","ele","cls","RegExp","test","addClass","trim","reg","addRemoveLoadEvents","dom","fn","add","action","evt","triggerEvent","elem","name","detail","noBubbles","noCancelable","event","createEvent","instance","initEvent","dispatchEvent","updatePolyfill","full","polyfill","picturefill","pf","reevaluate","getCSS","getComputedStyle","getWidth","parent","width","offsetWidth","_lazysizesWidth","parentNode","rAF","firstFns","secondFns","fns","run","runFns","running","waiting","shift","rafBatch","queue","apply","arguments","hidden","_lsFlush","rAFIt","simple","that","args","throttle","lastTime","gDelay","rICTimeout","now","idleCallback","timeout","isPriority","delay","debounce","func","timestamp","wait","later","last","loader","regImg","regIframe","supportScroll","navigator","userAgent","shrinkExpand","currentExpand","isLoading","lowRuns","resetPreloading","target","isVisible","isBodyHidden","body","isNestedVisible","elemExpand","outerRect","visible","eLtop","eLbottom","eLleft","eLright","offsetParent","getBoundingClientRect","left","right","top","bottom","checkElements","eLlen","rect","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","defaultExpand","preloadExpand","lazyloadElems","_lazyRace","prematureUnveil","unveilElement","clientHeight","clientWidth","_defEx","eLvW","innerWidth","elvH","innerHeight","isCompleted","preloadElems","preloadAfterLoad","throttledCheckElements","switchLoadingClass","_lazyCache","rafSwitchLoadingClass","rafedSwitchLoadingClass","changeIframeSrc","contentWindow","location","handleSources","sourceSrcset","lazyUnveil","isAuto","isImg","isPicture","firesLoad","defaultPrevented","clearTimeout","resetPreloadingTimer","getElementsByTagName","isLoaded","complete","naturalWidth","loading","autoSizer","updateElem","afterScroll","altLoadmodeScrollListner","onload","started","_","persisted","loadingElements","img","MutationObserver","observe","childList","subtree","attributes","setInterval","checkElems","unveil","_aLSL","sizeElement","sources","len","dataAttr","getSizeElement","debouncedUpdateElementsSizes","autosizesElems","uP","aC","rC","hC","fire","gW","factory","regDescriptors","candidates","regWCandidates","regMultiple","addCandidate","ascendingSort","regPxLength","parseWsrcset","runMatchMedia","createSrcset","matchesMedia","getCandidate","sels","createElement","supportSrcset","regHDesc","fixEdgeHDescriptor","removeHDescriptors","ratio","match","handler","picture","currentSrc","removeEventListener","onerror","supportsType","type","hasHDescriptorFix","msElementsFromPoint","options","b","candidate","wDescriptor","c","timer","matchMediaElems","isImage","parsedSet","srcSet","_lazypolyfill","_set","toUpperCase","matchMedia","defineProperty","writable","media","matches","srces","parseInt","d","dpr","devicePixelRatio","optimum","getX","min","lowerCandidate","bonusFactor","cached","pow","reduceCandidate","sort","cur","input","sel"],"sourceRoot":""}