(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define("sim-captcha", [], factory); else if(typeof exports === 'object') exports["sim-captcha"] = factory(); else root["sim-captcha"] = factory(); })(typeof self !== 'undefined' ? self : this, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/dist/"; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 1); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { eval("/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanM/MTU5ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLGdCQUFnQjtBQUNuRCxJQUFJO0FBQ0o7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGlCQUFpQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksb0JBQW9CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxjQUFjOztBQUVsRTtBQUNBIiwiZmlsZSI6IjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuXHRNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuXHRBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24odXNlU291cmNlTWFwKSB7XG5cdHZhciBsaXN0ID0gW107XG5cblx0Ly8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xuXHRsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG5cdFx0cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG5cdFx0XHR2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKTtcblx0XHRcdGlmKGl0ZW1bMl0pIHtcblx0XHRcdFx0cmV0dXJuIFwiQG1lZGlhIFwiICsgaXRlbVsyXSArIFwie1wiICsgY29udGVudCArIFwifVwiO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fSkuam9pbihcIlwiKTtcblx0fTtcblxuXHQvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuXHRsaXN0LmkgPSBmdW5jdGlvbihtb2R1bGVzLCBtZWRpYVF1ZXJ5KSB7XG5cdFx0aWYodHlwZW9mIG1vZHVsZXMgPT09IFwic3RyaW5nXCIpXG5cdFx0XHRtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG5cdFx0dmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblx0XHRmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGlkID0gdGhpc1tpXVswXTtcblx0XHRcdGlmKHR5cGVvZiBpZCA9PT0gXCJudW1iZXJcIilcblx0XHRcdFx0YWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpZF0gPSB0cnVlO1xuXHRcdH1cblx0XHRmb3IoaSA9IDA7IGkgPCBtb2R1bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaXRlbSA9IG1vZHVsZXNbaV07XG5cdFx0XHQvLyBza2lwIGFscmVhZHkgaW1wb3J0ZWQgbW9kdWxlXG5cdFx0XHQvLyB0aGlzIGltcGxlbWVudGF0aW9uIGlzIG5vdCAxMDAlIHBlcmZlY3QgZm9yIHdlaXJkIG1lZGlhIHF1ZXJ5IGNvbWJpbmF0aW9uc1xuXHRcdFx0Ly8gIHdoZW4gYSBtb2R1bGUgaXMgaW1wb3J0ZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQgbWVkaWEgcXVlcmllcy5cblx0XHRcdC8vICBJIGhvcGUgdGhpcyB3aWxsIG5ldmVyIG9jY3VyIChIZXkgdGhpcyB3YXkgd2UgaGF2ZSBzbWFsbGVyIGJ1bmRsZXMpXG5cdFx0XHRpZih0eXBlb2YgaXRlbVswXSAhPT0gXCJudW1iZXJcIiB8fCAhYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpdGVtWzBdXSkge1xuXHRcdFx0XHRpZihtZWRpYVF1ZXJ5ICYmICFpdGVtWzJdKSB7XG5cdFx0XHRcdFx0aXRlbVsyXSA9IG1lZGlhUXVlcnk7XG5cdFx0XHRcdH0gZWxzZSBpZihtZWRpYVF1ZXJ5KSB7XG5cdFx0XHRcdFx0aXRlbVsyXSA9IFwiKFwiICsgaXRlbVsyXSArIFwiKSBhbmQgKFwiICsgbWVkaWFRdWVyeSArIFwiKVwiO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGxpc3QucHVzaChpdGVtKTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG5cdHJldHVybiBsaXN0O1xufTtcblxuZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApIHtcblx0dmFyIGNvbnRlbnQgPSBpdGVtWzFdIHx8ICcnO1xuXHR2YXIgY3NzTWFwcGluZyA9IGl0ZW1bM107XG5cdGlmICghY3NzTWFwcGluZykge1xuXHRcdHJldHVybiBjb250ZW50O1xuXHR9XG5cblx0aWYgKHVzZVNvdXJjZU1hcCAmJiB0eXBlb2YgYnRvYSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdHZhciBzb3VyY2VNYXBwaW5nID0gdG9Db21tZW50KGNzc01hcHBpbmcpO1xuXHRcdHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG5cdFx0XHRyZXR1cm4gJy8qIyBzb3VyY2VVUkw9JyArIGNzc01hcHBpbmcuc291cmNlUm9vdCArIHNvdXJjZSArICcgKi8nXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gW2NvbnRlbnRdLmNvbmNhdChzb3VyY2VVUkxzKS5jb25jYXQoW3NvdXJjZU1hcHBpbmddKS5qb2luKCdcXG4nKTtcblx0fVxuXG5cdHJldHVybiBbY29udGVudF0uam9pbignXFxuJyk7XG59XG5cbi8vIEFkYXB0ZWQgZnJvbSBjb252ZXJ0LXNvdXJjZS1tYXAgKE1JVClcbmZ1bmN0aW9uIHRvQ29tbWVudChzb3VyY2VNYXApIHtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG5cdHZhciBiYXNlNjQgPSBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpO1xuXHR2YXIgZGF0YSA9ICdzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwnICsgYmFzZTY0O1xuXG5cdHJldHVybiAnLyojICcgKyBkYXRhICsgJyAqLyc7XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1xuLy8gbW9kdWxlIGlkID0gMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///0\n"); /***/ }), /* 1 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__css_sim_captcha_css__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__css_sim_captcha_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__css_sim_captcha_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__js_sim_captcha_js__ = __webpack_require__(6);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"SimCaptcha\", function() { return __WEBPACK_IMPORTED_MODULE_1__js_sim_captcha_js__[\"a\"]; });\n/*\r\n * @Author: yiyun\r\n * @Description:\r\n */\n\n\n\n\nvar VERSION = \"0.1.0\";\nvar GIT_HASH = \"\";\n\nvar callBackbag = {};\n\n/**\r\n * 验证码元素绑定方法。\r\n * @param 绑定的id id\r\n * @param 绑定事件的元素 element\r\n * @param 此元素完成验证之后的回调 afterCallback\r\n * @param 点击执行的样式 btnClickBeforeClass\r\n * @param 点击之后的样式 btnClickAfterClass\r\n */\nfunction captchabind(id, element, afterCallback, btnClickBeforeClass, btnClickAfterClass) {\n if (element == null) {\n return;\n }\n\n id = id.split(\"_\")[1];\n if (id) id = \"_\" + id;else id = \"\";\n\n $(\"#js-btn-verify\" + id).val(\"点击验证\");\n $(\"#js-ticket\" + id).val(null);\n $(\"#js-ticketId\" + id).val(null);\n if ($(\"#js-btn-verify\" + id)[0]) {\n if (btnClickBeforeClass) $(\"#js-btn-verify\" + id)[0].className = btnClickBeforeClass;else $(\"#js-btn-verify\" + id)[0].className = \"btn btn-default\";\n }\n\n if (afterCallback) {\n callBackbag[\"js-btn-verify\" + id] = afterCallback;\n }\n\n // 点击验证\n window.commonSimCaptcha = new __WEBPACK_IMPORTED_MODULE_1__js_sim_captcha_js__[\"a\" /* default */]({\n element: element,\n appId: \"00000000\",\n callback: function callback(res) {\n id = res.currentId.split(\"_\")[1];\n if (id) id = \"_\" + id;else id = \"\";\n // 点触验证码\n if (res.code === 0) {\n var jsbtnverifyid = \"#js-btn-verify\" + id;\n var jsticketId = \"#js-ticket\" + id;\n $(jsbtnverifyid).val(\"验证通过\");\n\n if ($(jsbtnverifyid)[0]) {\n if (btnClickAfterClass) $(jsbtnverifyid)[0].className = btnClickAfterClass;else $(jsbtnverifyid)[0].className = \"btn btn-success\";\n }\n\n $(jsbtnverifyid).prop(\"onclick\", null);\n $(jsticketId).val(res.ticket);\n $(\"#js-ticketId\" + id).val(res.ticketId);\n if ($(\"#captchaticketvalid\")[0]) {\n $(\"#captchaticketvalid\")[0].className = \"field-validation-valid\";\n\n var childNodes = $(\"#captchaticketvalid\")[0].childNodes;\n for (var index = 0; index < childNodes.length; index++) {\n childNodes[index].remove();\n }\n }\n\n if (callBackbag[\"js-btn-verify\" + id]) {\n var cId = res.currentId.split(\"_\")[1];\n if (!cId) cId = \"\";\n callBackbag[\"js-btn-verify\" + id](cId);\n }\n }\n },\n baseUrl: \"/\"\n });\n}\n\n/**\r\n * 注册表单自动提交。\r\n * @param {id} id\r\n */\nfunction registerFormValidator(id) {\n if (!jQuery || !jQuery.validator) {\n return;\n }\n jQuery.validator.addMethod(\"captcha\" + id, function (value, element) {\n if (value) {\n return true;\n }\n\n if (this.errorList.length == 0) {\n var form = $(this.currentForm);\n var button = $(element).parent().find(\"[type=button]\");\n __WEBPACK_IMPORTED_MODULE_1__js_sim_captcha_js__[\"a\" /* default */].SetSuccessCallBack(element.id, function () {\n $(element).parent().hasClass(\"sim-after-auto-sumbit\");\n form.submit();\n });\n\n $(element).parent().addClass(\"sim-after-auto-sumbit\");\n $(button).attr(\"captcha-after\", element.id);\n $(button).click();\n }\n return false;\n }, \"请点击验证!\");\n}\n\n/**\r\n * 普通验证码绑定方式。\r\n * @param 验证之后执行的回调 afterCallback\r\n */\nfunction captchaCallback(afterCallback) {\n captchabind(\"js-btn-verify\", document.getElementById(\"js-btn-verify\"), afterCallback);\n\n registerFormValidator(\"\");\n}\n\n/**\r\n * 验证码动态名加载方法。\r\n * @param 验证过后执行的回调 afterCallback\r\n * @param 刷新验证码时指定的刷新id refreshTargetId\r\n * @param 点击执行的样式 btnClickBeforeClass\r\n * @param 点击之后的样式 btnClickAfterClass\r\n */\nfunction captchaCallbackDynamicName(afterCallback, refreshTargetId, btnClickBeforeClass, btnClickAfterClass) {\n if (!refreshTargetId) {\n var nodes = document.getElementsByName(\"js-btn-verify-name\");\n for (var index = 0; index < nodes.length; index++) {\n var _element = nodes[index];\n var id = _element.id;\n captchabind(id, _element, afterCallback, btnClickBeforeClass, btnClickAfterClass);\n\n registerFormValidator(id);\n }\n } else {\n var id = refreshTargetId;\n var element = document.getElementById(id);\n captchabind(id, element, afterCallback, btnClickBeforeClass, btnClickAfterClass);\n\n refreshTargetId(id);\n }\n}\n\n// 自动弹出验证码并提交\nfunction autoShowCaptcha(element, id) {\n var ele = $(element).parent().parent().find(\"[id=\" + id + \"]\");\n ele.attr(\"captcha-after\", ele.attr(\"id\"));\n __WEBPACK_IMPORTED_MODULE_1__js_sim_captcha_js__[\"a\" /* default */].SetSuccessCallBack(ele.attr(\"id\"), function () {\n element.click();\n });\n ele.click();\n}\n$(function () {\n if (!window.captcha) {\n window.captcha = {};\n }\n\n window.captcha.autoShowCaptcha = autoShowCaptcha;\n window.setCaptchaCallback = captchaCallback;\n window.captchaCallbackDynamicName = captchaCallbackDynamicName;\n captchaCallback();\n captchaCallbackDynamicName();\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi5qcz8zNDc5Il0sIm5hbWVzIjpbIlZFUlNJT04iLCJHSVRfSEFTSCIsImNhbGxCYWNrYmFnIiwiY2FwdGNoYWJpbmQiLCJpZCIsImVsZW1lbnQiLCJhZnRlckNhbGxiYWNrIiwiYnRuQ2xpY2tCZWZvcmVDbGFzcyIsImJ0bkNsaWNrQWZ0ZXJDbGFzcyIsInNwbGl0IiwiJCIsInZhbCIsImNsYXNzTmFtZSIsIndpbmRvdyIsImNvbW1vblNpbUNhcHRjaGEiLCJTaW1DYXB0Y2hhIiwiYXBwSWQiLCJjYWxsYmFjayIsInJlcyIsImN1cnJlbnRJZCIsImNvZGUiLCJqc2J0bnZlcmlmeWlkIiwianN0aWNrZXRJZCIsInByb3AiLCJ0aWNrZXQiLCJ0aWNrZXRJZCIsImNoaWxkTm9kZXMiLCJpbmRleCIsImxlbmd0aCIsInJlbW92ZSIsImNJZCIsImJhc2VVcmwiLCJyZWdpc3RlckZvcm1WYWxpZGF0b3IiLCJqUXVlcnkiLCJ2YWxpZGF0b3IiLCJhZGRNZXRob2QiLCJ2YWx1ZSIsImVycm9yTGlzdCIsImZvcm0iLCJjdXJyZW50Rm9ybSIsImJ1dHRvbiIsInBhcmVudCIsImZpbmQiLCJTZXRTdWNjZXNzQ2FsbEJhY2siLCJoYXNDbGFzcyIsInN1Ym1pdCIsImFkZENsYXNzIiwiYXR0ciIsImNsaWNrIiwiY2FwdGNoYUNhbGxiYWNrIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImNhcHRjaGFDYWxsYmFja0R5bmFtaWNOYW1lIiwicmVmcmVzaFRhcmdldElkIiwibm9kZXMiLCJnZXRFbGVtZW50c0J5TmFtZSIsImF1dG9TaG93Q2FwdGNoYSIsImVsZSIsImNhcHRjaGEiLCJzZXRDYXB0Y2hhQ2FsbGJhY2siXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7OztBQUlBOztBQUVBOztBQUVBLElBQU1BLFVBQVUsT0FBaEI7QUFDQSxJQUFNQyxXQUFXLEVBQWpCOztBQUVBLElBQUlDLGNBQWMs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NEIsa0JBQVgsQ0FBOEJjLElBQUlWLElBQUosQ0FBUyxJQUFULENBQTlCLEVBQThDLFlBQVk7QUFDeEQxQyxZQUFRMkMsS0FBUjtBQUNELEdBRkQ7QUFHQVMsTUFBSVQsS0FBSjtBQUNEO0FBQ0R0QyxFQUFFLFlBQVk7QUFDWixNQUFJLENBQUNHLE9BQU82QyxPQUFaLEVBQXFCO0FBQ25CN0MsV0FBTzZDLE9BQVAsR0FBaUIsRUFBakI7QUFDRDs7QUFFRDdDLFNBQU82QyxPQUFQLENBQWVGLGVBQWYsR0FBaUNBLGVBQWpDO0FBQ0EzQyxTQUFPOEMsa0JBQVAsR0FBNEJWLGVBQTVCO0FBQ0FwQyxTQUFPdUMsMEJBQVAsR0FBb0NBLDBCQUFwQztBQUNBSDtBQUNBRztBQUNELENBVkQiLCJmaWxlIjoiMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBBdXRob3I6IHlpeXVuXHJcbiAqIEBEZXNjcmlwdGlvbjpcclxuICovXHJcbmltcG9ydCBcIi4vY3NzL3NpbS1jYXB0Y2hhLmNzc1wiO1xyXG5cclxuaW1wb3J0IFNpbUNhcHRjaGEgZnJvbSBcIi4vanMvc2ltLWNhcHRjaGEuanNcIjtcclxuXHJcbmNvbnN0IFZFUlNJT04gPSBcIjAuMS4wXCI7XHJcbmNvbnN0IEdJVF9IQVNIID0gXCJcIjtcclxuXHJcbnZhciBjYWxsQmFja2JhZyA9IHt9O1xyXG5cclxuLyoqXHJcbiAqIOmqjOivgeeggeWFg+e0oOe7keWumuaWueazleOAglxyXG4gKiBAcGFyYW0g57uR5a6a55qEaWQgaWRcclxuICogQHBhcmFtIOe7keWumuS6i+S7tueahOWFg+e0oCBlbGVtZW50XHJcbiAqIEBwYXJhbSDmraTlhYPntKDlrozmiJDpqozor4HkuYvlkI7nmoTlm57osIMgYWZ0ZXJDYWxsYmFja1xyXG4gKiBAcGFyYW0g54K55Ye75omn6KGM55qE5qC35byPIGJ0bkNsaWNrQmVmb3JlQ2xhc3NcclxuICogQHBhcmFtIOeCueWHu+S5i+WQjueahOagt+W8jyBidG5DbGlja0FmdGVyQ2xhc3NcclxuICovXHJcbmZ1bmN0aW9uIGNhcHRjaGFiaW5kKFxyXG4gIGlkLFxyXG4gIGVsZW1lbnQsXHJcbiAgYWZ0ZXJDYWxsYmFjayxcclxuICBidG5DbGlja0JlZm9yZUNsYXNzLFxyXG4gIGJ0bkNsaWNrQWZ0ZXJDbGFzc1xyXG4pIHtcclxuICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBpZCA9IGlkLnNwbGl0KFwiX1wiKVsxXTtcclxuICBpZiAoaWQpIGlkID0gXCJfXCIgKyBpZDtcclxuICBlbHNlIGlkID0gXCJcIjtcclxuXHJcbiAgJChcIiNqcy1idG4tdmVyaWZ5XCIgKyBpZCkudmFsKFwi54K55Ye76aqM6K+BXCIpO1xyXG4gICQoXCIjanMtdGlja2V0XCIgKyBpZCkudmFsKG51bGwpO1xyXG4gICQoXCIjanMtdGlja2V0SWRcIiArIGlkKS52YWwobnVsbCk7XHJcbiAgaWYgKCQoXCIjanMtYnRuLXZlcmlmeVwiICsgaWQpWzBdKSB7XHJcbiAgICBpZiAoYnRuQ2xpY2tCZWZvcmVDbGFzcylcclxuICAgICAgJChcIiNqcy1idG4tdmVyaWZ5XCIgKyBpZClbMF0uY2xhc3NOYW1lID0gYnRuQ2xpY2tCZWZvcmVDbGFzcztcclxuICAgIGVsc2UgJChcIiNqcy1idG4tdmVyaWZ5XCIgKyBpZClbMF0uY2xhc3NOYW1lID0gXCJidG4gYnRuLWRlZmF1bHRcIjtcclxuICB9XHJcblxyXG4gIGlmIChhZnRlckNhbGxiYWNrKSB7XHJcbiAgICBjYWxsQmFja2JhZ1tcImpzLWJ0bi12ZXJpZnlcIiArIGlkXSA9IGFmdGVyQ2FsbGJhY2s7XHJcbiAgfVxyXG5cclxuICAvLyDngrnlh7vpqozor4FcclxuICB3aW5kb3cuY29tbW9uU2ltQ2FwdGNoYSA9IG5ldyBTaW1DYXB0Y2hhKHtcclxuICAgIGVsZW1lbnQ6IGVsZW1lbnQsXHJcbiAgICBhcHBJZDogXCIwMDAwMDAwMFwiLFxyXG4gICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgaWQgPSByZXMuY3VycmVudElkLnNwbGl0KFwiX1wiKVsxXTtcclxuICAgICAgaWYgKGlkKSBpZCA9IFwiX1wiICsgaWQ7XHJcbiAgICAgIGVsc2UgaWQgPSBcIlwiO1xyXG4gICAgICAvLyDngrnop6bpqozor4HnoIFcclxuICAgICAgaWYgKHJlcy5jb2RlID09PSAwKSB7XHJcbiAgICAgICAgdmFyIGpzYnRudmVyaWZ5aWQgPSBcIiNqcy1idG4tdmVyaWZ5XCIgKyBpZDtcclxuICAgICAgICB2YXIganN0aWNrZXRJZCA9IFwiI2pzLXRpY2tldFwiICsgaWQ7XHJcbiAgICAgICAgJChqc2J0bnZlcmlmeWlkKS52YWwoXCLpqozor4HpgJrov4dcIik7XHJcblxyXG4gICAgICAgIGlmICgkKGpzYnRudmVyaWZ5aWQpWzBdKSB7XHJcbiAgICAgICAgICBpZiAoYnRuQ2xpY2tBZnRlckNsYXNzKVxyXG4gICAgICAgICAgICAkKGpzYnRudmVyaWZ5aWQpWzBdLmNsYXNzTmFtZSA9IGJ0bkNsaWNrQWZ0ZXJDbGFzcztcclxuICAgICAgICAgIGVsc2UgJChqc2J0bnZlcmlmeWlkKVswXS5jbGFzc05hbWUgPSBcImJ0biBidG4tc3VjY2Vzc1wiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJChqc2J0bnZlcmlmeWlkKS5wcm9wKFwib25jbGlja1wiLCBudWxsKTtcclxuICAgICAgICAkKGpzdGlja2V0SWQpLnZhbChyZXMudGlja2V0KTtcclxuICAgICAgICAkKFwiI2pzLXRpY2tldElkXCIgKyBpZCkudmFsKHJlcy50aWNrZXRJZCk7XHJcbiAgICAgICAgaWYgKCQoXCIjY2FwdGNoYXRpY2tldHZhbGlkXCIpWzBdKSB7XHJcbiAgICAgICAgICAkKFwiI2NhcHRjaGF0aWNrZXR2YWxpZFwiKVswXS5jbGFzc05hbWUgPSBcImZpZWxkLXZhbGlkYXRpb24tdmFsaWRcIjtcclxuXHJcbiAgICAgICAgICB2YXIgY2hpbGROb2RlcyA9ICQoXCIjY2FwdGNoYXRpY2tldHZhbGlkXCIpWzBdLmNoaWxkTm9kZXM7XHJcbiAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY2hpbGROb2Rlcy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICAgICAgY2hpbGROb2Rlc1tpbmRleF0ucmVtb3ZlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2FsbEJhY2tiYWdbXCJqcy1idG4tdmVyaWZ5XCIgKyBpZF0pIHtcclxuICAgICAgICAgIHZhciBjSWQgPSByZXMuY3VycmVudElkLnNwbGl0KFwiX1wiKVsxXTtcclxuICAgICAgICAgIGlmICghY0lkKSBjSWQgPSBcIlwiO1xyXG4gICAgICAgICAgY2FsbEJhY2tiYWdbXCJqcy1idG4tdmVyaWZ5XCIgKyBpZF0oY0lkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBiYXNlVXJsOiBcIi9cIixcclxuICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIOazqOWGjOihqOWNleiHquWKqOaPkOS6pOOAglxyXG4gKiBAcGFyYW0ge2lkfSBpZFxyXG4gKi9cclxuZnVuY3Rpb24gcmVnaXN0ZXJGb3JtVmFsaWRhdG9yKGlkKSB7XHJcbiAgaWYgKCFqUXVlcnkgfHwgIWpRdWVyeS52YWxpZGF0b3IpIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgalF1ZXJ5LnZhbGlkYXRvci5hZGRNZXRob2QoXHJcbiAgICBcImNhcHRjaGFcIiArIGlkLFxyXG4gICAgZnVuY3Rpb24gKHZhbHVlLCBlbGVtZW50KSB7XHJcbiAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5lcnJvckxpc3QubGVuZ3RoID09IDApIHtcclxuICAgICAgICB2YXIgZm9ybSA9ICQodGhpcy5jdXJyZW50Rm9ybSk7XHJcbiAgICAgICAgdmFyIGJ1dHRvbiA9ICQoZWxlbWVudCkucGFyZW50KCkuZmluZChcIlt0eXBlPWJ1dHRvbl1cIik7XHJcbiAgICAgICAgU2ltQ2FwdGNoYS5TZXRTdWNjZXNzQ2FsbEJhY2soZWxlbWVudC5pZCwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgJChlbGVtZW50KS5wYXJlbnQoKS5oYXNDbGFzcyhcInNpbS1hZnRlci1hdXRvLXN1bWJpdFwiKTtcclxuICAgICAgICAgIGZvcm0uc3VibWl0KCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoZWxlbWVudCkucGFyZW50KCkuYWRkQ2xhc3MoXCJzaW0tYWZ0ZXItYXV0by1zdW1iaXRcIik7XHJcbiAgICAgICAgJChidXR0b24pLmF0dHIoXCJjYXB0Y2hhLWFmdGVyXCIsIGVsZW1lbnQuaWQpO1xyXG4gICAgICAgICQoYnV0dG9uKS5jbGljaygpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0sXHJcbiAgICBcIuivt+eCueWHu+mqjOivgSFcIlxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDmma7pgJrpqozor4HnoIHnu5HlrprmlrnlvI/jgIJcclxuICogQHBhcmFtIOmqjOivgeS5i+WQjuaJp+ihjOeahOWbnuiwgyBhZnRlckNhbGxiYWNrXHJcbiAqL1xyXG5mdW5jdGlvbiBjYXB0Y2hhQ2FsbGJhY2soYWZ0ZXJDYWxsYmFjaykge1xyXG4gIGNhcHRjaGFiaW5kKFxyXG4gICAgXCJqcy1idG4tdmVyaWZ5XCIsXHJcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImpzLWJ0bi12ZXJpZnlcIiksXHJcbiAgICBhZnRlckNhbGxiYWNrXHJcbiAgKTtcclxuXHJcbiAgcmVnaXN0ZXJGb3JtVmFsaWRhdG9yKFwiXCIpO1xyXG59XHJcblxyXG4vKipcclxuICog6aqM6K+B56CB5Yqo5oCB5ZCN5Yqg6L295pa55rOV44CCXHJcbiAqIEBwYXJhbSDpqozor4Hov4flkI7miafooYznmoTlm57osIMgYWZ0ZXJDYWxsYmFja1xyXG4gKiBAcGFyYW0g5Yi35paw6aqM6K+B56CB5pe25oyH5a6a55qE5Yi35pawaWQgcmVmcmVzaFRhcmdldElkXHJcbiAqIEBwYXJhbSDngrnlh7vmiafooYznmoTmoLflvI8gYnRuQ2xpY2tCZWZvcmVDbGFzc1xyXG4gKiBAcGFyYW0g54K55Ye75LmL5ZCO55qE5qC35byPIGJ0bkNsaWNrQWZ0ZXJDbGFzc1xyXG4gKi9cclxuZnVuY3Rpb24gY2FwdGNoYUNhbGxiYWNrRHluYW1pY05hbWUoXHJcbiAgYWZ0ZXJDYWxsYmFjayxcclxuICByZWZyZXNoVGFyZ2V0SWQsXHJcbiAgYnRuQ2xpY2tCZWZvcmVDbGFzcyxcclxuICBidG5DbGlja0FmdGVyQ2xhc3NcclxuKSB7XHJcbiAgaWYgKCFyZWZyZXNoVGFyZ2V0SWQpIHtcclxuICAgIHZhciBub2RlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKFwianMtYnRuLXZlcmlmeS1uYW1lXCIpO1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG5vZGVzLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gbm9kZXNbaW5kZXhdO1xyXG4gICAgICB2YXIgaWQgPSBlbGVtZW50LmlkO1xyXG4gICAgICBjYXB0Y2hhYmluZChcclxuICAgICAgICBpZCxcclxuICAgICAgICBlbGVtZW50LFxyXG4gICAgICAgIGFmdGVyQ2FsbGJhY2ssXHJcbiAgICAgICAgYnRuQ2xpY2tCZWZvcmVDbGFzcyxcclxuICAgICAgICBidG5DbGlja0FmdGVyQ2xhc3NcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHJlZ2lzdGVyRm9ybVZhbGlkYXRvcihpZCk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIHZhciBpZCA9IHJlZnJlc2hUYXJnZXRJZDtcclxuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgY2FwdGNoYWJpbmQoXHJcbiAgICAgIGlkLFxyXG4gICAgICBlbGVtZW50LFxyXG4gICAgICBhZnRlckNhbGxiYWNrLFxyXG4gICAgICBidG5DbGlja0JlZm9yZUNsYXNzLFxyXG4gICAgICBidG5DbGlja0FmdGVyQ2xhc3NcclxuICAgICk7XHJcblxyXG4gICAgcmVmcmVzaFRhcmdldElkKGlkKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIOiHquWKqOW8ueWHuumqjOivgeeggeW5tuaPkOS6pFxyXG5mdW5jdGlvbiBhdXRvU2hvd0NhcHRjaGEoZWxlbWVudCwgaWQpIHtcclxuICB2YXIgZWxlID0gJChlbGVtZW50KVxyXG4gICAgLnBhcmVudCgpXHJcbiAgICAucGFyZW50KClcclxuICAgIC5maW5kKFwiW2lkPVwiICsgaWQgKyBcIl1cIik7XHJcbiAgZWxlLmF0dHIoXCJjYXB0Y2hhLWFmdGVyXCIsIGVsZS5hdHRyKFwiaWRcIikpO1xyXG4gIFNpbUNhcHRjaGEuU2V0U3VjY2Vzc0NhbGxCYWNrKGVsZS5hdHRyKFwiaWRcIiksIGZ1bmN0aW9uICgpIHtcclxuICAgIGVsZW1lbnQuY2xpY2soKTtcclxuICB9KTtcclxuICBlbGUuY2xpY2soKTtcclxufVxyXG4kKGZ1bmN0aW9uICgpIHtcclxuICBpZiAoIXdpbmRvdy5jYXB0Y2hhKSB7XHJcbiAgICB3aW5kb3cuY2FwdGNoYSA9IHt9O1xyXG4gIH1cclxuXHJcbiAgd2luZG93LmNhcHRjaGEuYXV0b1Nob3dDYXB0Y2hhID0gYXV0b1Nob3dDYXB0Y2hhO1xyXG4gIHdpbmRvdy5zZXRDYXB0Y2hhQ2FsbGJhY2sgPSBjYXB0Y2hhQ2FsbGJhY2s7XHJcbiAgd2luZG93LmNhcHRjaGFDYWxsYmFja0R5bmFtaWNOYW1lID0gY2FwdGNoYUNhbGxiYWNrRHluYW1pY05hbWU7XHJcbiAgY2FwdGNoYUNhbGxiYWNrKCk7XHJcbiAgY2FwdGNoYUNhbGxiYWNrRHluYW1pY05hbWUoKTtcclxufSk7XHJcbmV4cG9ydCB7IFNpbUNhcHRjaGEgfTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL21haW4uanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///1\n"); /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { eval("var api = __webpack_require__(3);\n var content = __webpack_require__(4);\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.i, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY3NzL3NpbS1jYXB0Y2hhLmNzcz84NTAyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVUsbUJBQU8sQ0FBQyxDQUEyRTtBQUM3RiwwQkFBMEIsbUJBQU8sQ0FBQyxDQUE0RDs7QUFFOUY7O0FBRUE7QUFDQSwwQkFBMEIsUUFBUztBQUNuQzs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOzs7O0FBSUEiLCJmaWxlIjoiMi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBhcGkgPSByZXF1aXJlKFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiKTtcbiAgICAgICAgICAgIHZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi9zaW0tY2FwdGNoYS5jc3NcIik7XG5cbiAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50Ll9fZXNNb2R1bGUgPyBjb250ZW50LmRlZmF1bHQgOiBjb250ZW50O1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbiAgICAgICAgICAgIH1cblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5tb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzIHx8IHt9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Nzcy9zaW0tY2FwdGNoYS5jc3Ncbi8vIG1vZHVsZSBpZCA9IDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///2\n"); /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of