{"version":3,"file":"apps/Pardot/app/index.js","mappings":"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","sources":["webpack://frontend-starter/webpack/runtime/chunk loaded","webpack://frontend-starter/./apps/PardotForm/pardot.js","webpack://frontend-starter/./apps/PardotForm/index.js","webpack://frontend-starter/./src/scripts/iePolyfills.js","webpack://frontend-starter/./node_modules/picturefill/dist/picturefill.js","webpack://frontend-starter/webpack/bootstrap","webpack://frontend-starter/webpack/runtime/compat get default export","webpack://frontend-starter/webpack/runtime/define property getters","webpack://frontend-starter/webpack/runtime/hasOwnProperty shorthand","webpack://frontend-starter/webpack/runtime/runtimeId","webpack://frontend-starter/webpack/runtime/jsonp chunk loading","webpack://frontend-starter/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","const pardotForm = document.getElementById('pardot-form');\r\nconst pardotInfoForm = document.getElementById('pardot-info');\r\nconst VISIBILITY_HIDDEN_CLASS_NAME = 'do-not-show';\r\n\r\nclass PardotForm {\r\n constructor(noForm) {\r\n this.createPardotLinks();\r\n\r\n if(noForm === 'False') {\r\n this.createForm();\r\n\r\n var whitepaper = document.querySelector('#whitepaper');\r\n if (!whitepaper) {\r\n this.initCountDown();\r\n setInterval(this.initCountDown.bind(this), 60 * 1000);\r\n }\r\n }\r\n }\r\n\r\n createForm() {\r\n const form = document.querySelector('.pardot-register-form');\r\n const infoForm = document.querySelector('.pardot-info-form');\r\n\r\n if (form && pardotForm) {\r\n this.changeDataSrc(form, 'iframe', pardotForm, 'src');\r\n }\r\n if (infoForm && pardotInfoForm){\r\n this.changeDataSrc(infoForm, 'iframe', pardotInfoForm, 'src');\r\n }\r\n}\r\n\r\n createPardotLinks() {\r\n const links = document.querySelectorAll('.pardot-left-links');\r\n const divContainer = document.getElementById('pardot-links');\r\n\r\n\r\n if (links && divContainer) {\r\n links.forEach(el => {\r\n this.changeDataSrc(el, 'a', divContainer, 'href');\r\n });\r\n }\r\n }\r\n\r\n\r\n changeDataSrc(el, tagName, container, attrToSet) {\r\n const linkTags = el.getElementsByTagName(tagName)\r\n ;[].slice.call(linkTags).forEach(tag => {\r\n tag.setAttribute(\r\n attrToSet,\r\n tag.getAttribute('data-src').indexOf('CSC_page=') === -1 ? tag.getAttribute('data-src') + '?CSC_page=' + window.location.pathname : tag.getAttribute('data-src')\r\n );\r\n container.appendChild(tag);\r\n });\r\n }\r\n\r\n addZero(timeUnit) {\r\n if (timeUnit < 10) {\r\n return '0' + timeUnit;\r\n }\r\n return timeUnit;\r\n }\r\n\r\n initCountDown() {\r\n const streamDateTime = Date.parse(\r\n document.getElementById('streamDate').getAttribute('data-val')\r\n );\r\n\r\n const streamDateLocal = new Date(streamDateTime);\r\n\r\n // Show local stream time\r\n const localStreamDateTime = document.getElementById('localStreamTime');\r\n\r\n const dateFormat = {\r\n month: 'long',\r\n day: '2-digit',\r\n year: 'numeric',\r\n };\r\n\r\n if(localStreamDateTime) {\r\n localStreamDateTime.innerHTML = `${streamDateLocal.toLocaleString('en-GB', dateFormat)}`;\r\n }\r\n\r\n const hoursLeft = document.getElementById('hours-left');\r\n const daysLeft = document.getElementById('days-left');\r\n const minsLeft = document.getElementById('mins-left');\r\n\r\n const daysCont = document.getElementById('days');\r\n const minsCont = document.getElementById('minutes');\r\n const daysSep = document.getElementById('days-separator');\r\n const minsSep = document.getElementById('min-separator');\r\n\r\n const now = new Date();\r\n const streamLocalDate = new Date(streamDateLocal);\r\n\r\n if (streamLocalDate.getTime() >= now.getTime()) {\r\n const diff = new Date(streamLocalDate.getTime() - now.getTime());\r\n const days = Math.floor(diff / (1000 * 60 * 60 * 24)); // Gives day count of difference\r\n const hours = diff.getUTCHours();\r\n const minutes = diff.getUTCMinutes();\r\n\r\n if (days === 0) {\r\n daysCont.classList.add(VISIBILITY_HIDDEN_CLASS_NAME);\r\n minsCont.classList.remove(VISIBILITY_HIDDEN_CLASS_NAME);\r\n daysSep.classList.add(VISIBILITY_HIDDEN_CLASS_NAME);\r\n minsSep.classList.remove(VISIBILITY_HIDDEN_CLASS_NAME);\r\n minsLeft.innerText = this.addZero(minutes);\r\n }\r\n\r\n daysLeft.innerText = this.addZero(days);\r\n hoursLeft.innerText = this.addZero(hours);\r\n } else {\r\n\r\n if (daysLeft && hoursLeft && minsLeft) {\r\n daysLeft.innerText = 0;\r\n hoursLeft.innerText = 0;\r\n minsLeft.innerText = 0;\r\n }\r\n\r\n const explanatoryTxt = document.getElementById('ongoing-webinar-txt');\r\n if (explanatoryTxt) {\r\n explanatoryTxt.classList.remove(VISIBILITY_HIDDEN_CLASS_NAME);\r\n }\r\n \r\n //pardotForm.classList.add(VISIBILITY_HIDDEN_CLASS_NAME);\r\n }\r\n }\r\n}\r\n\r\nexport default PardotForm;\r\n","import Pardot from './pardot';\r\nimport IePolyfills from '../../src/scripts/iePolyfills';\r\n\r\nwindow.IePolyfills = new IePolyfills();\r\nwindow.Pardot = Pardot;\r\n\r\n","import picturefill from 'picturefill';\r\nimport objectFitImages from 'object-fit-images';\r\n\r\nclass IePolyfills {\r\n constructor() {\r\n this.init();\r\n }\r\n\r\n init() {\r\n // IE\r\n window.Object.assign === undefined ? window.Object.assign = Object.assign : null;\r\n\r\n if (window.document.documentMode) {\r\n picturefill();\r\n objectFitImages();\r\n }\r\n // missing forEach on NodeList for IE11\r\n if (window.NodeList && !NodeList.prototype.forEach) {\r\n NodeList.prototype.forEach = Array.prototype.forEach;\r\n }\r\n\r\n if (!Array.from) {\r\n Array.from = (function () {\r\n var toStr = Object.prototype.toString;\r\n var isCallable = function (fn) {\r\n return typeof fn === 'function' || toStr.call(fn) === '[object Function]';\r\n };\r\n var toInteger = function (value) {\r\n var number = Number(value);\r\n if (isNaN(number)) { return 0; }\r\n if (number === 0 || !isFinite(number)) { return number; }\r\n return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));\r\n };\r\n var maxSafeInteger = Math.pow(2, 53) - 1;\r\n var toLength = function (value) {\r\n var len = toInteger(value);\r\n return Math.min(Math.max(len, 0), maxSafeInteger);\r\n };\r\n \r\n // The length property of the from method is 1.\r\n return function from(arrayLike/*, mapFn, thisArg */) {\r\n // 1. Let C be the this value.\r\n var C = this;\r\n \r\n // 2. Let items be ToObject(arrayLike).\r\n var items = Object(arrayLike);\r\n \r\n // 3. ReturnIfAbrupt(items).\r\n if (arrayLike == null) {\r\n throw new TypeError(\"Array.from requires an array-like object - not null or undefined\");\r\n }\r\n \r\n // 4. If mapfn is undefined, then let mapping be false.\r\n var mapFn = arguments.length > 1 ? arguments[1] : void undefined;\r\n var T;\r\n if (typeof mapFn !== 'undefined') {\r\n // 5. else\r\n // 5. a If IsCallable(mapfn) is false, throw a TypeError exception.\r\n if (!isCallable(mapFn)) {\r\n throw new TypeError('Array.from: when provided, the second argument must be a function');\r\n }\r\n \r\n // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.\r\n if (arguments.length > 2) {\r\n T = arguments[2];\r\n }\r\n }\r\n \r\n // 10. Let lenValue be Get(items, \"length\").\r\n // 11. Let len be ToLength(lenValue).\r\n var len = toLength(items.length);\r\n \r\n // 13. If IsConstructor(C) is true, then\r\n // 13. a. Let A be the result of calling the [[Construct]] internal method of C with an argument list containing the single item len.\r\n // 14. a. Else, Let A be ArrayCreate(len).\r\n var A = isCallable(C) ? Object(new C(len)) : new Array(len);\r\n \r\n // 16. Let k be 0.\r\n var k = 0;\r\n // 17. Repeat, while k < len… (also steps a - h)\r\n var kValue;\r\n while (k < len) {\r\n kValue = items[k];\r\n if (mapFn) {\r\n A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);\r\n } else {\r\n A[k] = kValue;\r\n }\r\n k += 1;\r\n }\r\n // 18. Let putStatus be Put(A, \"length\", len, true).\r\n A.length = len;\r\n // 20. Return A.\r\n return A;\r\n };\r\n }());\r\n }\r\n }\r\n}\r\n\r\nexport default IePolyfills;\r\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","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.j = 330;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t330: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfrontend_starter\"] = self[\"webpackChunkfrontend_starter\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [736], function() { return __webpack_require__(429); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","pardotForm","document","getElementById","pardotInfoForm","VISIBILITY_HIDDEN_CLASS_NAME","window","IePolyfills","constructor","this","init","toStr","isCallable","maxSafeInteger","toLength","undefined","Object","assign","documentMode","picturefill","objectFitImages","NodeList","prototype","forEach","Array","from","toString","fn","call","Math","pow","value","len","number","Number","isNaN","isFinite","floor","abs","toInteger","min","max","arrayLike","C","items","TypeError","T","mapFn","arguments","length","kValue","A","k","Pardot","noForm","createPardotLinks","createForm","querySelector","initCountDown","setInterval","bind","form","infoForm","changeDataSrc","links","querySelectorAll","divContainer","el","tagName","container","attrToSet","linkTags","getElementsByTagName","slice","tag","setAttribute","getAttribute","indexOf","location","pathname","appendChild","addZero","timeUnit","streamDateTime","Date","parse","streamDateLocal","localStreamDateTime","innerHTML","toLocaleString","month","day","year","hoursLeft","daysLeft","minsLeft","daysCont","minsCont","daysSep","minsSep","now","streamLocalDate","getTime","diff","days","hours","getUTCHours","minutes","getUTCMinutes","classList","add","remove","innerText","explanatoryTxt","timer","dummySrc","fixRespimg","findPictureImgs","onResize","mq","ua","navigator","userAgent","HTMLPictureElement","test","match","RegExp","$1","addEventListener","createElement","img","source","sizes","picture","parentNode","nodeName","toUpperCase","cloneNode","insertBefore","firstElementChild","setTimeout","removeChild","_pfLastSize","offsetWidth","i","imgs","clearTimeout","matchMedia","addListener","srcset","readyState","eminpx","alwaysCheckWDescriptor","evalId","pf","isSupportTestReady","noop","image","getImgAttr","setImgAttr","removeImgAttr","removeAttribute","docElem","documentElement","types","cfg","algorithm","srcAttr","srcsetAttr","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","capture","attachEvent","memoize","cache","input","isSpace","c","regLength","buildStr","image2","width1","isDomReady","func","timeout","timestamp","later","regReady","run","timerId","lastClientWidth","evalCSS","css","args","index","string","replace","toLowerCase","parsedLength","Function","e","setResolution","candidate","sizesattr","w","cWidth","calcListLength","res","d","opt","elements","plen","options","nodeType","context","qsa","reevaluate","reselect","sel","selShort","setupRun","fillImg","teardownRun","ascendingSort","a","b","getCandidateForSrc","src","set","candidates","parseSet","makeUrl","url","console","warn","implementation","hasFeature","ns","substr","supSrcset","supSizes","supPicture","complete","width","onload","onerror","u","setSize","href","matchesMedia","matches","media","mMQ","apply","calcLength","sourceSizeValue","supportsType","type","parseSize","sourceSizeStr","cands","collectCharacters","regEx","chars","exec","substring","pos","descriptors","currentDescriptor","state","inputLength","parseDescriptors","h","desc","lastChar","intVal","floatVal","pError","parseInt","parseFloat","has1x","push","tokenize","charAt","parseSrcset","getEmValue","body","div","originalHTMLCSS","style","cssText","originalBodyCSS","sourceSizeListStr","uT","winningLength","strValue","unparsedSizesList","unparsedSizesListLength","unparsedSize","lastComponentValue","size","s","regexCssLengthWithUnits","regexCssCalc","str","chrctr","component","componentArray","listArray","parenDepth","inComment","pushComponent","pushComponentArray","parseComponentValues","pop","join","parseSizes","setRes","applySetCandidate","j","bestCandidate","curSrc","curCan","candidateSrc","abortCurSrc","lowerValue","higherValue","dprValue","isCached","bonusFactor","bonus","meanDensity","imageData","dpr","sets","setSrcToCur","cached","sort","sqrt","setSrc","origWidth","getSet","parseSets","element","parent","srcsetAttribute","imageSet","isWDescripor","srcsetParsed","hasPicture","pic","sources","getAllSourceElements","supported","parsed","extreme","evaled","srcSetCandidates","matchingSet","evaluated","applyBestCandidate","innerWidth","clientWidth","height","innerHeight","clientHeight","vw","vh","em","rem","fillImgs","last","_","name","shift","module","exports","typeUri","Image","detectTypeSupport","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","m","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","keys","every","key","splice","r","n","getter","__esModule","definition","o","defineProperty","enumerable","get","prop","hasOwnProperty","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}