{"version":3,"sources":["modernizer.min.js"],"names":["scriptGlobalObject","window","featureNames","feature","aliasIdx","result","nameIdx","featureNameSplit","featureIdx","tests","ModernizrProto","_version","_config","classPrefix","enableClasses","enableJSClass","usePrefixes","_q","on","test","cb","self","this","setTimeout","addTest","name","fn","options","push","addAsyncTest","Modernizr","classes","prototype","hasOwnProperty","toLowerCase","aliases","length","split","Boolean","join","i","document"],"mappings":"AAyBC,CAAA,SAAUA,EAAoBC,GAE7B,IAoFMC,EACAC,EACAC,EACAC,EACAC,EAEAC,EAEKC,EA5FPC,EAAQ,GASRC,EAAiB,CACnBC,SAAU,SAIVC,QAAS,CACPC,YAAe,GACfC,cAAiB,CAAA,EACjBC,cAAiB,CAAA,EACjBC,YAAe,CAAA,CACjB,EAGAC,GAAI,GAGJC,GAAI,SAASC,EAAMC,GAOjB,IAAIC,EAAOC,KACXC,WAAW,WACTH,EAAGC,EAAKF,EAAK,CACf,EAAG,CAAC,CACN,EAEAK,QAAS,SAASC,EAAMC,EAAIC,GAC1BlB,EAAMmB,KAAK,CAACH,KAAMA,EAAMC,GAAIA,EAAIC,QAASA,CAAO,CAAC,CACnD,EAEAE,aAAc,SAASH,GACrBjB,EAAMmB,KAAK,CAACH,KAAM,KAAMC,GAAIA,CAAE,CAAC,CACjC,CACF,EAKII,EAAY,aASZC,GARJD,EAAUE,UAAYtB,EAItBoB,EAAY,IAAIA,EAIF,IAiCZ,IAAStB,KAqEXsB,EAAUN,QAAQ,UAAW,uBAAwBvB,CAAM,EArElCQ,EACrB,GAAIA,EAAMwB,eAAezB,CAAU,EAAG,CAUpC,GATAN,EAAe,IACfC,EAAUM,EAAMD,IAQJiB,OACVvB,EAAa0B,KAAKzB,EAAQsB,KAAKS,YAAY,CAAC,EAExC/B,EAAQwB,UAAWxB,EAAQwB,QAAQQ,SAAWhC,EAAQwB,QAAQQ,QAAQC,OAExE,IAAKhC,EAAW,EAAGA,EAAWD,EAAQwB,QAAQQ,QAAQC,OAAQhC,CAAQ,GACpEF,EAAa0B,KAAKzB,EAAQwB,QAAQQ,QAAQ/B,GAAU8B,YAAY,CAAC,EASvE,IAHA7B,EAAwB,YA3CrB,OA2CSF,EAAQuB,GAAkBvB,EAAQuB,GAAG,EAAIvB,EAAQuB,GAGxDpB,EAAU,EAAGA,EAAUJ,EAAakC,OAAQ9B,CAAO,GAUtB,KAFhCC,EAPcL,EAAaI,GAOI+B,MAAM,GAAG,GAEnBD,OACnBN,EAAUvB,EAAiB,IAAMF,GAG5ByB,EAAUvB,EAAiB,MAAOuB,CAAAA,EAAUvB,EAAiB,KAASuB,EAAUvB,EAAiB,cAAe+B,WACnHR,EAAUvB,EAAiB,IAAM,IAAI+B,QAAQR,EAAUvB,EAAiB,GAAG,GAG7EuB,EAAUvB,EAAiB,IAAIA,EAAiB,IAAMF,GAGxD0B,EAAQH,MAAMvB,EAAS,GAAK,OAASE,EAAiBgC,KAAK,GAAG,CAAC,CAEnE,CA0BJ,OAAO7B,EAAec,QACtB,OAAOd,EAAemB,aAGtB,IAAK,IAAIW,EAAI,EAAGA,EAAIV,EAAUb,GAAGmB,OAAQI,CAAC,GACxCV,EAAUb,GAAGuB,GAAG,EAIlBxC,EAAmB8B,UAAYA,CAKhC,EAAE7B,OAAQA,OAAQwC,QAAQ","file":"modernizer.min.js","sourcesContent":["/*!\n * modernizr v3.13.0\n * Build https://modernizr.com/download?-test/elem/picture-dontmin\n *\n * Copyright (c)\n * Faruk Ates\n * Paul Irish\n * Alex Sexton\n * Ryan Seddon\n * Patrick Kettner\n * Stu Cox\n * Richard Herrera\n * Veeck\n\n * MIT License\n */\n\n/*\n * Modernizr tests which native CSS3 and HTML5 features are available in the\n * current UA and makes the results available to you in two ways: as properties on\n * a global `Modernizr` object, and as classes on the `` element. This\n * information allows you to progressively enhance your pages with a granular level\n * of control over the experience.\n*/\n\n;(function(scriptGlobalObject, window, document, undefined){\n\n var tests = [];\n \n\n /**\n * ModernizrProto is the constructor for Modernizr\n *\n * @class\n * @access public\n */\n var ModernizrProto = {\n _version: '3.13.0',\n\n // Any settings that don't work as separate modules\n // can go in here as configuration.\n _config: {\n 'classPrefix': '',\n 'enableClasses': true,\n 'enableJSClass': true,\n 'usePrefixes': true\n },\n\n // Queue of tests\n _q: [],\n\n // Stub these for people who are listening\n on: function(test, cb) {\n // I don't really think people should do this, but we can\n // safe guard it a bit.\n // -- NOTE:: this gets WAY overridden in src/addTest for actual async tests.\n // This is in case people listen to synchronous tests. I would leave it out,\n // but the code to *disallow* sync tests in the real version of this\n // function is actually larger than this.\n var self = this;\n setTimeout(function() {\n cb(self[test]);\n }, 0);\n },\n\n addTest: function(name, fn, options) {\n tests.push({name: name, fn: fn, options: options});\n },\n\n addAsyncTest: function(fn) {\n tests.push({name: null, fn: fn});\n }\n };\n\n \n\n // Fake some of Object.create so we can force non test results to be non \"own\" properties.\n var Modernizr = function() {};\n Modernizr.prototype = ModernizrProto;\n\n // Leak modernizr globally when you `require` it rather than force it here.\n // Overwrite name so constructor name is nicer :D\n Modernizr = new Modernizr();\n\n \n\n var classes = [];\n \n\n /**\n * is returns a boolean if the typeof an obj is exactly type.\n *\n * @access private\n * @function is\n * @param {*} obj - A thing we want to check the type of\n * @param {string} type - A string to compare the typeof against\n * @returns {boolean} true if the typeof the first parameter is exactly the specified type, false otherwise\n */\n function is(obj, type) {\n return typeof obj === type;\n }\n\n ;\n\n /**\n * Run through all tests and detect their support in the current UA.\n *\n * @access private\n * @returns {void}\n */\n function testRunner() {\n var featureNames;\n var feature;\n var aliasIdx;\n var result;\n var nameIdx;\n var featureName;\n var featureNameSplit;\n\n for (var featureIdx in tests) {\n if (tests.hasOwnProperty(featureIdx)) {\n featureNames = [];\n feature = tests[featureIdx];\n // run the test, throw the return value into the Modernizr,\n // then based on that boolean, define an appropriate className\n // and push it into an array of classes we'll join later.\n //\n // If there is no name, it's an 'async' test that is run,\n // but not directly added to the object. That should\n // be done with a post-run addTest call.\n if (feature.name) {\n featureNames.push(feature.name.toLowerCase());\n\n if (feature.options && feature.options.aliases && feature.options.aliases.length) {\n // Add all the aliases into the names list\n for (aliasIdx = 0; aliasIdx < feature.options.aliases.length; aliasIdx++) {\n featureNames.push(feature.options.aliases[aliasIdx].toLowerCase());\n }\n }\n }\n\n // Run the test, or use the raw value if it's not a function\n result = is(feature.fn, 'function') ? feature.fn() : feature.fn;\n\n // Set each of the names on the Modernizr object\n for (nameIdx = 0; nameIdx < featureNames.length; nameIdx++) {\n featureName = featureNames[nameIdx];\n // Support dot properties as sub tests. We don't do checking to make sure\n // that the implied parent tests have been added. You must call them in\n // order (either in the test, or make the parent test a dependency).\n //\n // Cap it to TWO to make the logic simple and because who needs that kind of subtesting\n // hashtag famous last words\n featureNameSplit = featureName.split('.');\n\n if (featureNameSplit.length === 1) {\n Modernizr[featureNameSplit[0]] = result;\n } else {\n // cast to a Boolean, if not one already or if it doesnt exist yet (like inputtypes)\n if (!Modernizr[featureNameSplit[0]] || Modernizr[featureNameSplit[0]] && !(Modernizr[featureNameSplit[0]] instanceof Boolean)) {\n Modernizr[featureNameSplit[0]] = new Boolean(Modernizr[featureNameSplit[0]]);\n }\n\n Modernizr[featureNameSplit[0]][featureNameSplit[1]] = result;\n }\n\n classes.push((result ? '' : 'no-') + featureNameSplit.join('-'));\n }\n }\n }\n }\n ;\n/*!\n{\n \"name\": \"picture Element\",\n \"property\": \"picture\",\n \"tags\": [\"elem\"],\n \"authors\": [\"Scott Jehl\", \"Mat Marquis\"],\n \"notes\": [{\n \"name\": \"WHATWG Spec\",\n \"href\": \"https://html.spec.whatwg.org/multipage/embedded-content.html#embedded-content\"\n }, {\n \"name\": \"Relevant spec issue\",\n \"href\": \"https://github.com/ResponsiveImagesCG/picture-element/issues/87\"\n }]\n}\n!*/\n\n Modernizr.addTest('picture', 'HTMLPictureElement' in window);\n\n\n // Run each test\n testRunner();\n\n delete ModernizrProto.addTest;\n delete ModernizrProto.addAsyncTest;\n\n // Run the things that are supposed to run after the tests\n for (var i = 0; i < Modernizr._q.length; i++) {\n Modernizr._q[i]();\n }\n\n // Leak Modernizr namespace\n scriptGlobalObject.Modernizr = Modernizr;\n\n\n;\n\n})(window, window, document);\n"],"sourceRoot":"/source/"}