{"version":3,"sources":["webpack/bootstrap","node_modules/core-js/internals/to-indexed-object.js","node_modules/core-js/internals/use-symbol-as-uid.js","node_modules/core-js/internals/hidden-keys.js","node_modules/core-js/internals/fails.js","node_modules/core-js/internals/get-built-in.js","node_modules/core-js/internals/object-property-is-enumerable.js","node_modules/core-js/internals/object-set-prototype-of.js","node_modules/core-js/internals/set-to-string-tag.js","node_modules/core-js/internals/is-symbol.js","node_modules/core-js/internals/global.js","node_modules/core-js/internals/object-keys.js","node_modules/core-js/internals/get-method.js","node_modules/core-js/internals/object-get-prototype-of.js","node_modules/core-js/internals/correct-prototype-getter.js","node_modules/core-js/internals/copy-constructor-properties.js","node_modules/core-js/internals/is-array-iterator-method.js","node_modules/picturefill/dist/picturefill.js","node_modules/core-js/internals/shared-key.js","node_modules/core-js/internals/classof.js","node_modules/core-js/internals/function-bind-context.js","node_modules/core-js/internals/to-string-tag-support.js","node_modules/core-js/internals/object-get-own-property-descriptor.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/object-fit-images/dist/ofi.common-js.js","node_modules/core-js/internals/ie8-dom-define.js","node_modules/core-js/internals/try-to-string.js","node_modules/core-js/internals/is-callable.js","node_modules/core-js/internals/html.js","node_modules/core-js/internals/check-correctness-of-iteration.js","node_modules/core-js/internals/require-object-coercible.js","node_modules/core-js/internals/export.js","node_modules/core-js/internals/to-absolute-index.js","node_modules/webfontloader/webfontloader.js","node_modules/core-js/internals/object-get-own-property-names.js","node_modules/core-js/internals/iterator-close.js","node_modules/core-js/internals/engine-v8-version.js","node_modules/core-js/internals/object-define-properties.js","node_modules/core-js/internals/engine-user-agent.js","node_modules/core-js/internals/get-iterator-method.js","node_modules/core-js/internals/a-possible-prototype.js","node_modules/core-js/internals/iterators.js","node_modules/core-js/modules/es.string.iterator.js","node_modules/core-js/internals/indexed-object.js","node_modules/core-js/internals/ordinary-to-primitive.js","node_modules/core-js/internals/native-symbol.js","node_modules/core-js/internals/array-includes.js","node_modules/core-js/internals/array-from.js","node_modules/core-js/internals/to-length.js","node_modules/core-js/internals/has.js","node_modules/core-js/internals/to-string.js","node_modules/core-js/internals/shared.js","node_modules/core-js/internals/own-keys.js","node_modules/core-js/internals/a-callable.js","node_modules/core-js/internals/create-property-descriptor.js","node_modules/core-js/internals/function-name.js","node_modules/core-js/internals/string-multibyte.js","node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/core-js/internals/is-constructor.js","node_modules/core-js/internals/internal-state.js","node_modules/core-js/internals/redefine.js","node_modules/core-js/internals/object-get-own-property-symbols.js","node_modules/core-js/internals/enum-bug-keys.js","node_modules/core-js/internals/to-object.js","node_modules/core-js/internals/native-weak-map.js","node_modules/core-js/internals/object-create.js","node_modules/core-js/internals/define-iterator.js","node_modules/core-js/internals/descriptors.js","node_modules/core-js/internals/an-object.js","src/js/vendor/ls.bgset.js","node_modules/core-js/internals/create-property.js","node_modules/core-js/internals/is-object.js","node_modules/core-js/internals/inspect-source.js","node_modules/core-js/internals/uid.js","node_modules/core-js/internals/create-non-enumerable-property.js","node_modules/core-js/internals/is-forced.js","node_modules/core-js/internals/object-define-property.js","node_modules/core-js/internals/call-with-safe-iteration-closing.js","node_modules/core-js/internals/get-iterator.js","node_modules/core-js/internals/create-iterator-constructor.js","node_modules/core-js/internals/to-property-key.js","node_modules/js-cookie/src/js.cookie.js","node_modules/core-js/modules/es.array.from.js","node_modules/core-js/internals/to-integer.js","node_modules/core-js/internals/iterators-core.js","node_modules/lazysizes/lazysizes.js","node_modules/core-js/internals/well-known-symbol.js","node_modules/core-js/internals/to-primitive.js","node_modules/core-js/internals/is-pure.js","node_modules/core-js/internals/classof-raw.js","node_modules/core-js/internals/shared-store.js","node_modules/webpack/buildin/global.js","src/js/modules/lazy-helpers.js","src/js/modules/ab-testing.js","node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","src/js/header.js","node_modules/core-js/internals/object-keys-internal.js","node_modules/core-js/internals/document-create-element.js","node_modules/core-js/internals/set-global.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","IndexedObject","require","requireObjectCoercible","it","NATIVE_SYMBOL","sham","iterator","exec","error","global","isCallable","aFunction","argument","undefined","namespace","method","arguments","length","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","1","f","V","descriptor","this","anObject","aPossiblePrototype","setPrototypeOf","setter","CORRECT_SETTER","test","set","Array","O","proto","__proto__","has","TO_STRING_TAG","wellKnownSymbol","TAG","STATIC","configurable","getBuiltIn","USE_SYMBOL_AS_UID","$Symbol","check","Math","globalThis","window","self","Function","internalObjectKeys","enumBugKeys","keys","aCallable","P","func","toObject","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","getPrototypeOf","constructor","fails","F","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","target","source","Iterators","ITERATOR","ArrayPrototype","ua","navigator","userAgent","HTMLPictureElement","match","RegExp","$1","addEventListener","timer","dummySrc","document","createElement","fixRespimg","img","sizes","picture","parentNode","nodeName","toUpperCase","cloneNode","insertBefore","firstElementChild","setTimeout","removeChild","_pfLastSize","offsetWidth","findPictureImgs","imgs","querySelectorAll","onResize","clearTimeout","mq","matchMedia","init","addListener","srcset","readyState","eminpx","alwaysCheckWDescriptor","evalId","pf","isSupportTestReady","noop","image","getImgAttr","getAttribute","setImgAttr","setAttribute","removeImgAttr","removeAttribute","docElem","documentElement","types","cfg","algorithm","supportAbort","curSrcProp","regWDesc","regSize","setOptions","picturefillCFG","fsCss","isVwDirty","cssCache","sizeLengthCache","DPR","devicePixelRatio","units","px","anchor","alreadyRun","regexLeadingSpaces","regexLeadingCommasOrSpaces","regexLeadingNotSpaces","regexTrailingCommas","regexNonNegativeInteger","regexFloatingPoint","on","obj","evt","fn","capture","attachEvent","memoize","cache","input","isSpace","image2","evalCSS","regLength","buildStr","css","args","index","string","replace","toLowerCase","parsedLength","e","setResolution","candidate","sizesattr","w","cWidth","calcListLength","res","picturefill","opt","elements","plen","options","nodeType","context","qsa","reevaluate","reselect","sel","selShort","setupRun","fillImg","teardownRun","chooseLowRes","lowerValue","higherValue","dprValue","isCached","bonusFactor","bonus","meanDensity","pow","sqrt","ascendingSort","a","b","getCandidateForSrc","src","candidates","parseSet","makeUrl","url","console","warn","implementation","hasFeature","Date","getTime","substr","supSrcset","supSizes","supPicture","complete","width1","width","onload","onerror","u","setSize","href","matchesMedia","matches","media","mMQ","apply","calcLength","sourceSizeValue","supportsType","type","parseSize","sourceSizeStr","cands","collectCharacters","regEx","chars","substring","pos","descriptors","currentDescriptor","state","inputLength","parseDescriptors","h","desc","lastChar","intVal","floatVal","pError","parseInt","parseFloat","has1x","push","tokenize","charAt","slice","parseSrcset","getEmValue","body","div","originalHTMLCSS","style","cssText","originalBodyCSS","appendChild","sourceSizeListStr","uT","winningLength","strValue","unparsedSizesList","unparsedSizesListLength","unparsedSize","lastComponentValue","size","regexCssLengthWithUnits","regexCssCalc","str","chrctr","component","componentArray","listArray","parenDepth","inComment","pushComponent","pushComponentArray","parseComponentValues","pop","join","parseSizes","setRes","len","applySetCandidate","j","bestCandidate","curSrc","curCan","candidateSrc","abortCurSrc","imageData","dpr","sets","setSrcToCur","cached","sort","setSrc","origWidth","getSet","parseSets","element","parent","srcsetAttribute","imageSet","isWDescripor","srcsetParsed","hasPicture","pic","sources","getElementsByTagName","getAllSourceElements","supported","srcAttr","parsed","extreme","evaled","srcSetCandidates","matchingSet","evaluated","applyBestCandidate","max","innerWidth","clientWidth","height","innerHeight","clientHeight","vw","vh","em","rem","isDomReady","regReady","run","timerId","fillImgs","lastClientWidth","wait","timeout","timestamp","later","last","debounce","_","shift","define","typeUri","Image","detectTypeSupport","shared","uid","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tag","result","tryGet","callee","that","String","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","_unsupportedIterableToArray","minLen","toString","from","OFI","propRegex","testImg","supportsObjectFit","supportsObjectPosition","supportsOFI","supportsCurrentSrc","currentSrc","nativeGetAttribute","nativeSetAttribute","autoModeEnabled","setPlaceholder","placeholder","onImageReady","callback","naturalWidth","fixOne","el","getComputedStyle","fontFamily","props","getStyle","ofi","skipTest","naturalHeight","prop","ss","keepSrcUsable","err","polyfillCurrentSrc","backgroundImage","backgroundPosition","backgroundRepeat","backgroundOrigin","backgroundSize","fix","opts","startAutoMode","tagName","watchMQ","getOfiImageMaybe","HTMLImageElement","hijackAttributes","SAFE_CLOSING","called","iteratorWithReturn","next","done","SKIP_CLOSING","ITERATION_SUPPORT","TypeError","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","stat","noTargetGet","forced","toInteger","min","integer","aa","ba","Error","unshift","indexOf","q","now","ca","da","FontFace","createTextNode","lastChild","v","className","split","g","y","z","rel","A","onreadystatechange","B","C","D","E","G","I","J","H","ga","ha","events","classes","L","K","ja","M","N","Q","start","Promise","fonts","load","fa","then","race","R","S","T","la","U","serif","ma","W","X","na","oa","qa","k","x","xa","vendor","ra","sa","ta","ia","ka","pa","projectId","version","api","fontfamily","fontStyle","fontWeight","id","urls","families","testStrings","ya","za","latin","cyrillic","greek","khmer","Hanuman","Aa","thin","extralight","ultralight","light","regular","book","medium","semibold","demibold","bold","extrabold","ultrabold","black","heavy","Ba","italic","normal","Ca","Ea","Fa","Arimo","Cousine","Tinos","Ga","Ha","text","va","isNaN","Da","encodeURIComponent","wa","Typekit","config","async","__webfontfontdeckmodule__","weight","location","hostname","ea","Y","custom","fontdeck","monotype","typekit","google","Z","hiddenKeys","concat","getOwnPropertyNames","getMethod","kind","innerResult","innerError","process","Deno","versions","v8","objectKeys","defineProperties","Properties","classof","InternalStateModule","defineIterator","setInternalState","getInternalState","getterFor","iterated","point","isObject","pref","val","valueOf","V8_VERSION","getOwnPropertySymbols","symbol","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","includes","callWithSafeIterationClosing","isArrayIteratorMethod","isConstructor","createProperty","getIterator","getIteratorMethod","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","step","iteratorMethod","hasOwn","IS_PURE","store","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","tryToString","bitmap","writable","FunctionPrototype","getDescriptor","EXISTS","PROPER","CONFIGURABLE","CONVERT_TO_STRING","first","second","position","charCodeAt","codeAt","_arrayLikeToArray","arr","arr2","inspectSource","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","NATIVE_WEAK_MAP","objectHas","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","enforce","TYPE","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","TEMPLATE","unsafe","simple","activeXDocument","html","documentCreateElement","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","domain","iframeDocument","iframe","display","contentWindow","open","NullProtoObjectViaIFrame","$","FunctionName","createIteratorConstructor","setToStringTag","IteratorsCore","PROPER_FUNCTION_NAME","IteratorPrototype","BUGGY_SAFARI_ITERATORS","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","factory","globalInstall","lazySizes","removeEventListener","regWhite","regSplitSet","regSource","regBgUrlEscape","allowedBackgroundSize","contain","cover","proxyLoad","_lazybgset","elem","bg","JSON","stringify","_lazybgsetLoading","fire","defaultPrevented","alt","detail","firesLoad","lazySizesConfig","sizesAttr","ratio","optimumx","lazyClass","forEach","srcsetAttr","$2","customMedia","createPicture","loader","unveil","rAF","instance","dataAttr","bgSize","getPropertyValue","getBgSize","_lazysizesParentFit","gW","_lazysizesWidth","proxyWidth","propertyKey","functionToString","postfix","random","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","$defineProperty","Attributes","iteratorClose","ENTRIES","usingIterator","toPrimitive","isSymbol","OldCookies","Cookies","noConflict","extend","attributes","decode","decodeURIComponent","converter","path","defaults","expires","toUTCString","escape","stringifiedAttributes","attributeName","cookie","json","jar","cookies","parts","read","parse","getJSON","remove","withConverter","checkCorrectnessOfIteration","iterable","ceil","floor","PrototypeOfArrayIteratorPrototype","arrayIterator","getElementsByClassName","lazysizes","supportPicture","requestAnimationFrame","requestIdleCallback","regPicture","loadEvents","regClassCache","hasClass","ele","cls","addClass","trim","removeClass","reg","addRemoveLoadEvents","dom","add","action","triggerEvent","noBubbles","noCancelable","event","createEvent","initEvent","dispatchEvent","updatePolyfill","full","polyfill","getCSS","getWidth","minSize","running","waiting","firstFns","secondFns","fns","runFns","rafBatch","queue","hidden","_lsFlush","rAFIt","lazySizesDefaults","loadedClass","loadingClass","preloadClass","errorClass","autosizesClass","expFactor","hFac","loadMode","loadHidden","ricTimeout","throttleDelay","lazysizesConfig","preloadElems","isCompleted","resetPreloadingTimer","started","eLvW","elvH","eLtop","eLleft","eLright","eLbottom","isBodyHidden","regImg","regIframe","supportScroll","currentExpand","isLoading","lowRuns","resetPreloading","isVisible","isNestedVisible","elemExpand","outerRect","visible","offsetParent","getBoundingClientRect","left","right","top","bottom","checkElements","eLlen","rect","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","defaultExpand","preloadExpand","lazyloadElems","expand","_defEx","_lazyRace","unveilElement","preloadAfterLoad","throttledCheckElements","lastTime","gDelay","rICTimeout","idleCallback","isPriority","delay","throttle","switchLoadingClass","_lazyCache","rafSwitchLoadingClass","rafedSwitchLoadingClass","handleSources","sourceSrcset","lazyUnveil","isAuto","isImg","isPicture","changeIframeSrc","isLoaded","autoSizer","updateElem","afterScroll","MutationObserver","observe","childList","subtree","setInterval","checkElems","autosizesElems","sizeElement","getSizeElement","debouncedUpdateElementsSizes","uP","aC","rC","hC","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","lazyPrefixRegex","attr","wantedAttr","all","lazyloaded","settings","selector","targetEl","querySelector","classList","contains","objectFitImages","results","percentageOfUsers","currentVariant","dataLayerVariable","variants","cookieName","currentCookie","Cookie","isNewUser","isArray","unsupportedIterableToArray","_e","normalCompletion","didErr","_e2","variant","params","dataLayerObj","dataLayer","cssClass","items","item","runTests","WebFont","WebFontConfig","names"],"mappings":"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","file":"js/header.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/studio/pub/web/v2/master/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var isCallable = require('../internals/is-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && Object(it) instanceof $Symbol;\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var has = require('../internals/has');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (has(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","/*! picturefill - v3.0.2 - 2016-02-12\n * https://scottjehl.github.io/picturefill/\n * Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT\n */\n/*! Gecko-Picture - v1.0\n * https://github.com/scottjehl/picturefill/tree/3.0/src/plugins/gecko-picture\n * Firefox's early picture implementation (prior to FF41) is static and does\n * not react to viewport changes. This tiny module fixes this.\n */\n(function(window) {\n\t/*jshint eqnull:true */\n\tvar ua = navigator.userAgent;\n\n\tif ( window.HTMLPictureElement && ((/ecko/).test(ua) && ua.match(/rv\\:(\\d+)/) && RegExp.$1 < 45) ) {\n\t\taddEventListener(\"resize\", (function() {\n\t\t\tvar timer;\n\n\t\t\tvar dummySrc = document.createElement(\"source\");\n\n\t\t\tvar fixRespimg = function(img) {\n\t\t\t\tvar source, sizes;\n\t\t\t\tvar picture = img.parentNode;\n\n\t\t\t\tif (picture.nodeName.toUpperCase() === \"PICTURE\") {\n\t\t\t\t\tsource = dummySrc.cloneNode();\n\n\t\t\t\t\tpicture.insertBefore(source, picture.firstElementChild);\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tpicture.removeChild(source);\n\t\t\t\t\t});\n\t\t\t\t} else if (!img._pfLastSize || img.offsetWidth > img._pfLastSize) {\n\t\t\t\t\timg._pfLastSize = img.offsetWidth;\n\t\t\t\t\tsizes = img.sizes;\n\t\t\t\t\timg.sizes += \",100vw\";\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\timg.sizes = sizes;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar findPictureImgs = function() {\n\t\t\t\tvar i;\n\t\t\t\tvar imgs = document.querySelectorAll(\"picture > img, img[srcset][sizes]\");\n\t\t\t\tfor (i = 0; i < imgs.length; i++) {\n\t\t\t\t\tfixRespimg(imgs[i]);\n\t\t\t\t}\n\t\t\t};\n\t\t\tvar onResize = function() {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\ttimer = setTimeout(findPictureImgs, 99);\n\t\t\t};\n\t\t\tvar mq = window.matchMedia && matchMedia(\"(orientation: landscape)\");\n\t\t\tvar init = function() {\n\t\t\t\tonResize();\n\n\t\t\t\tif (mq && mq.addListener) {\n\t\t\t\t\tmq.addListener(onResize);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdummySrc.srcset = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n\n\t\t\tif (/^[c|i]|d$/.test(document.readyState || \"\")) {\n\t\t\t\tinit();\n\t\t\t} else {\n\t\t\t\tdocument.addEventListener(\"DOMContentLoaded\", init);\n\t\t\t}\n\n\t\t\treturn onResize;\n\t\t})());\n\t}\n})(window);\n\n/*! Picturefill - v3.0.2\n * http://scottjehl.github.io/picturefill\n * Copyright (c) 2015 https://github.com/scottjehl/picturefill/blob/master/Authors.txt;\n * License: MIT\n */\n\n(function( window, document, undefined ) {\n\t// Enable strict mode\n\t\"use strict\";\n\n\t// HTML shim|v it for old IE (IE9 will still need the HTML video tag workaround)\n\tdocument.createElement( \"picture\" );\n\n\tvar warn, eminpx, alwaysCheckWDescriptor, evalId;\n\t// local object for method references and testing exposure\n\tvar pf = {};\n\tvar isSupportTestReady = false;\n\tvar noop = function() {};\n\tvar image = document.createElement( \"img\" );\n\tvar getImgAttr = image.getAttribute;\n\tvar setImgAttr = image.setAttribute;\n\tvar removeImgAttr = image.removeAttribute;\n\tvar docElem = document.documentElement;\n\tvar types = {};\n\tvar cfg = {\n\t\t//resource selection:\n\t\talgorithm: \"\"\n\t};\n\tvar srcAttr = \"data-pfsrc\";\n\tvar srcsetAttr = srcAttr + \"set\";\n\t// ua sniffing is done for undetectable img loading features,\n\t// to do some non crucial perf optimizations\n\tvar ua = navigator.userAgent;\n\tvar supportAbort = (/rident/).test(ua) || ((/ecko/).test(ua) && ua.match(/rv\\:(\\d+)/) && RegExp.$1 > 35 );\n\tvar curSrcProp = \"currentSrc\";\n\tvar regWDesc = /\\s+\\+?\\d+(e\\d+)?w/;\n\tvar regSize = /(\\([^)]+\\))?\\s*(.+)/;\n\tvar setOptions = window.picturefillCFG;\n\t/**\n\t * Shortcut property for https://w3c.github.io/webappsec/specs/mixedcontent/#restricts-mixed-content ( for easy overriding in tests )\n\t */\n\t// baseStyle also used by getEmValue (i.e.: width: 1em is important)\n\tvar baseStyle = \"position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)\";\n\tvar fsCss = \"font-size:100%!important;\";\n\tvar isVwDirty = true;\n\n\tvar cssCache = {};\n\tvar sizeLengthCache = {};\n\tvar DPR = window.devicePixelRatio;\n\tvar units = {\n\t\tpx: 1,\n\t\t\"in\": 96\n\t};\n\tvar anchor = document.createElement( \"a\" );\n\t/**\n\t * alreadyRun flag used for setOptions. is it true setOptions will reevaluate\n\t * @type {boolean}\n\t */\n\tvar alreadyRun = false;\n\n\t// Reusable, non-\"g\" Regexes\n\n\t// (Don't use \\s, to avoid matching non-breaking space.)\n\tvar regexLeadingSpaces = /^[ \\t\\n\\r\\u000c]+/,\n\t regexLeadingCommasOrSpaces = /^[, \\t\\n\\r\\u000c]+/,\n\t regexLeadingNotSpaces = /^[^ \\t\\n\\r\\u000c]+/,\n\t regexTrailingCommas = /[,]+$/,\n\t regexNonNegativeInteger = /^\\d+$/,\n\n\t // ( Positive or negative or unsigned integers or decimals, without or without exponents.\n\t // Must include at least one digit.\n\t // According to spec tests any decimal point must be followed by a digit.\n\t // No leading plus sign is allowed.)\n\t // https://html.spec.whatwg.org/multipage/infrastructure.html#valid-floating-point-number\n\t regexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/;\n\n\tvar on = function(obj, evt, fn, capture) {\n\t\tif ( obj.addEventListener ) {\n\t\t\tobj.addEventListener(evt, fn, capture || false);\n\t\t} else if ( obj.attachEvent ) {\n\t\t\tobj.attachEvent( \"on\" + evt, fn);\n\t\t}\n\t};\n\n\t/**\n\t * simple memoize function:\n\t */\n\n\tvar memoize = function(fn) {\n\t\tvar cache = {};\n\t\treturn function(input) {\n\t\t\tif ( !(input in cache) ) {\n\t\t\t\tcache[ input ] = fn(input);\n\t\t\t}\n\t\t\treturn cache[ input ];\n\t\t};\n\t};\n\n\t// UTILITY FUNCTIONS\n\n\t// Manual is faster than RegEx\n\t// http://jsperf.com/whitespace-character/5\n\tfunction isSpace(c) {\n\t\treturn (c === \"\\u0020\" || // space\n\t\t c === \"\\u0009\" || // horizontal tab\n\t\t c === \"\\u000A\" || // new line\n\t\t c === \"\\u000C\" || // form feed\n\t\t c === \"\\u000D\"); // carriage return\n\t}\n\n\t/**\n\t * gets a mediaquery and returns a boolean or gets a css length and returns a number\n\t * @param css mediaqueries or css length\n\t * @returns {boolean|number}\n\t *\n\t * based on: https://gist.github.com/jonathantneal/db4f77009b155f083738\n\t */\n\tvar evalCSS = (function() {\n\n\t\tvar regLength = /^([\\d\\.]+)(em|vw|px)$/;\n\t\tvar replace = function() {\n\t\t\tvar args = arguments, index = 0, string = args[0];\n\t\t\twhile (++index in args) {\n\t\t\t\tstring = string.replace(args[index], args[++index]);\n\t\t\t}\n\t\t\treturn string;\n\t\t};\n\n\t\tvar buildStr = memoize(function(css) {\n\n\t\t\treturn \"return \" + replace((css || \"\").toLowerCase(),\n\t\t\t\t// interpret `and`\n\t\t\t\t/\\band\\b/g, \"&&\",\n\n\t\t\t\t// interpret `,`\n\t\t\t\t/,/g, \"||\",\n\n\t\t\t\t// interpret `min-` as >=\n\t\t\t\t/min-([a-z-\\s]+):/g, \"e.$1>=\",\n\n\t\t\t\t// interpret `max-` as <=\n\t\t\t\t/max-([a-z-\\s]+):/g, \"e.$1<=\",\n\n\t\t\t\t//calc value\n\t\t\t\t/calc([^)]+)/g, \"($1)\",\n\n\t\t\t\t// interpret css values\n\t\t\t\t/(\\d+[\\.]*[\\d]*)([a-z]+)/g, \"($1 * e.$2)\",\n\t\t\t\t//make eval less evil\n\t\t\t\t/^(?!(e.[a-z]|[0-9\\.&=|><\\+\\-\\*\\(\\)\\/])).*/ig, \"\"\n\t\t\t) + \";\";\n\t\t});\n\n\t\treturn function(css, length) {\n\t\t\tvar parsedLength;\n\t\t\tif (!(css in cssCache)) {\n\t\t\t\tcssCache[css] = false;\n\t\t\t\tif (length && (parsedLength = css.match( regLength ))) {\n\t\t\t\t\tcssCache[css] = parsedLength[ 1 ] * units[parsedLength[ 2 ]];\n\t\t\t\t} else {\n\t\t\t\t\t/*jshint evil:true */\n\t\t\t\t\ttry{\n\t\t\t\t\t\tcssCache[css] = new Function(\"e\", buildStr(css))(units);\n\t\t\t\t\t} catch(e) {}\n\t\t\t\t\t/*jshint evil:false */\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn cssCache[css];\n\t\t};\n\t})();\n\n\tvar setResolution = function( candidate, sizesattr ) {\n\t\tif ( candidate.w ) { // h = means height: || descriptor.type === 'h' do not handle yet...\n\t\t\tcandidate.cWidth = pf.calcListLength( sizesattr || \"100vw\" );\n\t\t\tcandidate.res = candidate.w / candidate.cWidth ;\n\t\t} else {\n\t\t\tcandidate.res = candidate.d;\n\t\t}\n\t\treturn candidate;\n\t};\n\n\t/**\n\t *\n\t * @param opt\n\t */\n\tvar picturefill = function( opt ) {\n\n\t\tif (!isSupportTestReady) {return;}\n\n\t\tvar elements, i, plen;\n\n\t\tvar options = opt || {};\n\n\t\tif ( options.elements && options.elements.nodeType === 1 ) {\n\t\t\tif ( options.elements.nodeName.toUpperCase() === \"IMG\" ) {\n\t\t\t\toptions.elements = [ options.elements ];\n\t\t\t} else {\n\t\t\t\toptions.context = options.elements;\n\t\t\t\toptions.elements = null;\n\t\t\t}\n\t\t}\n\n\t\telements = options.elements || pf.qsa( (options.context || document), ( options.reevaluate || options.reselect ) ? pf.sel : pf.selShort );\n\n\t\tif ( (plen = elements.length) ) {\n\n\t\t\tpf.setupRun( options );\n\t\t\talreadyRun = true;\n\n\t\t\t// Loop through all elements\n\t\t\tfor ( i = 0; i < plen; i++ ) {\n\t\t\t\tpf.fillImg(elements[ i ], options);\n\t\t\t}\n\n\t\t\tpf.teardownRun( options );\n\t\t}\n\t};\n\n\t/**\n\t * outputs a warning for the developer\n\t * @param {message}\n\t * @type {Function}\n\t */\n\twarn = ( window.console && console.warn ) ?\n\t\tfunction( message ) {\n\t\t\tconsole.warn( message );\n\t\t} :\n\t\tnoop\n\t;\n\n\tif ( !(curSrcProp in image) ) {\n\t\tcurSrcProp = \"src\";\n\t}\n\n\t// Add support for standard mime types.\n\ttypes[ \"image/jpeg\" ] = true;\n\ttypes[ \"image/gif\" ] = true;\n\ttypes[ \"image/png\" ] = true;\n\n\tfunction detectTypeSupport( type, typeUri ) {\n\t\t// based on Modernizr's lossless img-webp test\n\t\t// note: asynchronous\n\t\tvar image = new window.Image();\n\t\timage.onerror = function() {\n\t\t\ttypes[ type ] = false;\n\t\t\tpicturefill();\n\t\t};\n\t\timage.onload = function() {\n\t\t\ttypes[ type ] = image.width === 1;\n\t\t\tpicturefill();\n\t\t};\n\t\timage.src = typeUri;\n\t\treturn \"pending\";\n\t}\n\n\t// test svg support\n\ttypes[ \"image/svg+xml\" ] = document.implementation.hasFeature( \"http://www.w3.org/TR/SVG11/feature#Image\", \"1.1\" );\n\n\t/**\n\t * updates the internal vW property with the current viewport width in px\n\t */\n\tfunction updateMetrics() {\n\n\t\tisVwDirty = false;\n\t\tDPR = window.devicePixelRatio;\n\t\tcssCache = {};\n\t\tsizeLengthCache = {};\n\n\t\tpf.DPR = DPR || 1;\n\n\t\tunits.width = Math.max(window.innerWidth || 0, docElem.clientWidth);\n\t\tunits.height = Math.max(window.innerHeight || 0, docElem.clientHeight);\n\n\t\tunits.vw = units.width / 100;\n\t\tunits.vh = units.height / 100;\n\n\t\tevalId = [ units.height, units.width, DPR ].join(\"-\");\n\n\t\tunits.em = pf.getEmValue();\n\t\tunits.rem = units.em;\n\t}\n\n\tfunction chooseLowRes( lowerValue, higherValue, dprValue, isCached ) {\n\t\tvar bonusFactor, tooMuch, bonus, meanDensity;\n\n\t\t//experimental\n\t\tif (cfg.algorithm === \"saveData\" ){\n\t\t\tif ( lowerValue > 2.7 ) {\n\t\t\t\tmeanDensity = dprValue + 1;\n\t\t\t} else {\n\t\t\t\ttooMuch = higherValue - dprValue;\n\t\t\t\tbonusFactor = Math.pow(lowerValue - 0.6, 1.5);\n\n\t\t\t\tbonus = tooMuch * bonusFactor;\n\n\t\t\t\tif (isCached) {\n\t\t\t\t\tbonus += 0.1 * bonusFactor;\n\t\t\t\t}\n\n\t\t\t\tmeanDensity = lowerValue + bonus;\n\t\t\t}\n\t\t} else {\n\t\t\tmeanDensity = (dprValue > 1) ?\n\t\t\t\tMath.sqrt(lowerValue * higherValue) :\n\t\t\t\tlowerValue;\n\t\t}\n\n\t\treturn meanDensity > dprValue;\n\t}\n\n\tfunction applyBestCandidate( img ) {\n\t\tvar srcSetCandidates;\n\t\tvar matchingSet = pf.getSet( img );\n\t\tvar evaluated = false;\n\t\tif ( matchingSet !== \"pending\" ) {\n\t\t\tevaluated = evalId;\n\t\t\tif ( matchingSet ) {\n\t\t\t\tsrcSetCandidates = pf.setRes( matchingSet );\n\t\t\t\tpf.applySetCandidate( srcSetCandidates, img );\n\t\t\t}\n\t\t}\n\t\timg[ pf.ns ].evaled = evaluated;\n\t}\n\n\tfunction ascendingSort( a, b ) {\n\t\treturn a.res - b.res;\n\t}\n\n\tfunction setSrcToCur( img, src, set ) {\n\t\tvar candidate;\n\t\tif ( !set && src ) {\n\t\t\tset = img[ pf.ns ].sets;\n\t\t\tset = set && set[set.length - 1];\n\t\t}\n\n\t\tcandidate = getCandidateForSrc(src, set);\n\n\t\tif ( candidate ) {\n\t\t\tsrc = pf.makeUrl(src);\n\t\t\timg[ pf.ns ].curSrc = src;\n\t\t\timg[ pf.ns ].curCan = candidate;\n\n\t\t\tif ( !candidate.res ) {\n\t\t\t\tsetResolution( candidate, candidate.set.sizes );\n\t\t\t}\n\t\t}\n\t\treturn candidate;\n\t}\n\n\tfunction getCandidateForSrc( src, set ) {\n\t\tvar i, candidate, candidates;\n\t\tif ( src && set ) {\n\t\t\tcandidates = pf.parseSet( set );\n\t\t\tsrc = pf.makeUrl(src);\n\t\t\tfor ( i = 0; i < candidates.length; i++ ) {\n\t\t\t\tif ( src === pf.makeUrl(candidates[ i ].url) ) {\n\t\t\t\t\tcandidate = candidates[ i ];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn candidate;\n\t}\n\n\tfunction getAllSourceElements( picture, candidates ) {\n\t\tvar i, len, source, srcset;\n\n\t\t// SPEC mismatch intended for size and perf:\n\t\t// actually only source elements preceding the img should be used\n\t\t// also note: don't use qsa here, because IE8 sometimes doesn't like source as the key part in a selector\n\t\tvar sources = picture.getElementsByTagName( \"source\" );\n\n\t\tfor ( i = 0, len = sources.length; i < len; i++ ) {\n\t\t\tsource = sources[ i ];\n\t\t\tsource[ pf.ns ] = true;\n\t\t\tsrcset = source.getAttribute( \"srcset\" );\n\n\t\t\t// if source does not have a srcset attribute, skip\n\t\t\tif ( srcset ) {\n\t\t\t\tcandidates.push( {\n\t\t\t\t\tsrcset: srcset,\n\t\t\t\t\tmedia: source.getAttribute( \"media\" ),\n\t\t\t\t\ttype: source.getAttribute( \"type\" ),\n\t\t\t\t\tsizes: source.getAttribute( \"sizes\" )\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Srcset Parser\n\t * By Alex Bell | MIT License\n\t *\n\t * @returns Array [{url: _, d: _, w: _, h:_, set:_(????)}, ...]\n\t *\n\t * Based super duper closely on the reference algorithm at:\n\t * https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-srcset-attribute\n\t */\n\n\t// 1. Let input be the value passed to this algorithm.\n\t// (TO-DO : Explain what \"set\" argument is here. Maybe choose a more\n\t// descriptive & more searchable name. Since passing the \"set\" in really has\n\t// nothing to do with parsing proper, I would prefer this assignment eventually\n\t// go in an external fn.)\n\tfunction parseSrcset(input, set) {\n\n\t\tfunction collectCharacters(regEx) {\n\t\t\tvar chars,\n\t\t\t match = regEx.exec(input.substring(pos));\n\t\t\tif (match) {\n\t\t\t\tchars = match[ 0 ];\n\t\t\t\tpos += chars.length;\n\t\t\t\treturn chars;\n\t\t\t}\n\t\t}\n\n\t\tvar inputLength = input.length,\n\t\t url,\n\t\t descriptors,\n\t\t currentDescriptor,\n\t\t state,\n\t\t c,\n\n\t\t // 2. Let position be a pointer into input, initially pointing at the start\n\t\t // of the string.\n\t\t pos = 0,\n\n\t\t // 3. Let candidates be an initially empty source set.\n\t\t candidates = [];\n\n\t\t/**\n\t\t* Adds descriptor properties to a candidate, pushes to the candidates array\n\t\t* @return undefined\n\t\t*/\n\t\t// (Declared outside of the while loop so that it's only created once.\n\t\t// (This fn is defined before it is used, in order to pass JSHINT.\n\t\t// Unfortunately this breaks the sequencing of the spec comments. :/ )\n\t\tfunction parseDescriptors() {\n\n\t\t\t// 9. Descriptor parser: Let error be no.\n\t\t\tvar pError = false,\n\n\t\t\t// 10. Let width be absent.\n\t\t\t// 11. Let density be absent.\n\t\t\t// 12. Let future-compat-h be absent. (We're implementing it now as h)\n\t\t\t w, d, h, i,\n\t\t\t candidate = {},\n\t\t\t desc, lastChar, value, intVal, floatVal;\n\n\t\t\t// 13. For each descriptor in descriptors, run the appropriate set of steps\n\t\t\t// from the following list:\n\t\t\tfor (i = 0 ; i < descriptors.length; i++) {\n\t\t\t\tdesc = descriptors[ i ];\n\n\t\t\t\tlastChar = desc[ desc.length - 1 ];\n\t\t\t\tvalue = desc.substring(0, desc.length - 1);\n\t\t\t\tintVal = parseInt(value, 10);\n\t\t\t\tfloatVal = parseFloat(value);\n\n\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t// a U+0077 LATIN SMALL LETTER W character\n\t\t\t\tif (regexNonNegativeInteger.test(value) && (lastChar === \"w\")) {\n\n\t\t\t\t\t// If width and density are not both absent, then let error be yes.\n\t\t\t\t\tif (w || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes.\n\t\t\t\t\t// Otherwise, let width be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {w = intVal;}\n\n\t\t\t\t// If the descriptor consists of a valid floating-point number followed by\n\t\t\t\t// a U+0078 LATIN SMALL LETTER X character\n\t\t\t\t} else if (regexFloatingPoint.test(value) && (lastChar === \"x\")) {\n\n\t\t\t\t\t// If width, density and future-compat-h are not all absent, then let error\n\t\t\t\t\t// be yes.\n\t\t\t\t\tif (w || d || h) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing floating-point number values to the descriptor.\n\t\t\t\t\t// If the result is less than zero, let error be yes. Otherwise, let density\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (floatVal < 0) {pError = true;} else {d = floatVal;}\n\n\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t// a U+0068 LATIN SMALL LETTER H character\n\t\t\t\t} else if (regexNonNegativeInteger.test(value) && (lastChar === \"h\")) {\n\n\t\t\t\t\t// If height and density are not both absent, then let error be yes.\n\t\t\t\t\tif (h || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes. Otherwise, let future-compat-h\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {h = intVal;}\n\n\t\t\t\t// Anything else, Let error be yes.\n\t\t\t\t} else {pError = true;}\n\t\t\t} // (close step 13 for loop)\n\n\t\t\t// 15. If error is still no, then append a new image source to candidates whose\n\t\t\t// URL is url, associated with a width width if not absent and a pixel\n\t\t\t// density density if not absent. Otherwise, there is a parse error.\n\t\t\tif (!pError) {\n\t\t\t\tcandidate.url = url;\n\n\t\t\t\tif (w) { candidate.w = w;}\n\t\t\t\tif (d) { candidate.d = d;}\n\t\t\t\tif (h) { candidate.h = h;}\n\t\t\t\tif (!h && !d && !w) {candidate.d = 1;}\n\t\t\t\tif (candidate.d === 1) {set.has1x = true;}\n\t\t\t\tcandidate.set = set;\n\n\t\t\t\tcandidates.push(candidate);\n\t\t\t}\n\t\t} // (close parseDescriptors fn)\n\n\t\t/**\n\t\t* Tokenizes descriptor properties prior to parsing\n\t\t* Returns undefined.\n\t\t* (Again, this fn is defined before it is used, in order to pass JSHINT.\n\t\t* Unfortunately this breaks the logical sequencing of the spec comments. :/ )\n\t\t*/\n\t\tfunction tokenize() {\n\n\t\t\t// 8.1. Descriptor tokeniser: Skip whitespace\n\t\t\tcollectCharacters(regexLeadingSpaces);\n\n\t\t\t// 8.2. Let current descriptor be the empty string.\n\t\t\tcurrentDescriptor = \"\";\n\n\t\t\t// 8.3. Let state be in descriptor.\n\t\t\tstate = \"in descriptor\";\n\n\t\t\twhile (true) {\n\n\t\t\t\t// 8.4. Let c be the character at position.\n\t\t\t\tc = input.charAt(pos);\n\n\t\t\t\t// Do the following depending on the value of state.\n\t\t\t\t// For the purpose of this step, \"EOF\" is a special character representing\n\t\t\t\t// that position is past the end of input.\n\n\t\t\t\t// In descriptor\n\t\t\t\tif (state === \"in descriptor\") {\n\t\t\t\t\t// Do the following, depending on the value of c:\n\n\t\t\t\t // Space character\n\t\t\t\t // If current descriptor is not empty, append current descriptor to\n\t\t\t\t // descriptors and let current descriptor be the empty string.\n\t\t\t\t // Set state to after descriptor.\n\t\t\t\t\tif (isSpace(c)) {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t\tcurrentDescriptor = \"\";\n\t\t\t\t\t\t\tstate = \"after descriptor\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// U+002C COMMA (,)\n\t\t\t\t\t// Advance position to the next character in input. If current descriptor\n\t\t\t\t\t// is not empty, append current descriptor to descriptors. Jump to the step\n\t\t\t\t\t// labeled descriptor parser.\n\t\t\t\t\t} else if (c === \",\") {\n\t\t\t\t\t\tpos += 1;\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// U+0028 LEFT PARENTHESIS (()\n\t\t\t\t\t// Append c to current descriptor. Set state to in parens.\n\t\t\t\t\t} else if (c === \"\\u0028\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in parens\";\n\n\t\t\t\t\t// EOF\n\t\t\t\t\t// If current descriptor is not empty, append current descriptor to\n\t\t\t\t\t// descriptors. Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// Anything else\n\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\t\t\t\t// (end \"in descriptor\"\n\n\t\t\t\t// In parens\n\t\t\t\t} else if (state === \"in parens\") {\n\n\t\t\t\t\t// U+0029 RIGHT PARENTHESIS ())\n\t\t\t\t\t// Append c to current descriptor. Set state to in descriptor.\n\t\t\t\t\tif (c === \")\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in descriptor\";\n\n\t\t\t\t\t// EOF\n\t\t\t\t\t// Append current descriptor to descriptors. Jump to the step labeled\n\t\t\t\t\t// descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// Anything else\n\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\n\t\t\t\t// After descriptor\n\t\t\t\t} else if (state === \"after descriptor\") {\n\n\t\t\t\t\t// Do the following, depending on the value of c:\n\t\t\t\t\t// Space character: Stay in this state.\n\t\t\t\t\tif (isSpace(c)) {\n\n\t\t\t\t\t// EOF: Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// Anything else\n\t\t\t\t\t// Set state to in descriptor. Set position to the previous character in input.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = \"in descriptor\";\n\t\t\t\t\t\tpos -= 1;\n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Advance position to the next character in input.\n\t\t\t\tpos += 1;\n\n\t\t\t// Repeat this step.\n\t\t\t} // (close while true loop)\n\t\t}\n\n\t\t// 4. Splitting loop: Collect a sequence of characters that are space\n\t\t// characters or U+002C COMMA characters. If any U+002C COMMA characters\n\t\t// were collected, that is a parse error.\n\t\twhile (true) {\n\t\t\tcollectCharacters(regexLeadingCommasOrSpaces);\n\n\t\t\t// 5. If position is past the end of input, return candidates and abort these steps.\n\t\t\tif (pos >= inputLength) {\n\t\t\t\treturn candidates; // (we're done, this is the sole return path)\n\t\t\t}\n\n\t\t\t// 6. Collect a sequence of characters that are not space characters,\n\t\t\t// and let that be url.\n\t\t\turl = collectCharacters(regexLeadingNotSpaces);\n\n\t\t\t// 7. Let descriptors be a new empty list.\n\t\t\tdescriptors = [];\n\n\t\t\t// 8. If url ends with a U+002C COMMA character (,), follow these substeps:\n\t\t\t//\t\t(1). Remove all trailing U+002C COMMA characters from url. If this removed\n\t\t\t// more than one character, that is a parse error.\n\t\t\tif (url.slice(-1) === \",\") {\n\t\t\t\turl = url.replace(regexTrailingCommas, \"\");\n\t\t\t\t// (Jump ahead to step 9 to skip tokenization and just push the candidate).\n\t\t\t\tparseDescriptors();\n\n\t\t\t//\tOtherwise, follow these substeps:\n\t\t\t} else {\n\t\t\t\ttokenize();\n\t\t\t} // (close else of step 8)\n\n\t\t// 16. Return to the step labeled splitting loop.\n\t\t} // (Close of big while loop.)\n\t}\n\n\t/*\n\t * Sizes Parser\n\t *\n\t * By Alex Bell | MIT License\n\t *\n\t * Non-strict but accurate and lightweight JS Parser for the string value
\n\t *\n\t * Reference algorithm at:\n\t * https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-sizes-attribute\n\t *\n\t * Most comments are copied in directly from the spec\n\t * (except for comments in parens).\n\t *\n\t * Grammar is:\n\t * = # [ , ]? | \n\t * = \n\t * = \n\t * http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#attr-img-sizes\n\t *\n\t * E.g. \"(max-width: 30em) 100vw, (max-width: 50em) 70vw, 100vw\"\n\t * or \"(min-width: 30em), calc(30vw - 15px)\" or just \"30vw\"\n\t *\n\t * Returns the first valid with a media condition that evaluates to true,\n\t * or \"100vw\" if all valid media conditions evaluate to false.\n\t *\n\t */\n\n\tfunction parseSizes(strValue) {\n\n\t\t// (Percentage CSS lengths are not allowed in this case, to avoid confusion:\n\t\t// https://html.spec.whatwg.org/multipage/embedded-content.html#valid-source-size-list\n\t\t// CSS allows a single optional plus or minus sign:\n\t\t// http://www.w3.org/TR/CSS2/syndata.html#numbers\n\t\t// CSS is ASCII case-insensitive:\n\t\t// http://www.w3.org/TR/CSS2/syndata.html#characters )\n\t\t// Spec allows exponential notation for type:\n\t\t// http://dev.w3.org/csswg/css-values/#numbers\n\t\tvar regexCssLengthWithUnits = /^(?:[+-]?[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i;\n\n\t\t// (This is a quick and lenient test. Because of optional unlimited-depth internal\n\t\t// grouping parens and strict spacing rules, this could get very complicated.)\n\t\tvar regexCssCalc = /^calc\\((?:[0-9a-z \\.\\+\\-\\*\\/\\(\\)]+)\\)$/i;\n\n\t\tvar i;\n\t\tvar unparsedSizesList;\n\t\tvar unparsedSizesListLength;\n\t\tvar unparsedSize;\n\t\tvar lastComponentValue;\n\t\tvar size;\n\n\t\t// UTILITY FUNCTIONS\n\n\t\t// (Toy CSS parser. The goals here are:\n\t\t// 1) expansive test coverage without the weight of a full CSS parser.\n\t\t// 2) Avoiding regex wherever convenient.\n\t\t// Quick tests: http://jsfiddle.net/gtntL4gr/3/\n\t\t// Returns an array of arrays.)\n\t\tfunction parseComponentValues(str) {\n\t\t\tvar chrctr;\n\t\t\tvar component = \"\";\n\t\t\tvar componentArray = [];\n\t\t\tvar listArray = [];\n\t\t\tvar parenDepth = 0;\n\t\t\tvar pos = 0;\n\t\t\tvar inComment = false;\n\n\t\t\tfunction pushComponent() {\n\t\t\t\tif (component) {\n\t\t\t\t\tcomponentArray.push(component);\n\t\t\t\t\tcomponent = \"\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction pushComponentArray() {\n\t\t\t\tif (componentArray[0]) {\n\t\t\t\t\tlistArray.push(componentArray);\n\t\t\t\t\tcomponentArray = [];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// (Loop forwards from the beginning of the string.)\n\t\t\twhile (true) {\n\t\t\t\tchrctr = str.charAt(pos);\n\n\t\t\t\tif (chrctr === \"\") { // ( End of string reached.)\n\t\t\t\t\tpushComponent();\n\t\t\t\t\tpushComponentArray();\n\t\t\t\t\treturn listArray;\n\t\t\t\t} else if (inComment) {\n\t\t\t\t\tif ((chrctr === \"*\") && (str[pos + 1] === \"/\")) { // (At end of a comment.)\n\t\t\t\t\t\tinComment = false;\n\t\t\t\t\t\tpos += 2;\n\t\t\t\t\t\tpushComponent();\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpos += 1; // (Skip all characters inside comments.)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t} else if (isSpace(chrctr)) {\n\t\t\t\t\t// (If previous character in loop was also a space, or if\n\t\t\t\t\t// at the beginning of the string, do not add space char to\n\t\t\t\t\t// component.)\n\t\t\t\t\tif ( (str.charAt(pos - 1) && isSpace( str.charAt(pos - 1) ) ) || !component ) {\n\t\t\t\t\t\tpos += 1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if (parenDepth === 0) {\n\t\t\t\t\t\tpushComponent();\n\t\t\t\t\t\tpos +=1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// (Replace any space character with a plain space for legibility.)\n\t\t\t\t\t\tchrctr = \" \";\n\t\t\t\t\t}\n\t\t\t\t} else if (chrctr === \"(\") {\n\t\t\t\t\tparenDepth += 1;\n\t\t\t\t} else if (chrctr === \")\") {\n\t\t\t\t\tparenDepth -= 1;\n\t\t\t\t} else if (chrctr === \",\") {\n\t\t\t\t\tpushComponent();\n\t\t\t\t\tpushComponentArray();\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tcontinue;\n\t\t\t\t} else if ( (chrctr === \"/\") && (str.charAt(pos + 1) === \"*\") ) {\n\t\t\t\t\tinComment = true;\n\t\t\t\t\tpos += 2;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcomponent = component + chrctr;\n\t\t\t\tpos += 1;\n\t\t\t}\n\t\t}\n\n\t\tfunction isValidNonNegativeSourceSizeValue(s) {\n\t\t\tif (regexCssLengthWithUnits.test(s) && (parseFloat(s) >= 0)) {return true;}\n\t\t\tif (regexCssCalc.test(s)) {return true;}\n\t\t\t// ( http://www.w3.org/TR/CSS2/syndata.html#numbers says:\n\t\t\t// \"-0 is equivalent to 0 and is not a negative number.\" which means that\n\t\t\t// unitless zero and unitless negative zero must be accepted as special cases.)\n\t\t\tif ((s === \"0\") || (s === \"-0\") || (s === \"+0\")) {return true;}\n\t\t\treturn false;\n\t\t}\n\n\t\t// When asked to parse a sizes attribute from an element, parse a\n\t\t// comma-separated list of component values from the value of the element's\n\t\t// sizes attribute (or the empty string, if the attribute is absent), and let\n\t\t// unparsed sizes list be the result.\n\t\t// http://dev.w3.org/csswg/css-syntax/#parse-comma-separated-list-of-component-values\n\n\t\tunparsedSizesList = parseComponentValues(strValue);\n\t\tunparsedSizesListLength = unparsedSizesList.length;\n\n\t\t// For each unparsed size in unparsed sizes list:\n\t\tfor (i = 0; i < unparsedSizesListLength; i++) {\n\t\t\tunparsedSize = unparsedSizesList[i];\n\n\t\t\t// 1. Remove all consecutive s from the end of unparsed size.\n\t\t\t// ( parseComponentValues() already omits spaces outside of parens. )\n\n\t\t\t// If unparsed size is now empty, that is a parse error; continue to the next\n\t\t\t// iteration of this algorithm.\n\t\t\t// ( parseComponentValues() won't push an empty array. )\n\n\t\t\t// 2. If the last component value in unparsed size is a valid non-negative\n\t\t\t// , let size be its value and remove the component value\n\t\t\t// from unparsed size. Any CSS function other than the calc() function is\n\t\t\t// invalid. Otherwise, there is a parse error; continue to the next iteration\n\t\t\t// of this algorithm.\n\t\t\t// http://dev.w3.org/csswg/css-syntax/#parse-component-value\n\t\t\tlastComponentValue = unparsedSize[unparsedSize.length - 1];\n\n\t\t\tif (isValidNonNegativeSourceSizeValue(lastComponentValue)) {\n\t\t\t\tsize = lastComponentValue;\n\t\t\t\tunparsedSize.pop();\n\t\t\t} else {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// 3. Remove all consecutive s from the end of unparsed\n\t\t\t// size. If unparsed size is now empty, return size and exit this algorithm.\n\t\t\t// If this was not the last item in unparsed sizes list, that is a parse error.\n\t\t\tif (unparsedSize.length === 0) {\n\t\t\t\treturn size;\n\t\t\t}\n\n\t\t\t// 4. Parse the remaining component values in unparsed size as a\n\t\t\t// . If it does not parse correctly, or it does parse\n\t\t\t// correctly but the evaluates to false, continue to the\n\t\t\t// next iteration of this algorithm.\n\t\t\t// (Parsing all possible compound media conditions in JS is heavy, complicated,\n\t\t\t// and the payoff is unclear. Is there ever an situation where the\n\t\t\t// media condition parses incorrectly but still somehow evaluates to true?\n\t\t\t// Can we just rely on the browser/polyfill to do it?)\n\t\t\tunparsedSize = unparsedSize.join(\" \");\n\t\t\tif (!(pf.matchesMedia( unparsedSize ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// 5. Return size and exit this algorithm.\n\t\t\treturn size;\n\t\t}\n\n\t\t// If the above algorithm exhausts unparsed sizes list without returning a\n\t\t// size value, return 100vw.\n\t\treturn \"100vw\";\n\t}\n\n\t// namespace\n\tpf.ns = (\"pf\" + new Date().getTime()).substr(0, 9);\n\n\t// srcset support test\n\tpf.supSrcset = \"srcset\" in image;\n\tpf.supSizes = \"sizes\" in image;\n\tpf.supPicture = !!window.HTMLPictureElement;\n\n\t// UC browser does claim to support srcset and picture, but not sizes,\n\t// this extended test reveals the browser does support nothing\n\tif (pf.supSrcset && pf.supPicture && !pf.supSizes) {\n\t\t(function(image2) {\n\t\t\timage.srcset = \"data:,a\";\n\t\t\timage2.src = \"data:,a\";\n\t\t\tpf.supSrcset = image.complete === image2.complete;\n\t\t\tpf.supPicture = pf.supSrcset && pf.supPicture;\n\t\t})(document.createElement(\"img\"));\n\t}\n\n\t// Safari9 has basic support for sizes, but does't expose the `sizes` idl attribute\n\tif (pf.supSrcset && !pf.supSizes) {\n\n\t\t(function() {\n\t\t\tvar width2 = \"data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==\";\n\t\t\tvar width1 = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n\t\t\tvar img = document.createElement(\"img\");\n\t\t\tvar test = function() {\n\t\t\t\tvar width = img.width;\n\n\t\t\t\tif (width === 2) {\n\t\t\t\t\tpf.supSizes = true;\n\t\t\t\t}\n\n\t\t\t\talwaysCheckWDescriptor = pf.supSrcset && !pf.supSizes;\n\n\t\t\t\tisSupportTestReady = true;\n\t\t\t\t// force async\n\t\t\t\tsetTimeout(picturefill);\n\t\t\t};\n\n\t\t\timg.onload = test;\n\t\t\timg.onerror = test;\n\t\t\timg.setAttribute(\"sizes\", \"9px\");\n\n\t\t\timg.srcset = width1 + \" 1w,\" + width2 + \" 9w\";\n\t\t\timg.src = width1;\n\t\t})();\n\n\t} else {\n\t\tisSupportTestReady = true;\n\t}\n\n\t// using pf.qsa instead of dom traversing does scale much better,\n\t// especially on sites mixing responsive and non-responsive images\n\tpf.selShort = \"picture>img,img[srcset]\";\n\tpf.sel = pf.selShort;\n\tpf.cfg = cfg;\n\n\t/**\n\t * Shortcut property for `devicePixelRatio` ( for easy overriding in tests )\n\t */\n\tpf.DPR = (DPR || 1 );\n\tpf.u = units;\n\n\t// container of supported mime types that one might need to qualify before using\n\tpf.types = types;\n\n\tpf.setSize = noop;\n\n\t/**\n\t * Gets a string and returns the absolute URL\n\t * @param src\n\t * @returns {String} absolute URL\n\t */\n\n\tpf.makeUrl = memoize(function(src) {\n\t\tanchor.href = src;\n\t\treturn anchor.href;\n\t});\n\n\t/**\n\t * Gets a DOM element or document and a selctor and returns the found matches\n\t * Can be extended with jQuery/Sizzle for IE7 support\n\t * @param context\n\t * @param sel\n\t * @returns {NodeList|Array}\n\t */\n\tpf.qsa = function(context, sel) {\n\t\treturn ( \"querySelector\" in context ) ? context.querySelectorAll(sel) : [];\n\t};\n\n\t/**\n\t * Shortcut method for matchMedia ( for easy overriding in tests )\n\t * wether native or pf.mMQ is used will be decided lazy on first call\n\t * @returns {boolean}\n\t */\n\tpf.matchesMedia = function() {\n\t\tif ( window.matchMedia && (matchMedia( \"(min-width: 0.1em)\" ) || {}).matches ) {\n\t\t\tpf.matchesMedia = function( media ) {\n\t\t\t\treturn !media || ( matchMedia( media ).matches );\n\t\t\t};\n\t\t} else {\n\t\t\tpf.matchesMedia = pf.mMQ;\n\t\t}\n\n\t\treturn pf.matchesMedia.apply( this, arguments );\n\t};\n\n\t/**\n\t * A simplified matchMedia implementation for IE8 and IE9\n\t * handles only min-width/max-width with px or em values\n\t * @param media\n\t * @returns {boolean}\n\t */\n\tpf.mMQ = function( media ) {\n\t\treturn media ? evalCSS(media) : true;\n\t};\n\n\t/**\n\t * Returns the calculated length in css pixel from the given sourceSizeValue\n\t * http://dev.w3.org/csswg/css-values-3/#length-value\n\t * intended Spec mismatches:\n\t * * Does not check for invalid use of CSS functions\n\t * * Does handle a computed length of 0 the same as a negative and therefore invalid value\n\t * @param sourceSizeValue\n\t * @returns {Number}\n\t */\n\tpf.calcLength = function( sourceSizeValue ) {\n\n\t\tvar value = evalCSS(sourceSizeValue, true) || false;\n\t\tif (value < 0) {\n\t\t\tvalue = false;\n\t\t}\n\n\t\treturn value;\n\t};\n\n\t/**\n\t * Takes a type string and checks if its supported\n\t */\n\n\tpf.supportsType = function( type ) {\n\t\treturn ( type ) ? types[ type ] : true;\n\t};\n\n\t/**\n\t * Parses a sourceSize into mediaCondition (media) and sourceSizeValue (length)\n\t * @param sourceSizeStr\n\t * @returns {*}\n\t */\n\tpf.parseSize = memoize(function( sourceSizeStr ) {\n\t\tvar match = ( sourceSizeStr || \"\" ).match(regSize);\n\t\treturn {\n\t\t\tmedia: match && match[1],\n\t\t\tlength: match && match[2]\n\t\t};\n\t});\n\n\tpf.parseSet = function( set ) {\n\t\tif ( !set.cands ) {\n\t\t\tset.cands = parseSrcset(set.srcset, set);\n\t\t}\n\t\treturn set.cands;\n\t};\n\n\t/**\n\t * returns 1em in css px for html/body default size\n\t * function taken from respondjs\n\t * @returns {*|number}\n\t */\n\tpf.getEmValue = function() {\n\t\tvar body;\n\t\tif ( !eminpx && (body = document.body) ) {\n\t\t\tvar div = document.createElement( \"div\" ),\n\t\t\t\toriginalHTMLCSS = docElem.style.cssText,\n\t\t\t\toriginalBodyCSS = body.style.cssText;\n\n\t\t\tdiv.style.cssText = baseStyle;\n\n\t\t\t// 1em in a media query is the value of the default font size of the browser\n\t\t\t// reset docElem and body to ensure the correct value is returned\n\t\t\tdocElem.style.cssText = fsCss;\n\t\t\tbody.style.cssText = fsCss;\n\n\t\t\tbody.appendChild( div );\n\t\t\teminpx = div.offsetWidth;\n\t\t\tbody.removeChild( div );\n\n\t\t\t//also update eminpx before returning\n\t\t\teminpx = parseFloat( eminpx, 10 );\n\n\t\t\t// restore the original values\n\t\t\tdocElem.style.cssText = originalHTMLCSS;\n\t\t\tbody.style.cssText = originalBodyCSS;\n\n\t\t}\n\t\treturn eminpx || 16;\n\t};\n\n\t/**\n\t * Takes a string of sizes and returns the width in pixels as a number\n\t */\n\tpf.calcListLength = function( sourceSizeListStr ) {\n\t\t// Split up source size list, ie ( max-width: 30em ) 100%, ( max-width: 50em ) 50%, 33%\n\t\t//\n\t\t// or (min-width:30em) calc(30% - 15px)\n\t\tif ( !(sourceSizeListStr in sizeLengthCache) || cfg.uT ) {\n\t\t\tvar winningLength = pf.calcLength( parseSizes( sourceSizeListStr ) );\n\n\t\t\tsizeLengthCache[ sourceSizeListStr ] = !winningLength ? units.width : winningLength;\n\t\t}\n\n\t\treturn sizeLengthCache[ sourceSizeListStr ];\n\t};\n\n\t/**\n\t * Takes a candidate object with a srcset property in the form of url/\n\t * ex. \"images/pic-medium.png 1x, images/pic-medium-2x.png 2x\" or\n\t * \"images/pic-medium.png 400w, images/pic-medium-2x.png 800w\" or\n\t * \"images/pic-small.png\"\n\t * Get an array of image candidates in the form of\n\t * {url: \"/foo/bar.png\", resolution: 1}\n\t * where resolution is http://dev.w3.org/csswg/css-values-3/#resolution-value\n\t * If sizes is specified, res is calculated\n\t */\n\tpf.setRes = function( set ) {\n\t\tvar candidates;\n\t\tif ( set ) {\n\n\t\t\tcandidates = pf.parseSet( set );\n\n\t\t\tfor ( var i = 0, len = candidates.length; i < len; i++ ) {\n\t\t\t\tsetResolution( candidates[ i ], set.sizes );\n\t\t\t}\n\t\t}\n\t\treturn candidates;\n\t};\n\n\tpf.setRes.res = setResolution;\n\n\tpf.applySetCandidate = function( candidates, img ) {\n\t\tif ( !candidates.length ) {return;}\n\t\tvar candidate,\n\t\t\ti,\n\t\t\tj,\n\t\t\tlength,\n\t\t\tbestCandidate,\n\t\t\tcurSrc,\n\t\t\tcurCan,\n\t\t\tcandidateSrc,\n\t\t\tabortCurSrc;\n\n\t\tvar imageData = img[ pf.ns ];\n\t\tvar dpr = pf.DPR;\n\n\t\tcurSrc = imageData.curSrc || img[curSrcProp];\n\n\t\tcurCan = imageData.curCan || setSrcToCur(img, curSrc, candidates[0].set);\n\n\t\t// if we have a current source, we might either become lazy or give this source some advantage\n\t\tif ( curCan && curCan.set === candidates[ 0 ].set ) {\n\n\t\t\t// if browser can abort image request and the image has a higher pixel density than needed\n\t\t\t// and this image isn't downloaded yet, we skip next part and try to save bandwidth\n\t\t\tabortCurSrc = (supportAbort && !img.complete && curCan.res - 0.1 > dpr);\n\n\t\t\tif ( !abortCurSrc ) {\n\t\t\t\tcurCan.cached = true;\n\n\t\t\t\t// if current candidate is \"best\", \"better\" or \"okay\",\n\t\t\t\t// set it to bestCandidate\n\t\t\t\tif ( curCan.res >= dpr ) {\n\t\t\t\t\tbestCandidate = curCan;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( !bestCandidate ) {\n\n\t\t\tcandidates.sort( ascendingSort );\n\n\t\t\tlength = candidates.length;\n\t\t\tbestCandidate = candidates[ length - 1 ];\n\n\t\t\tfor ( i = 0; i < length; i++ ) {\n\t\t\t\tcandidate = candidates[ i ];\n\t\t\t\tif ( candidate.res >= dpr ) {\n\t\t\t\t\tj = i - 1;\n\n\t\t\t\t\t// we have found the perfect candidate,\n\t\t\t\t\t// but let's improve this a little bit with some assumptions ;-)\n\t\t\t\t\tif (candidates[ j ] &&\n\t\t\t\t\t\t(abortCurSrc || curSrc !== pf.makeUrl( candidate.url )) &&\n\t\t\t\t\t\tchooseLowRes(candidates[ j ].res, candidate.res, dpr, candidates[ j ].cached)) {\n\n\t\t\t\t\t\tbestCandidate = candidates[ j ];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbestCandidate = candidate;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( bestCandidate ) {\n\n\t\t\tcandidateSrc = pf.makeUrl( bestCandidate.url );\n\n\t\t\timageData.curSrc = candidateSrc;\n\t\t\timageData.curCan = bestCandidate;\n\n\t\t\tif ( candidateSrc !== curSrc ) {\n\t\t\t\tpf.setSrc( img, bestCandidate );\n\t\t\t}\n\t\t\tpf.setSize( img );\n\t\t}\n\t};\n\n\tpf.setSrc = function( img, bestCandidate ) {\n\t\tvar origWidth;\n\t\timg.src = bestCandidate.url;\n\n\t\t// although this is a specific Safari issue, we don't want to take too much different code paths\n\t\tif ( bestCandidate.set.type === \"image/svg+xml\" ) {\n\t\t\torigWidth = img.style.width;\n\t\t\timg.style.width = (img.offsetWidth + 1) + \"px\";\n\n\t\t\t// next line only should trigger a repaint\n\t\t\t// if... is only done to trick dead code removal\n\t\t\tif ( img.offsetWidth + 1 ) {\n\t\t\t\timg.style.width = origWidth;\n\t\t\t}\n\t\t}\n\t};\n\n\tpf.getSet = function( img ) {\n\t\tvar i, set, supportsType;\n\t\tvar match = false;\n\t\tvar sets = img [ pf.ns ].sets;\n\n\t\tfor ( i = 0; i < sets.length && !match; i++ ) {\n\t\t\tset = sets[i];\n\n\t\t\tif ( !set.srcset || !pf.matchesMedia( set.media ) || !(supportsType = pf.supportsType( set.type )) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( supportsType === \"pending\" ) {\n\t\t\t\tset = supportsType;\n\t\t\t}\n\n\t\t\tmatch = set;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn match;\n\t};\n\n\tpf.parseSets = function( element, parent, options ) {\n\t\tvar srcsetAttribute, imageSet, isWDescripor, srcsetParsed;\n\n\t\tvar hasPicture = parent && parent.nodeName.toUpperCase() === \"PICTURE\";\n\t\tvar imageData = element[ pf.ns ];\n\n\t\tif ( imageData.src === undefined || options.src ) {\n\t\t\timageData.src = getImgAttr.call( element, \"src\" );\n\t\t\tif ( imageData.src ) {\n\t\t\t\tsetImgAttr.call( element, srcAttr, imageData.src );\n\t\t\t} else {\n\t\t\t\tremoveImgAttr.call( element, srcAttr );\n\t\t\t}\n\t\t}\n\n\t\tif ( imageData.srcset === undefined || options.srcset || !pf.supSrcset || element.srcset ) {\n\t\t\tsrcsetAttribute = getImgAttr.call( element, \"srcset\" );\n\t\t\timageData.srcset = srcsetAttribute;\n\t\t\tsrcsetParsed = true;\n\t\t}\n\n\t\timageData.sets = [];\n\n\t\tif ( hasPicture ) {\n\t\t\timageData.pic = true;\n\t\t\tgetAllSourceElements( parent, imageData.sets );\n\t\t}\n\n\t\tif ( imageData.srcset ) {\n\t\t\timageSet = {\n\t\t\t\tsrcset: imageData.srcset,\n\t\t\t\tsizes: getImgAttr.call( element, \"sizes\" )\n\t\t\t};\n\n\t\t\timageData.sets.push( imageSet );\n\n\t\t\tisWDescripor = (alwaysCheckWDescriptor || imageData.src) && regWDesc.test(imageData.srcset || \"\");\n\n\t\t\t// add normal src as candidate, if source has no w descriptor\n\t\t\tif ( !isWDescripor && imageData.src && !getCandidateForSrc(imageData.src, imageSet) && !imageSet.has1x ) {\n\t\t\t\timageSet.srcset += \", \" + imageData.src;\n\t\t\t\timageSet.cands.push({\n\t\t\t\t\turl: imageData.src,\n\t\t\t\t\td: 1,\n\t\t\t\t\tset: imageSet\n\t\t\t\t});\n\t\t\t}\n\n\t\t} else if ( imageData.src ) {\n\t\t\timageData.sets.push( {\n\t\t\t\tsrcset: imageData.src,\n\t\t\t\tsizes: null\n\t\t\t} );\n\t\t}\n\n\t\timageData.curCan = null;\n\t\timageData.curSrc = undefined;\n\n\t\t// if img has picture or the srcset was removed or has a srcset and does not support srcset at all\n\t\t// or has a w descriptor (and does not support sizes) set support to false to evaluate\n\t\timageData.supported = !( hasPicture || ( imageSet && !pf.supSrcset ) || (isWDescripor && !pf.supSizes) );\n\n\t\tif ( srcsetParsed && pf.supSrcset && !imageData.supported ) {\n\t\t\tif ( srcsetAttribute ) {\n\t\t\t\tsetImgAttr.call( element, srcsetAttr, srcsetAttribute );\n\t\t\t\telement.srcset = \"\";\n\t\t\t} else {\n\t\t\t\tremoveImgAttr.call( element, srcsetAttr );\n\t\t\t}\n\t\t}\n\n\t\tif (imageData.supported && !imageData.srcset && ((!imageData.src && element.src) || element.src !== pf.makeUrl(imageData.src))) {\n\t\t\tif (imageData.src === null) {\n\t\t\t\telement.removeAttribute(\"src\");\n\t\t\t} else {\n\t\t\t\telement.src = imageData.src;\n\t\t\t}\n\t\t}\n\n\t\timageData.parsed = true;\n\t};\n\n\tpf.fillImg = function(element, options) {\n\t\tvar imageData;\n\t\tvar extreme = options.reselect || options.reevaluate;\n\n\t\t// expando for caching data on the img\n\t\tif ( !element[ pf.ns ] ) {\n\t\t\telement[ pf.ns ] = {};\n\t\t}\n\n\t\timageData = element[ pf.ns ];\n\n\t\t// if the element has already been evaluated, skip it\n\t\t// unless `options.reevaluate` is set to true ( this, for example,\n\t\t// is set to true when running `picturefill` on `resize` ).\n\t\tif ( !extreme && imageData.evaled === evalId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !imageData.parsed || options.reevaluate ) {\n\t\t\tpf.parseSets( element, element.parentNode, options );\n\t\t}\n\n\t\tif ( !imageData.supported ) {\n\t\t\tapplyBestCandidate( element );\n\t\t} else {\n\t\t\timageData.evaled = evalId;\n\t\t}\n\t};\n\n\tpf.setupRun = function() {\n\t\tif ( !alreadyRun || isVwDirty || (DPR !== window.devicePixelRatio) ) {\n\t\t\tupdateMetrics();\n\t\t}\n\t};\n\n\t// If picture is supported, well, that's awesome.\n\tif ( pf.supPicture ) {\n\t\tpicturefill = noop;\n\t\tpf.fillImg = noop;\n\t} else {\n\n\t\t // Set up picture polyfill by polling the document\n\t\t(function() {\n\t\t\tvar isDomReady;\n\t\t\tvar regReady = window.attachEvent ? /d$|^c/ : /d$|^c|^i/;\n\n\t\t\tvar run = function() {\n\t\t\t\tvar readyState = document.readyState || \"\";\n\n\t\t\t\ttimerId = setTimeout(run, readyState === \"loading\" ? 200 : 999);\n\t\t\t\tif ( document.body ) {\n\t\t\t\t\tpf.fillImgs();\n\t\t\t\t\tisDomReady = isDomReady || regReady.test(readyState);\n\t\t\t\t\tif ( isDomReady ) {\n\t\t\t\t\t\tclearTimeout( timerId );\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar timerId = setTimeout(run, document.body ? 9 : 99);\n\n\t\t\t// Also attach picturefill on resize and readystatechange\n\t\t\t// http://modernjavascript.blogspot.com/2013/08/building-better-debounce.html\n\t\t\tvar debounce = function(func, wait) {\n\t\t\t\tvar timeout, timestamp;\n\t\t\t\tvar later = function() {\n\t\t\t\t\tvar last = (new Date()) - timestamp;\n\n\t\t\t\t\tif (last < wait) {\n\t\t\t\t\t\ttimeout = setTimeout(later, wait - last);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttimeout = null;\n\t\t\t\t\t\tfunc();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn function() {\n\t\t\t\t\ttimestamp = new Date();\n\n\t\t\t\t\tif (!timeout) {\n\t\t\t\t\t\ttimeout = setTimeout(later, wait);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\t\t\tvar lastClientWidth = docElem.clientHeight;\n\t\t\tvar onResize = function() {\n\t\t\t\tisVwDirty = Math.max(window.innerWidth || 0, docElem.clientWidth) !== units.width || docElem.clientHeight !== lastClientWidth;\n\t\t\t\tlastClientWidth = docElem.clientHeight;\n\t\t\t\tif ( isVwDirty ) {\n\t\t\t\t\tpf.fillImgs();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\ton( window, \"resize\", debounce(onResize, 99 ) );\n\t\t\ton( document, \"readystatechange\", run );\n\t\t})();\n\t}\n\n\tpf.picturefill = picturefill;\n\t//use this internally for easy monkey patching/performance testing\n\tpf.fillImgs = picturefill;\n\tpf.teardownRun = noop;\n\n\t/* expose methods for testing */\n\tpicturefill._ = pf;\n\n\twindow.picturefillCFG = {\n\t\tpf: pf,\n\t\tpush: function(args) {\n\t\t\tvar name = args.shift();\n\t\t\tif (typeof pf[name] === \"function\") {\n\t\t\t\tpf[name].apply(pf, args);\n\t\t\t} else {\n\t\t\t\tcfg[name] = args[0];\n\t\t\t\tif (alreadyRun) {\n\t\t\t\t\tpf.fillImgs( { reselect: true } );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\twhile (setOptions && setOptions.length) {\n\t\twindow.picturefillCFG.push(setOptions.shift());\n\t}\n\n\t/* expose picturefill */\n\twindow.picturefill = picturefill;\n\n\t/* expose picturefill */\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// CommonJS, just export\n\t\tmodule.exports = picturefill;\n\t} else if ( typeof define === \"function\" && define.amd ) {\n\t\t// AMD support\n\t\tdefine( \"picturefill\", function() { return picturefill; } );\n\t}\n\n\t// IE8 evals this sync, so it must be the last thing we do\n\tif ( !pf.supPicture ) {\n\t\ttypes[ \"image/webp\" ] = detectTypeSupport(\"image/webp\", \"data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA==\" );\n\t}\n\n} )( window, document );\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var aCallable = require('../internals/a-callable');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aCallable(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","/*! npm.im/object-fit-images 3.2.4 */\n'use strict';\n\nvar OFI = 'bfred-it:object-fit-images';\nvar propRegex = /(object-fit|object-position)\\s*:\\s*([-.\\w\\s%]+)/g;\nvar testImg = typeof Image === 'undefined' ? {style: {'object-position': 1}} : new Image();\nvar supportsObjectFit = 'object-fit' in testImg.style;\nvar supportsObjectPosition = 'object-position' in testImg.style;\nvar supportsOFI = 'background-size' in testImg.style;\nvar supportsCurrentSrc = typeof testImg.currentSrc === 'string';\nvar nativeGetAttribute = testImg.getAttribute;\nvar nativeSetAttribute = testImg.setAttribute;\nvar autoModeEnabled = false;\n\nfunction createPlaceholder(w, h) {\n\treturn (\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='\" + w + \"' height='\" + h + \"'%3E%3C/svg%3E\");\n}\n\nfunction polyfillCurrentSrc(el) {\n\tif (el.srcset && !supportsCurrentSrc && window.picturefill) {\n\t\tvar pf = window.picturefill._;\n\t\t// parse srcset with picturefill where currentSrc isn't available\n\t\tif (!el[pf.ns] || !el[pf.ns].evaled) {\n\t\t\t// force synchronous srcset parsing\n\t\t\tpf.fillImg(el, {reselect: true});\n\t\t}\n\n\t\tif (!el[pf.ns].curSrc) {\n\t\t\t// force picturefill to parse srcset\n\t\t\tel[pf.ns].supported = false;\n\t\t\tpf.fillImg(el, {reselect: true});\n\t\t}\n\n\t\t// retrieve parsed currentSrc, if any\n\t\tel.currentSrc = el[pf.ns].curSrc || el.src;\n\t}\n}\n\nfunction getStyle(el) {\n\tvar style = getComputedStyle(el).fontFamily;\n\tvar parsed;\n\tvar props = {};\n\twhile ((parsed = propRegex.exec(style)) !== null) {\n\t\tprops[parsed[1]] = parsed[2];\n\t}\n\treturn props;\n}\n\nfunction setPlaceholder(img, width, height) {\n\t// Default: fill width, no height\n\tvar placeholder = createPlaceholder(width || 1, height || 0);\n\n\t// Only set placeholder if it's different\n\tif (nativeGetAttribute.call(img, 'src') !== placeholder) {\n\t\tnativeSetAttribute.call(img, 'src', placeholder);\n\t}\n}\n\nfunction onImageReady(img, callback) {\n\t// naturalWidth is only available when the image headers are loaded,\n\t// this loop will poll it every 100ms.\n\tif (img.naturalWidth) {\n\t\tcallback(img);\n\t} else {\n\t\tsetTimeout(onImageReady, 100, img, callback);\n\t}\n}\n\nfunction fixOne(el) {\n\tvar style = getStyle(el);\n\tvar ofi = el[OFI];\n\tstyle['object-fit'] = style['object-fit'] || 'fill'; // default value\n\n\t// Avoid running where unnecessary, unless OFI had already done its deed\n\tif (!ofi.img) {\n\t\t// fill is the default behavior so no action is necessary\n\t\tif (style['object-fit'] === 'fill') {\n\t\t\treturn;\n\t\t}\n\n\t\t// Where object-fit is supported and object-position isn't (Safari < 10)\n\t\tif (\n\t\t\t!ofi.skipTest && // unless user wants to apply regardless of browser support\n\t\t\tsupportsObjectFit && // if browser already supports object-fit\n\t\t\t!style['object-position'] // unless object-position is used\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// keep a clone in memory while resetting the original to a blank\n\tif (!ofi.img) {\n\t\tofi.img = new Image(el.width, el.height);\n\t\tofi.img.srcset = nativeGetAttribute.call(el, \"data-ofi-srcset\") || el.srcset;\n\t\tofi.img.src = nativeGetAttribute.call(el, \"data-ofi-src\") || el.src;\n\n\t\t// preserve for any future cloneNode calls\n\t\t// https://github.com/bfred-it/object-fit-images/issues/53\n\t\tnativeSetAttribute.call(el, \"data-ofi-src\", el.src);\n\t\tif (el.srcset) {\n\t\t\tnativeSetAttribute.call(el, \"data-ofi-srcset\", el.srcset);\n\t\t}\n\n\t\tsetPlaceholder(el, el.naturalWidth || el.width, el.naturalHeight || el.height);\n\n\t\t// remove srcset because it overrides src\n\t\tif (el.srcset) {\n\t\t\tel.srcset = '';\n\t\t}\n\t\ttry {\n\t\t\tkeepSrcUsable(el);\n\t\t} catch (err) {\n\t\t\tif (window.console) {\n\t\t\t\tconsole.warn('https://bit.ly/ofi-old-browser');\n\t\t\t}\n\t\t}\n\t}\n\n\tpolyfillCurrentSrc(ofi.img);\n\n\tel.style.backgroundImage = \"url(\\\"\" + ((ofi.img.currentSrc || ofi.img.src).replace(/\"/g, '\\\\\"')) + \"\\\")\";\n\tel.style.backgroundPosition = style['object-position'] || 'center';\n\tel.style.backgroundRepeat = 'no-repeat';\n\tel.style.backgroundOrigin = 'content-box';\n\n\tif (/scale-down/.test(style['object-fit'])) {\n\t\tonImageReady(ofi.img, function () {\n\t\t\tif (ofi.img.naturalWidth > el.width || ofi.img.naturalHeight > el.height) {\n\t\t\t\tel.style.backgroundSize = 'contain';\n\t\t\t} else {\n\t\t\t\tel.style.backgroundSize = 'auto';\n\t\t\t}\n\t\t});\n\t} else {\n\t\tel.style.backgroundSize = style['object-fit'].replace('none', 'auto').replace('fill', '100% 100%');\n\t}\n\n\tonImageReady(ofi.img, function (img) {\n\t\tsetPlaceholder(el, img.naturalWidth, img.naturalHeight);\n\t});\n}\n\nfunction keepSrcUsable(el) {\n\tvar descriptors = {\n\t\tget: function get(prop) {\n\t\t\treturn el[OFI].img[prop ? prop : 'src'];\n\t\t},\n\t\tset: function set(value, prop) {\n\t\t\tel[OFI].img[prop ? prop : 'src'] = value;\n\t\t\tnativeSetAttribute.call(el, (\"data-ofi-\" + prop), value); // preserve for any future cloneNode\n\t\t\tfixOne(el);\n\t\t\treturn value;\n\t\t}\n\t};\n\tObject.defineProperty(el, 'src', descriptors);\n\tObject.defineProperty(el, 'currentSrc', {\n\t\tget: function () { return descriptors.get('currentSrc'); }\n\t});\n\tObject.defineProperty(el, 'srcset', {\n\t\tget: function () { return descriptors.get('srcset'); },\n\t\tset: function (ss) { return descriptors.set(ss, 'srcset'); }\n\t});\n}\n\nfunction hijackAttributes() {\n\tfunction getOfiImageMaybe(el, name) {\n\t\treturn el[OFI] && el[OFI].img && (name === 'src' || name === 'srcset') ? el[OFI].img : el;\n\t}\n\tif (!supportsObjectPosition) {\n\t\tHTMLImageElement.prototype.getAttribute = function (name) {\n\t\t\treturn nativeGetAttribute.call(getOfiImageMaybe(this, name), name);\n\t\t};\n\n\t\tHTMLImageElement.prototype.setAttribute = function (name, value) {\n\t\t\treturn nativeSetAttribute.call(getOfiImageMaybe(this, name), name, String(value));\n\t\t};\n\t}\n}\n\nfunction fix(imgs, opts) {\n\tvar startAutoMode = !autoModeEnabled && !imgs;\n\topts = opts || {};\n\timgs = imgs || 'img';\n\n\tif ((supportsObjectPosition && !opts.skipTest) || !supportsOFI) {\n\t\treturn false;\n\t}\n\n\t// use imgs as a selector or just select all images\n\tif (imgs === 'img') {\n\t\timgs = document.getElementsByTagName('img');\n\t} else if (typeof imgs === 'string') {\n\t\timgs = document.querySelectorAll(imgs);\n\t} else if (!('length' in imgs)) {\n\t\timgs = [imgs];\n\t}\n\n\t// apply fix to all\n\tfor (var i = 0; i < imgs.length; i++) {\n\t\timgs[i][OFI] = imgs[i][OFI] || {\n\t\t\tskipTest: opts.skipTest\n\t\t};\n\t\tfixOne(imgs[i]);\n\t}\n\n\tif (startAutoMode) {\n\t\tdocument.body.addEventListener('load', function (e) {\n\t\t\tif (e.target.tagName === 'IMG') {\n\t\t\t\tfix(e.target, {\n\t\t\t\t\tskipTest: opts.skipTest\n\t\t\t\t});\n\t\t\t}\n\t\t}, true);\n\t\tautoModeEnabled = true;\n\t\timgs = 'img'; // reset to a generic selector for watchMQ\n\t}\n\n\t// if requested, watch media queries for object-fit change\n\tif (opts.watchMQ) {\n\t\twindow.addEventListener('resize', fix.bind(null, imgs, {\n\t\t\tskipTest: opts.skipTest\n\t\t}));\n\t}\n}\n\nfix.supportsObjectFit = supportsObjectFit;\nfix.supportsObjectPosition = supportsObjectPosition;\n\nhijackAttributes();\n\nmodule.exports = fix;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","module.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","// `isCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument === 'function';\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","/* Web Font Loader v1.6.28 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(f,25)},function(){e()})}f()}),e=null,f=new Promise(function(a,d){e=setTimeout(d,b.f)});Promise.race([f,d]).then(function(){e&&(clearTimeout(e),e=null);b.g(b.a)},function(){b.j(b.a)})};function Q(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||\"BESbswy\";this.f={};this.w=e||3E3;this.u=f||null;this.m=this.j=this.h=this.g=null;this.g=new M(this.c,this.s);this.h=new M(this.c,this.s);this.j=new M(this.c,this.s);this.m=new M(this.c,this.s);a=new G(this.a.c+\",serif\",J(this.a));a=O(a);this.g.a.style.cssText=a;a=new G(this.a.c+\",sans-serif\",J(this.a));a=O(a);this.h.a.style.cssText=a;a=new G(\"serif\",J(this.a));a=O(a);this.j.a.style.cssText=a;a=new G(\"sans-serif\",J(this.a));a=\nO(a);this.m.a.style.cssText=a;N(this.g);N(this.h);N(this.j);N(this.m)}var R={D:\"serif\",C:\"sans-serif\"},S=null;function T(){if(null===S){var a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent);S=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return S}Q.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f[\"sans-serif\"]=this.m.a.offsetWidth;this.A=q();U(this)};\nfunction la(a,b,c){for(var d in R)if(R.hasOwnProperty(d)&&b===a.f[R[d]]&&c===a.f[R[d]])return!0;return!1}function U(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f[\"sans-serif\"])||(d=T()&&la(a,b,c));d?q()-a.A>=a.w?T()&&la(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):ma(a):V(a,a.v)}function ma(a){setTimeout(p(function(){U(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.m.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.m=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c(\"wf\",a.c,J(a).toString(),\"active\")],[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\"),b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\")]);K(b,\"fontactive\",a);this.m=!0;na(this)};\nW.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c(\"wf\",a.c,J(a).toString(),\"active\")),d=[],e=[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\")];c||d.push(b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\"));w(b.f,d,e)}K(b,\"fontinactive\",a);na(this)};function na(a){0==--a.f&&a.j&&(a.m?(a=a.a,a.g&&w(a.f,[a.a.c(\"wf\",\"active\")],[a.a.c(\"wf\",\"loading\"),a.a.c(\"wf\",\"inactive\")]),K(a,\"active\")):L(a.a))};function oa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}oa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;pa(this,new ha(this.c,a),a)};\nfunction qa(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,m=d||null||{};if(0===c.length&&f)L(b.a);else{b.f+=c.length;f&&(b.j=f);var h,l=[];for(h=0;h= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (argument) {\n if (typeof argument === 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","module.exports = {};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = fn.call(input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","var classof = require('../internals/classof');\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.18.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar has = require('../internals/has');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = has(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var toInteger = require('../internals/to-integer');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.codePointAt` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = constructorRegExp.exec;\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(function () { /* empty */ });\n\nvar isConstructorModern = function (argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(Object, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function (argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n // we can't check .prototype since constructors produced by .bind haven't it\n } return INCORRECT_TO_STRING || !!exec.call(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar has = require('../internals/has');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!has(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var isObject = require('../internals/is-object');\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","(function(window, factory) {\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(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(window, function(window, document, lazySizes) {\n\t'use strict';\n\tif(!window.addEventListener){return;}\n\n\tvar regWhite = /\\s+/g;\n\tvar regSplitSet = /\\s*\\|\\s+|\\s+\\|\\s*/g;\n\tvar regSource = /^(.+?)(?:\\s+\\[\\s*(.+?)\\s*\\])?$/;\n\tvar regBgUrlEscape = /\\(|\\)|'/;\n\tvar allowedBackgroundSize = {contain: 1, cover: 1};\n\tvar proxyWidth = function(elem){\n\t\tvar width = lazySizes.gW(elem, elem.parentNode);\n\n\t\tif(!elem._lazysizesWidth || width > elem._lazysizesWidth){\n\t\t\telem._lazysizesWidth = width;\n\t\t}\n\t\treturn elem._lazysizesWidth;\n\t};\n\tvar getBgSize = function(elem){\n\t\tvar bgSize;\n\n\t\tbgSize = (getComputedStyle(elem) || {getPropertyValue: function(){}}).getPropertyValue('background-size');\n\n\t\tif(!allowedBackgroundSize[bgSize] && allowedBackgroundSize[elem.style.backgroundSize]){\n\t\t\tbgSize = elem.style.backgroundSize;\n\t\t}\n\n\t\treturn bgSize;\n\t};\n\tvar createPicture = function(sets, elem, img){\n\t\tvar picture = document.createElement('picture');\n\t\tvar sizes = elem.getAttribute(lazySizesConfig.sizesAttr);\n\t\tvar ratio = elem.getAttribute('data-ratio');\n\t\tvar optimumx = elem.getAttribute('data-optimumx');\n\n\t\tif(elem._lazybgset && elem._lazybgset.parentNode == elem){\n\t\t\telem.removeChild(elem._lazybgset);\n\t\t}\n\n\t\tObject.defineProperty(img, '_lazybgset', {\n\t\t\tvalue: elem,\n\t\t\twritable: true\n\t\t});\n\t\tObject.defineProperty(elem, '_lazybgset', {\n\t\t\tvalue: picture,\n\t\t\twritable: true\n\t\t});\n\n\t\tsets = sets.replace(regWhite, ' ').split(regSplitSet);\n\n\t\tpicture.style.display = 'none';\n\t\timg.className = lazySizesConfig.lazyClass;\n\n\t\tif(sets.length == 1 && !sizes){\n\t\t\tsizes = 'auto';\n\t\t}\n\n\t\tsets.forEach(function(set){\n\t\t\tvar source = document.createElement('source');\n\n\t\t\tif(sizes && sizes != 'auto'){\n\t\t\t\tsource.setAttribute('sizes', sizes);\n\t\t\t}\n\n\t\t\tif(set.match(regSource)){\n\t\t\t\tsource.setAttribute(lazySizesConfig.srcsetAttr, RegExp.$1);\n\t\t\t\tif(RegExp.$2){\n\t\t\t\t\tsource.setAttribute('media', lazySizesConfig.customMedia[RegExp.$2] || RegExp.$2);\n\t\t\t\t}\n\t\t\t}\n\t\t\tpicture.appendChild(source);\n\t\t});\n\n\t\tif(sizes){\n\t\t\timg.setAttribute(lazySizesConfig.sizesAttr, sizes);\n\t\t\telem.removeAttribute(lazySizesConfig.sizesAttr);\n\t\t\telem.removeAttribute('sizes');\n\t\t}\n\t\tif(optimumx){\n\t\t\timg.setAttribute('data-optimumx', optimumx);\n\t\t}\n\t\tif(ratio) {\n\t\t\timg.setAttribute('data-ratio', ratio);\n\t\t}\n\n\t\tpicture.appendChild(img);\n\n\t\telem.appendChild(picture);\n\t};\n\n\tvar proxyLoad = function(e){\n\t\tif(!e.target._lazybgset){return;}\n\n\t\tvar image = e.target;\n\t\tvar elem = image._lazybgset;\n\t\tvar bg = image.currentSrc || image.src;\n\n\t\tif(bg){\n\t\t\telem.style.backgroundImage = 'url(' + (regBgUrlEscape.test(bg) ? JSON.stringify(bg) : bg ) + ')';\n\t\t}\n\n\t\tif(image._lazybgsetLoading){\n\t\t\tlazySizes.fire(elem, '_lazyloaded', {}, false, true);\n\t\t\tdelete image._lazybgsetLoading;\n\t\t}\n\t};\n\n\taddEventListener('lazybeforeunveil', function(e){\n\t\tvar set, image, elem;\n\n\t\tif(e.defaultPrevented || !(set = e.target.getAttribute('data-bgset'))){return;}\n\n\t\telem = e.target;\n\t\timage = document.createElement('img');\n\n\t\timage.alt = '';\n\n\t\timage._lazybgsetLoading = true;\n\t\te.detail.firesLoad = true;\n\n\t\tcreatePicture(set, elem, image);\n\n\t\tsetTimeout(function(){\n\t\t\tlazySizes.loader.unveil(image);\n\n\t\t\tlazySizes.rAF(function(){\n\t\t\t\tlazySizes.fire(image, '_lazyloaded', {}, true, true);\n\t\t\t\tif(image.complete) {\n\t\t\t\t\tproxyLoad({target: image});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t});\n\n\tdocument.addEventListener('load', proxyLoad, true);\n\n\twindow.addEventListener('lazybeforesizes', function(e){\n\t\tif(e.detail.instance != lazySizes){return;}\n\t\tif(e.target._lazybgset && e.detail.dataAttr){\n\t\t\tvar elem = e.target._lazybgset;\n\t\t\tvar bgSize = getBgSize(elem);\n\n\t\t\tif(allowedBackgroundSize[bgSize]){\n\t\t\t\te.target._lazysizesParentFit = bgSize;\n\n\t\t\t\tlazySizes.rAF(function(){\n\t\t\t\t\te.target.setAttribute('data-parent-fit', bgSize);\n\t\t\t\t\tif(e.target._lazysizesParentFit){\n\t\t\t\t\t\tdelete e.target._lazysizesParentFit;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, true);\n\n\tdocument.documentElement.addEventListener('lazybeforesizes', function(e){\n\t\tif(e.defaultPrevented || !e.target._lazybgset || e.detail.instance != lazySizes){return;}\n\t\te.detail.width = proxyWidth(e.target._lazybgset);\n\t});\n}));\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : isCallable(it);\n};\n","var isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(iteratorMethod.call(argument));\n throw TypeError(String(argument) + ' is not iterable');\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : String(key);\n};\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","(function(window, factory) {\n\tvar lazySizes = factory(window, window.document);\n\twindow.lazySizes = lazySizes;\n\tif(typeof module == 'object' && module.exports){\n\t\tmodule.exports = lazySizes;\n\t}\n}(window, function l(window, document) {\n\t'use strict';\n\t/*jshint eqnull:true */\n\tif(!document.getElementsByClassName){return;}\n\n\tvar lazysizes, lazySizesConfig;\n\n\tvar docElem = document.documentElement;\n\n\tvar Date = window.Date;\n\n\tvar supportPicture = window.HTMLPictureElement;\n\n\tvar _addEventListener = 'addEventListener';\n\n\tvar _getAttribute = 'getAttribute';\n\n\tvar addEventListener = window[_addEventListener];\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 || lazySizesConfig.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 < lazySizesConfig.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 = lazySizesConfig.throttleDelay;\n\t\tvar rICTimeout = lazySizesConfig.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 !== lazySizesConfig.ricTimeout){\n\t\t\t\t\trICTimeout = lazySizesConfig.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\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\tlazySizesConfig = window.lazySizesConfig || window.lazysizesConfig || {};\n\n\t\tfor(prop in lazySizesDefaults){\n\t\t\tif(!(prop in lazySizesConfig)){\n\t\t\t\tlazySizesConfig[prop] = lazySizesDefaults[prop];\n\t\t\t}\n\t\t}\n\n\t\twindow.lazySizesConfig = lazySizesConfig;\n\n\t\tsetTimeout(function(){\n\t\t\tif(lazySizesConfig.init){\n\t\t\t\tinit();\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 = lazySizesConfig.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){\n\n\t\t\t\ti = 0;\n\n\t\t\t\tlowRuns++;\n\n\t\t\t\tdefaultExpand = (!lazySizesConfig.expand || lazySizesConfig.expand < 1) ?\n\t\t\t\t\tdocElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 :\n\t\t\t\t\tlazySizesConfig.expand;\n\n\t\t\t\tlazysizes._defEx = defaultExpand;\n\n\t\t\t\tpreloadExpand = defaultExpand * lazySizesConfig.expFactor;\n\t\t\t\thFac = lazySizesConfig.hFac;\n\t\t\t\tisBodyHidden = null;\n\n\t\t\t\tif(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){\n\t\t\t\t\tcurrentExpand = preloadExpand;\n\t\t\t\t\tlowRuns = 0;\n\t\t\t\t} else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){\n\t\t\t\t\tcurrentExpand = defaultExpand;\n\t\t\t\t} else {\n\t\t\t\t\tcurrentExpand = shrinkExpand;\n\t\t\t\t}\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){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(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(lazySizesConfig.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] || lazySizesConfig.preloadAfterLoad) &&\n\t\t\t\t\t\t(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesConfig.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, lazySizesConfig.loadedClass);\n\t\t\tremoveClass(elem, lazySizesConfig.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](lazySizesConfig.srcsetAttr);\n\n\t\t\tif( (customMedia = lazySizesConfig.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, lazySizesConfig.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](lazySizesConfig.srcsetAttr);\n\t\t\t\tsrc = elem[_getAttribute](lazySizesConfig.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, lazySizesConfig.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, lazySizesConfig.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}, true);\n\t\t});\n\n\t\tvar unveilElement = function (elem){\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](lazySizesConfig.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, lazySizesConfig.errorClass) && hasClass(elem, lazySizesConfig.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 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\t\t\tvar afterScroll = debounce(function(){\n\t\t\t\tlazySizesConfig.loadMode = 3;\n\t\t\t\tthrottledCheckElements();\n\t\t\t});\n\n\t\t\tisCompleted = true;\n\n\t\t\tlazySizesConfig.loadMode = 3;\n\n\t\t\tthrottledCheckElements();\n\n\t\t\taddEventListener('scroll', function(){\n\t\t\t\tif(lazySizesConfig.loadMode == 3){\n\t\t\t\t\tlazySizesConfig.loadMode = 2;\n\t\t\t\t}\n\t\t\t\tafterScroll();\n\t\t\t}, 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(lazySizesConfig.lazyClass);\n\t\t\t\tpreloadElems = document.getElementsByClassName(lazySizesConfig.lazyClass + ' ' + lazySizesConfig.preloadClass);\n\n\t\t\t\taddEventListener('scroll', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('resize', throttledCheckElements, true);\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', 'webkitAnimationEnd'].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};\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(lazySizesConfig.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){\n\t\t\tinit.i = true;\n\t\t\tautoSizer._();\n\t\t\tloader._();\n\t\t}\n\t};\n\n\tlazysizes = {\n\t\tcfg: lazySizesConfig,\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","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = exoticToPrim.call(input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import objectFitImages from 'object-fit-images';\nimport 'core-js/features/array/from';\n\ndocument.addEventListener('lazybeforeunveil', function(e) {\n const target = e.target;\n /**\n * Add class `lazy` to the elenent to enable background lazyloading\n * data-bg=\"img.jpg\" => style=\"background-image: url(img.jpg)\"\n */\n var bg = target.getAttribute('data-bg');\n if (bg) {\n target.style.backgroundImage = 'url(' + bg + ')';\n }\n\n /**\n * Add simple support for lazyloading stuff\n *\n * Add class `lazy` to the element to enable lazyloading\n * Prefix anything with 'data-lazy-' and the suffix will be added as attribute (for example data-lazy-src => src=\"...\")\n */\n const lazyPrefixRegex = /^data-lazy-([-\\w]+)$/;\n\n Array.from(target.attributes).forEach(attr => {\n if (!lazyPrefixRegex.test(attr.name)) {\n return;\n }\n\n let wantedAttr = '';\n attr.name.replace(lazyPrefixRegex, (all, match) => {\n wantedAttr = match;\n });\n\n target.removeAttribute(attr.name);\n target.setAttribute(wantedAttr, attr.value);\n });\n});\n\n/**\n * use data-lazyloaded=\"{classes: { '#test-element': 'test-class'}}\" to append classes to other element when current element is lazyloaded\n */\ndocument.addEventListener('lazyloaded', e => {\n const lazyloaded = e.target.attributes['data-lazyloaded'];\n if(!lazyloaded) {\n return;\n }\n\n let settings = lazyloaded.value;\n\n try {\n settings = JSON.parse(settings);\n } catch(e) {\n return;\n }\n\n // Add classes to elements that are defined in the classes object\n if(settings.classes) {\n Object.keys(settings.classes).forEach(selector => {\n const targetEl = document.querySelector(selector);\n if(!targetEl) {\n return;\n }\n\n targetEl.classList.add(settings.classes[selector]);\n });\n }\n\n\n});\n\n// Run object-fit-images if needed\ndocument.addEventListener('lazyloaded', e => {\n if(e.target.classList.contains('js-object-fit')) {\n objectFitImages(e.target);\n }\n});\n","'use strict'\n\nconst GLOBAL_TESTS_VAR = '__AB_TESTS__'; // Tests are defined in stage, so change if you want to change this, change it there too\n\nimport Cookie from 'js-cookie';\n\n/**\n * Creates new A/B test which sets a cookie, pushes data layer to GA and optionally adds CSS class to html element.\n * All the test results are stored in a variable called 'results'.\n *\n * @example\n * test({\n * 'exampleTestName': [\n * {\n * value: 'true',\n * cssClass: 'ab-test-show-example-test-class'\n * },\n * {\n * value: 'false',\n * cssClass: ''\n * }\n * ]\n * });\n *\n * @param {Object} config\n * {string} config.dataLayerVariable\n * {number} config.expires - Cookie time to live in days\n * {string} config.options[].{}.value - Datalayer value\n * {string} [config.options[].{}.cssClass] - CSS class that is attached to html-element\n * @param {number} [percentageOfUsers] - Controls how many users will get the first variant (e.g. 0 = nobody, 50 = half, 100 = all).\n * When used, there has to be exactly 2 variants.\n * Default percentage is equal between the variants (e.q. 2 variants = 50%, 3 variants = 33% etc.).\n *\n * @return {Object}\n * {string} name - Name of the test\n * {Object} variant - Current variant data\n * {boolean} isNewUser - Was it a new or a returning user\n */\n\nconst results = {};\n\nfunction test(config, percentageOfUsers) {\n const name = config.dataLayerVariable;\n const variants = config.options;\n const expires = config.expires;\n const cookieName = `abTesting_${name}`;\n const currentCookie = String(Cookie.get(cookieName));\n\n let isNewUser = true;\n let currentVariant;\n\n // Check if we can find the cookie with a valid value\n if (currentCookie) {\n for (const variant of variants) {\n if (currentCookie === variant.value) {\n isNewUser = false;\n currentVariant = variant;\n }\n }\n }\n\n // If we couldn't find the cookie, create a new one with generated value\n if (!currentVariant) {\n if (typeof percentageOfUsers === 'number' && variants.length === 2) {\n const randomId = Math.floor(Math.random() * (10 / (percentageOfUsers / 10))) === 0;\n currentVariant = randomId ? variants[0] : variants[1];\n } else {\n const randomId = Math.floor(Math.random() * variants.length);\n currentVariant = variants[randomId];\n }\n\n const params = {};\n if (expires && expires > 0) {\n params.expires = expires;\n }\n\n Cookie.set(cookieName, String(currentVariant.value), params);\n }\n\n // Push data layer\n const dataLayerVar = name;\n const dataLayerObj = {};\n dataLayerObj[dataLayerVar] = currentVariant.value;\n\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(dataLayerObj);\n\n // Add optional css class to html element\n if (currentVariant.cssClass) {\n document.documentElement.classList.add(currentVariant.cssClass);\n }\n\n const result = {\n name: name,\n variant: currentVariant,\n isNewUser: isNewUser\n };\n\n results[name] = result;\n\n return result;\n}\n\nconst setAbVariant = (testName, variant, expires) => {\n const cookieName = `abTest_${testName}`;\n const params = {}\n if (expires && expires > 0) {\n params.expires = expires;\n }\n Cookie.set(cookieName, String(variant), params);\n}\n\nconst runTests = function() {\n\n const items = window[GLOBAL_TESTS_VAR];\n\n if(items && items.length) {\n items.forEach(item => {\n test(item);\n });\n }\n /*\n // Sticky buy button in cart\n test({\n 'PurchaseBtnAB': [\n {\n value: 'sticky',\n cssClass: ''\n },\n {\n value: 'regular',\n cssClass: ''\n }\n ]\n }, isAdmin ? 100 : 20);\n\n test({\n 'landingPageApril2018': [\n {\n value: 'new',\n cssClass: 'new-category-landing'\n },\n {\n value: 'new',\n cssClass: 'new-category-landing'\n },\n ],\n dataLayerVar: 'LandingPageApril2018'\n }, isAdmin ? 100 : 100);*/\n};\n\nconst getCurrentVariant = (testName) => {\n if (results[testName]) {\n return results[testName].variant.value;\n }\n return null;\n}\n\nexport { results, setAbVariant, runTests, getCurrentVariant, test};\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o) {\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = unsupportedIterableToArray(o))) {\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var it,\n normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","/**\n * Try to keep this file light and load it async\n */\n\nwindow.lazySizesConfig = window.lazySizesConfig || {};\nwindow.lazySizesConfig.lazyClass = 'lazy';\nwindow.lazySizesConfig.preloadClass = 'lazy--preload';\nwindow.lazySizesConfig.loadingClass = 'lazy--loading';\nwindow.lazySizesConfig.loadedClass = 'lazy--loaded';\n\nimport WebFont from 'webfontloader'; // Load all your fonts https://github.com/typekit/webfontloader\nimport 'picturefill'; // Picture & srcet polyfill https://github.com/scottjehl/picturefill\nimport './vendor/ls.bgset.js'; // Responsive backgrounds\nimport 'lazysizes'; // Lazyloading for normal and responsive images https://github.com/aFarkas/lazysizes\nimport './modules/lazy-helpers';\n\nimport { runTests } from './modules/ab-testing';\n\nrunTests();\n\nWebFont.load(window.WebFontConfig);\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (key, value) {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n"],"sourceRoot":""}